Skip to main content

Rate limits

Each partner has a daily request budget, shared by its credentials. Some endpoints have their own, tighter limit as well.

The default limit

A partner can make 5000 requests a day across all endpoints. Endpoints that need no token are limited per IP address instead, except the health check, which isn't limited. Contact us if your integration needs more: a partner can be given its own limit, and the X-RateLimit-Limit header on every answer shows the one that applies to you.

When you exceed a limit

You get 429 Too Many Requests, with a Retry-After header giving the seconds to wait. Back off for at least that long before retrying.

Limits by endpoint

Read from each endpoint's own throttles. Where two limits are listed, both apply.

EndpointLimits
POST /oauth/token/ 20 per hour per IP address
GET /products/ 5,000 per day
POST /products/ 5,000 per day
GET /products/{gtin}/ 5,000 per day
GET /facilities/verify/ 5,000 per day
GET /parties/ 5,000 per day
PATCH /parties/{id}/ 5,000 per day
GET /batches/ 5,000 per day
GET /batches/{gtin}/{batch_number}/ 5,000 per day
GET /batches/{gtin}/{batch_number}/tree/ 5,000 per day
GET /batches/{gtin}/{batch_number}/orphans/ 5,000 per day
GET /batches/{gtin}/{batch_number}/epcis/ 5,000 per day
GET /lots/ 5,000 per day
GET /lots/{gtin}/{batch_number}/ 5,000 per day
PATCH /lots/{gtin}/{batch_number}/ 5,000 per day
POST /events/ 5,000 per day
GET /events/{id}/upstream/ 5,000 per day
POST /events/bulk/ 10 per hour
GET /events/bulk/{job_id}/ 5,000 per day
GET /receipts/incoming/ 5,000 per day
POST /receipts/ 5,000 per day
GET /consignments/ 5,000 per day
GET /consignments/{number}/ 5,000 per day
GET /purchase-orders/ 5,000 per day
GET /purchase-orders/{id}/ 5,000 per day
POST /purchase-orders/{id}/confirm/ 5,000 per day
POST /purchase-orders/{id}/reject/ 5,000 per day
POST /purchase-orders/{id}/delivery/ 5,000 per day
GET /units/ 5,000 per day
GET /units/{gtin}/{serial}/ 5,000 per day
POST /aggregations/ 5,000 per day
GET /aggregations/{sscc}/ 5,000 per day; 500 per day
POST /aggregations/{sscc}/disaggregate/ 5,000 per day
GET /packing-authorizations/ 5,000 per day
POST /packing-authorizations/ 5,000 per day
DELETE /packing-authorizations/{id}/ 5,000 per day
GET /recalls/ 5,000 per day
POST /recalls/ 5,000 per day; 20 per day
POST /recalls/drill/ 5,000 per day
GET /recalls/{id}/ 5,000 per day
GET /recalls/{id}/tree/ 5,000 per day
GET /recalls/{id}/affected/ 5,000 per day
GET /recalls/{id}/affected/{facility_schema}/units/ 5,000 per day
POST /recalls/{id}/acknowledge/ 5,000 per day
GET /recalls/{id}/report/ 5,000 per day
GET /recall-lookup/{gtin}/{batch_number}/ 60 per hour per IP address
POST /capture/code/
POST /capture/receive/
GET /webhooks/ 5,000 per day
POST /webhooks/ 5,000 per day
DELETE /webhooks/{id}/ 5,000 per day
GET /webhooks/{id}/deliveries/ 5,000 per day
POST /webhooks/{id}/test/ 5,000 per day
GET /version/ 60 per hour per IP address
GET /health/

Partner API v1. The API reference is generated from the API's own code.