Shopify Order API : New pagination method returns same page_info and gives duplicate results

Topic summary

A developer is experiencing issues with Shopify’s cursor-based pagination when fetching orders via the Admin API (version 2021-10). Despite the order count API returning 2,657 total results, the pagination is malfunctioning.

Core Problem:

  • The page_info parameter in the Link header is repeating across requests
  • This causes duplicate results to be returned instead of advancing to the next page
  • Expected 11 pages of results (at 250 orders per page) are not being properly traversed

Technical Context:

  • Using the Link header’s rel="next" to navigate pages
  • Query parameters include date filters (created_at_min, created_at_max) and status=all
  • Multiple developers report encountering the same issue

Current Status:
One responder references Shopify’s pagination documentation, noting that when only a “previous” link appears in the response header (without a “next” link), it indicates the last page has been reached. The issue remains unresolved with no official Shopify response provided.

Summarized with AI on November 14. AI used: claude-sonnet-4-5-20250929.

Dear Shopify team,

I am currently using order api for admin/api/2021-10/orders.json. I am using latest pagination method, which gives Link in response header. So I am taking next page based on rel=“next” in Link from response header.

Using admin/api/2021-10/orders/count.json, I am getting 2657 results. So I am getting 11 pages. Following links are generated:

https://myshop.myshopify.com/admin/api/2021-10/orders.json?status=all&created_at_min=2009-12-31 23:00:00&created_at_max=2022-07-23 00:00:00&limit=250

https://myshop.myshopify.com/admin/api/2021-10/orders.json?limit=250&page_info=eyJzdGF0dXMiOiJhbGwiLCJjcmVhdGVkX2F0X21pbiI6IjIwMDktMTItMzEgMjM6MDA6MDAgVVRDIiwiY3JlYXRlZF9hdF9tYXgiOiIyMDIyLTA3LTIzIDAwOjAwOjAwIFVUQyIsImxhc3RfaWQiOjM2NjA5MTc4NjY1MzIsImxhc3RfdmFsdWUiOiIyMDIxLTAzLTExIDE1OjM0OjA0LjEyNDQ2OCIsImRpcmVjdGlvbiI6Im5leHQifQ

https://myshop.myshopify.com/admin/api/2021-10/orders.json?limit=250&page_info=eyJkaXJlY3Rpb24iOiJwcmV2Iiwic3RhdHVzIjoiYWxsIiwiY3JlYXRlZF9hdF9taW4iOiIyMDA5LTEyLTMxIDIzOjAwOjAwIFVUQyIsImNyZWF0ZWRfYXRfbWF4IjoiMjAyMi0wNy0yMyAwMDowMDowMCBVVEMiLCJsYXN0X2lkIjozNjUzMjY4OTk2MTMyLCJsYXN0X3ZhbHVlIjoiMjAyMS0wMy0wNiAxMzo0NDoxNy42MTE4MTkifQ

https://myshop.myshopify.com/admin/api/2021-10/orders.json?limit=250&page_info=eyJkaXJlY3Rpb24iOiJuZXh0Iiwic3RhdHVzIjoiYWxsIiwiY3JlYXRlZF9hdF9taW4iOiIyMDA5LTEyLTMxIDIzOjAwOjAwIFVUQyIsImNyZWF0ZWRfYXRfbWF4IjoiMjAyMi0wNy0yMyAwMDowMDowMCBVVEMiLCJsYXN0X2lkIjozNjYwOTE3ODY2NTMyLCJsYXN0X3ZhbHVlIjoiMjAyMS0wMy0xMSAxNTozNDowNC4xMjQ0NjgifQ

https://myshop.myshopify.com/admin/api/2021-10/orders.json?limit=250&page_info=eyJkaXJlY3Rpb24iOiJwcmV2Iiwic3RhdHVzIjoiYWxsIiwiY3JlYXRlZF9hdF9taW4iOiIyMDA5LTEyLTMxIDIzOjAwOjAwIFVUQyIsImNyZWF0ZWRfYXRfbWF4IjoiMjAyMi0wNy0yMyAwMDowMDowMCBVVEMiLCJsYXN0X2lkIjozNjUzMjY4OTk2MTMyLCJsYXN0X3ZhbHVlIjoiMjAyMS0wMy0wNiAxMzo0NDoxNy42MTE4MTkifQ

