# Storefront API Overview The Storefront GraphQL API enables you to build custom storefronts, integrate with third-party services, and access your Finqu store data programmatically. It is designed for flexibility, performance, and ease of use, supporting authenticated customer experiences and a wide range of commerce scenarios. ## Key Features - **Customer Authentication:** The API supports customer authentication, allowing you to build secure customer accounts and personalized shopping experiences. Authenticated requests access customer-specific data like orders, addresses, and preferences. - **GraphQL Interface:** Query only the data you need and perform powerful mutations to manage store resources, carts, and customer accounts. - **Cursor-Based Pagination:** Efficiently navigate large datasets using industry-standard cursor-based pagination. - **Structured Error Handling:** Receive clear, actionable error messages for both queries and mutations, including detailed userErrors for mutation input issues. - **Fair Rate Limits:** Generous rate limits based on query complexity, designed to prevent abuse while supporting normal usage. Exceeding the limit results in a 429 status code and a structured error response. ## Authentication The Storefront API requires an API key for all requests. Additionally, the API supports customer authentication for personalized experiences: - **API Key Authentication:** All requests require a valid API key in the `Authorization` header. API keys can be obtained from Channel settings in the Finqu admin area (keys are prefixed with `fq_`). - **Customer Authentication:** Authenticate customers to access personalized data, manage carts, and complete purchases. - **Access Tokens:** Use customer access tokens to make authenticated customer requests. [Learn about Authentication →](./authentication) ## How to Use 1. **Get your API key** from Channel settings in the Finqu admin area. 2. **Choose your API version** using the selector above to access the correct documentation and endpoints. 3. **Explore the documentation** for authentication, error handling, pagination, and rate limits to understand best practices and API behavior. 4. **Start building** by sending GraphQL queries and mutations to your store's API endpoint with your API key in the `Authorization` header. 5. **Implement customer authentication** for customer-specific features and personalized experiences. > For more details, see the sections on Authentication, Error Handling, Pagination, and Rate Limits in the sidebar. ## Building Storefronts The Storefront API is designed for building custom storefronts. Use it with: - **Nexus Theme** - Our official Next.js storefront theme - **Storefront SDK** - High-level SDK for common operations - **Storefront Library** - Low-level GraphQL client - **CLI Commands** - Storefront development tools [Learn about Building Storefronts →](/build-with-finqu/storefront/overview) If you have questions or need support, please contact our support team.