▸ Free tool
Shopify Rate Limit Planner.
How fast can your app sync products, orders or customers? Pick the API and plan, enter the cost of one request, and see the time, the bottleneck and a safe batch size and concurrency.
▸ Limits checked October 4, 2026
Plan limits come from shopify.dev. The GraphQL bucket size is an estimate until you paste a real response.
Picking a plan fills in the rate and bucket below.
Fills in cost, restore rate and bucket from extensions.cost. Not saved in the share link.
Time to sync
0 s
- Requests
- 0
- Requests / s
- 0
- Records / s
- 0
- Run at once from a full bucket
- 0
- Suggested concurrency
- 1
- Largest batch under 1,000 points
- 250
No fixed limit
The Storefront API has no points or requests limit for real buyer traffic. Shopify scales it with your shoppers.
- ▸ Bots are rate limited. Verified bots can get more.
- ▸ Checkout creation is throttled per minute and can answer "Throttled".
- ▸ Tokenless requests have a query complexity limit of 1,000.
- ▸ Do not use it to sync data. Use the Admin API or bulk operations.
Live as you type · runs in your browser
Plan limits.
From shopify.dev, checked October 4, 2026. Picking a plan above fills in these numbers for the API you chose.
| Plan | GraphQL points/s | REST req/s |
|---|---|---|
| Standard | 100 | 2 |
| Advanced | 200 | 4 |
| Shopify Plus | 1,000 | 20 |
| Enterprise (Commerce Components) | 2,000 | 40 |
How the planner works
Call the restore rate R, the bucket B, the requested and actual cost of one request q and a, the response time L, the number of requests in flight C and the number of requests n.
- Rate limit: at most
R / arequests a second once the bucket is empty. - Your client: at most
C / Lrequests a second. - Time: the larger of
(n × a - (B - q)) / Randceil(n / C) × L. The first part lets a full bucket absorb the start. - Suggested concurrency:
ceil(R / a × L), just enough to keep the bucket busy. More only gets you throttled.
Worked example: Shopify Plus, 1,000 points a second, a bucket of 20,000, 100,000 products at 250 per request, each request costing 252 points, 0.5 s response time and 4 requests at once. That is 400 requests and 100,800 points. A full bucket covers 19,748 of them, so the rest takes 81,052 / 1,000 = 81 s. Four requests at 0.5 s each could do it in 50 s, so the rate limit is the bottleneck, and 2 requests at once would be enough. 100,000 is over the 25,000 pagination cap, so a bulk operation is the better choice here.
REST works the same way with requests instead of points: every request costs 1, and the bucket is counted in requests. This is a steady state estimate. Real costs change from page to page, so measure a few requests, use their average actual cost and leave some headroom. Back off for 1 second when you get throttled, as Shopify recommends.
Sources, checked October 4, 2026: GraphQL Admin rate limits, REST Admin rate limits, Storefront API, API limits.
Questions, answered
What are the Shopify GraphQL Admin API rate limits?
The GraphQL Admin API uses a leaky bucket of cost points per app and store. It refills at 100 points a second on Standard plans, 200 on Advanced, 1,000 on Shopify Plus and 2,000 on Enterprise (Commerce Components). One query can never ask for more than 1,000 points, whatever the plan. Limits are per app and store, so two apps on one store do not share a bucket.
What is the difference between requested and actual cost?
Requested cost is what Shopify works out from your query before it runs, mostly from the first or last size of each connection. The bucket must hold that much before the query starts. Actual cost is what the query really used, often lower because a page came back with fewer items. Shopify refunds the difference afterwards. Both numbers are in extensions.cost on every response.
How big is the GraphQL bucket?
Shopify lists the refill rate per plan, not the bucket size. Your real bucket size is throttleStatus.maximumAvailable in the response. The planner starts at 20 times the refill rate, the same ratio as the example response in Shopify's docs, and you can paste a response to fill in your real numbers.
What are the REST Admin API limits?
The REST Admin API counts requests, not points: 2 a second on Standard, 4 on Advanced, 20 on Plus and 40 on Enterprise, with a bucket of 40 requests (400 on Plus). The X-Shopify-Shop-Api-Call-Limit header shows how full the bucket is. REST is legacy since October 1, 2024, so new apps should use GraphQL.
Does the Storefront API have a rate limit?
Not for normal buyer traffic. Shopify scales the Storefront API with real shoppers, so there is no fixed points or requests limit to plan around. Bots are limited, checkout creation is throttled per minute, and requests without a token have a query complexity limit of 1,000. If you need to move lots of data, use the Admin API instead.
When should I use bulk operations instead?
When you read more than about 25,000 objects, since Shopify pagination stops there, or when the plan above says the sync takes long. Bulk operations run on Shopify's side, have no cost or rate limits, and give you a JSONL file at the end. The planner warns you when your record count passes that line. Nothing you enter here is sent anywhere.
▸ Last verified:
Need this in production?
Building on Shopify Plus? I build custom apps, webhook pipelines and agent-ready storefronts.
Shopify Plus Apps
Keep reading
-
▸ Tool
Shopify GID Decoder
Turn the gid:// IDs from GraphQL into numeric IDs and back.
-
▸ Tool
Shopify Webhook HMAC Verifier
Check webhook signatures for the sync jobs this plan feeds.
-
▸ Post
Rate limiting vs throttling
The leaky bucket idea behind these limits, in plain words.
-
▸ Post
How agentic commerce changes building on Shopify
Why API budgets matter more when agents call your store.