https://myshop.myshopify.com/admin/api/2021-10/orders.json?limit=250&page_info=eyJkaXJlY3Rpb24iOiJuZXh0Iiwic3RhdHVzIjoiYWxsIiwiY3JlYXRlZF9hdF9taW4iOiIyMDA5LTEyLTMxIDIzOjAwOjAwIFVUQyIsImNyZWF0ZWRfYXRfbWF4IjoiMjAyMi0wNy0yMyAwMDowMDowMCBVVEMiLCJsYXN0X2lkIjozNjYwOTE3ODY2NTMyLCJsYXN0X3ZhbHVlIjoiMjAyMS0wMy0xMSAxNTozNDowNC4xMjQ0NjgifQ

https://myshop.myshopify.com/admin/api/2021-10/orders.json?limit=250&page_info=eyJkaXJlY3Rpb24iOiJwcmV2Iiwic3RhdHVzIjoiYWxsIiwiY3JlYXRlZF9hdF9taW4iOiIyMDA5LTEyLTMxIDIzOjAwOjAwIFVUQyIsImNyZWF0ZWRfYXRfbWF4IjoiMjAyMi0wNy0yMyAwMDowMDowMCBVVEMiLCJsYXN0X2lkIjozNjUzMjY4OTk2MTMyLCJsYXN0X3ZhbHVlIjoiMjAyMS0wMy0wNiAxMzo0NDoxNy42MTE4MTkifQ

https://myshop.myshopify.com/admin/api/2021-10/orders.json?limit=250&page_info=eyJkaXJlY3Rpb24iOiJuZXh0Iiwic3RhdHVzIjoiYWxsIiwiY3JlYXRlZF9hdF9taW4iOiIyMDA5LTEyLTMxIDIzOjAwOjAwIFVUQyIsImNyZWF0ZWRfYXRfbWF4IjoiMjAyMi0wNy0yMyAwMDowMDowMCBVVEMiLCJsYXN0X2lkIjozNjYwOTE3ODY2NTMyLCJsYXN0X3ZhbHVlIjoiMjAyMS0wMy0xMSAxNTozNDowNC4xMjQ0NjgifQ

https://myshop.myshopify.com/admin/api/2021-10/orders.json?limit=250&page_info=eyJkaXJlY3Rpb24iOiJwcmV2Iiwic3RhdHVzIjoiYWxsIiwiY3JlYXRlZF9hdF9taW4iOiIyMDA5LTEyLTMxIDIzOjAwOjAwIFVUQyIsImNyZWF0ZWRfYXRfbWF4IjoiMjAyMi0wNy0yMyAwMDowMDowMCBVVEMiLCJsYXN0X2lkIjozNjUzMjY4OTk2MTMyLCJsYXN0X3ZhbHVlIjoiMjAyMS0wMy0wNiAxMzo0NDoxNy42MTE4MTkifQ

https://myshop.myshopify.com/admin/api/2021-10/orders.json?limit=250&page_info=eyJkaXJlY3Rpb24iOiJuZXh0Iiwic3RhdHVzIjoiYWxsIiwiY3JlYXRlZF9hdF9taW4iOiIyMDA5LTEyLTMxIDIzOjAwOjAwIFVUQyIsImNyZWF0ZWRfYXRfbWF4IjoiMjAyMi0wNy0yMyAwMDowMDowMCBVVEMiLCJsYXN0X2lkIjozNjYwOTE3ODY2NTMyLCJsYXN0X3ZhbHVlIjoiMjAyMS0wMy0xMSAxNTozNDowNC4xMjQ0NjgifQ

https://myshop.myshopify.com/admin/api/2021-10/orders.json?limit=250&page_info=eyJkaXJlY3Rpb24iOiJwcmV2Iiwic3RhdHVzIjoiYWxsIiwiY3JlYXRlZF9hdF9taW4iOiIyMDA5LTEyLTMxIDIzOjAwOjAwIFVUQyIsImNyZWF0ZWRfYXRfbWF4IjoiMjAyMi0wNy0yMyAwMDowMDowMCBVVEMiLCJsYXN0X2lkIjozNjUzMjY4OTk2MTMyLCJsYXN0X3ZhbHVlIjoiMjAyMS0wMy0wNiAxMzo0NDoxNy42MTE4MTkifQ

If you can check page_info in query string, it shows duplicate random string in few of the urls.

Using these links, I am getting only 250 unique results, rest results are duplicated.

Can anyone tell me, what is going wrong here?

1 Like

I am getting the same issue

The response header includes a link to the previous page of results and a link to the next page,

ex:

Link: "

if response header only includes a link to the previous page, then you've reached the last page of results.

ref: [pagination-rest#supported-endpoints](https://shopify.dev/docs/api/usage/pagination-rest#supported-endpoints)
1 Like