GraphQL API
Query exactly the data you need with the Cartly GraphQL Storefront API.
Example Queries
query {
products(page: 1, limit: 10) {
edges {
id
title
slug
basePrice
images
variants {
id
sku
price
available
}
}
pageInfo {
page
pages
hasNextPage
}
}
}Identifying the Store
Send X-Shop-ID with your Store ID — the shop UUID shown in the admin under Settings → Store Information. Your store slug (my-store) or its storefront host (my-store.mycartly.pro) are accepted too; the Store ID stays the canonical value. You can also send it as the shop_id query parameter.
A missing or malformed value answers 400. An unknown store slug or host answers 404. Both carry a message that says what to send.
Rate Limits
Mutations are limited to 30 per minute per shop and client IP; over the limit a mutation returns a GraphQL error with extensions.code = "RATE_LIMITED". Every request, queries included, also counts toward the API-wide per-IP limit, which answers 429 Too Many Requests with Retry-After (see the X-RateLimit-Limit / X-RateLimit-Remaining headers).
Prices (basePrice, price, subtotal) are integers in the shop currency's minor units (cents). Lists are paginated with page / limit; pageInfo carries total, pages and hasNextPage.