{
  "id": 10659970,
  "title": "Shopify products.json Pagination: 250 Limit and the 25,000 Cap",
  "url": "https://urgent.news/2026/09/29/shopify-products-json-pagination-250-limit-and-the-25-000-cap",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-29T09:36:56.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/odeeb/shopify-productsjson-pagination-250-limit-and-the-25000-cap-1g37"
  },
  "original_language": "en",
  "account": "Shopify s storefront API allows paginated retrieval of products via the /products.json endpoint. Each page can contain up to 250 products, with pagination controlled by the page number parameter. If more than 25,000 products exist, pagination stops once the page * limit exceeds 25,000, returning an HTTP 400 error. The API does not paginate by cursor, so an empty products array signals the end of results.\n\nEach product object includes its ID, title, handle, and other standard fields like vendor, type, tags, variants, images, and variants. Variant details such as ID, title, options, SKU, shipping information, and pricing are also included within the variant array for each product. Notably, product price and stock status are stored within the variant object, not the product itself.\n\nThe API endpoint is accessible without authentication, but a store owner's access token is required for programmatic access. Unlike the authenticated Admin API, which uses HTTP headers for pagination and includes a total count and cursor, the public storefront API relies on page numbers. An empty products array is the sole indication that all products have been retrieved.",
  "summary": "To paginate a Shopify store's public /products.json , request ?limit=250&page=1 , then page=2 , and so on until the response is {\"products\":[]} . 250 is the most products you can get per page. Asking for more is silently clamped to 250, and leaving limit out gives you 30. Pagination also stops at 25,000 products: once page × limit goes past 25,000, the store returns HTTP 400 \"Page * Limit exceeds…",
  "key_points": [
    "Shopify storefront API paginates products via /products.json endpoint",
    "Each page limited to 250 products, stops at 25,000 limit",
    "Empty products array signals end of results"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}