The following limits apply account-wide across all eShipz API endpoints, including Create Shipment, Get Shipment, and Tracking Fetch:
Threshold: 300 API requests per minute.
Scope: Applied per IP address.
Monitoring: High-traffic endpoints are monitored in real-time. Automated throttling is triggered immediately upon exceeding these thresholds to protect system resources.
To maintain efficiency and stay within limits, we strongly recommend Batch Processing. This practice aligns with industry standards for high-volume logistics APIs.
Capacity: You can group up to 50 AWBs per single API call using the Get Shipment or Tracking Fetch endpoints.
Performance: Utilizing batch parameters can reduce latency by up to 90% compared to sequential individual requests.
Best Practice: Avoid single AWB calls for bulk operations. Using batch parameters as documented in the API reference significantly reduces unnecessary server load.
If your application exceeds the 300-call-per-minute limit, the server will return an HTTP 429 "Too Many Requests" status code.
Sample JSON Response:
{
"error": "rate_limit_exceeded",
"message": "Too many requests. Please optimize calls (e.g., batch 50 AWBs) and retry after 60 seconds."
}Recommended Recovery Steps:
Retry-After Header: Always check the Retry-After header in the response to determine the mandatory wait time before the next request.
Exponential Backoff: Implement an exponential backoff algorithm in your client-side code to manage retries gracefully and avoid immediate re-throttling.