REST API Order Endpoint via Private app not returning all orders

Topic summary

Private app pulling Shopify REST API data into a SQL database only returned ~30 days of orders from the Orders endpoint, despite expectations that private apps can access all historical orders. Older orders appeared only when their financial status was partially refunded, refunded, or pending, creating confusion about whether a setting or restriction was involved.

Resolution: the issue was due to the default Orders endpoint behavior, not private app limits. By default, the endpoint returns only “open” orders; adding the query parameter “&status=any” returns orders of any status (including older ones). The discussion ends with this fix and no remaining open questions.

Summarized with AI on February 26. AI used: gpt-5.2.

I have setup a “private” app for [mystore].myshopify.com. To start with I’m using that private app to pull order and product data using the Shopify REST API into a sql database for a custom application I am developing. Everything is working perfectly except I’m only getting 30 days of orders from the Orders endpoint. All the documentation I have reviewed stated that private apps automatically do not have any restrictions on pulling all orders, so I’m not sure what the issue is. I am getting some orders beyond the 30 days, but they are only the orders that have a financial status of “partially refunded” or “refunded” or “pending.” Any assistance on a setting I am missing or something I am doing incorrectly would be appreciated.

I found the following post that resolved my issue:

https://community.shopify.com/post/806275

By default the Orders endpoint only returns “open” orders. You have to specify a “&status=any” parameter as part of the endpoint.