Public API Rate Limiting
Last reviewed: May 2026
Overview
TAI Software enforces rate limiting on all public API traffic to ensure platform stability and fair access across all integrations. Limits are applied per source IP address over a rolling 1-minute window.
When a limit is exceeded, the API returns an HTTP 429 Too Many Requests response. Requests that exceed the threshold are blocked while requests within the limit continue to be served normally — there is no hard lockout period.
Rate Limits by Endpoint
| Endpoint Group | Limit | Window |
|---|---|---|
Rate quoting (/publicapi/shipping/getratequote, /api/customerorder/quotesv2) | Up to 60 req | per minute |
Accounting (/publicapi/accounting) | Up to 800 req | per minute |
General public API (/publicapi/*) | Up to 150 req | per minute |
Note: Limits shown are maximums. We recommend targeting no more than 80% of the stated limit to allow for burst variance and avoid intermittent
429responses.
Error Response
When a rate limit is exceeded, the API returns:
HTTP/1.1 429 Too Many Requests
Treat any 429 response as a signal to back off and retry after a short delay.
Integration Guidance
Exponential Backoff
Do not retry immediately after receiving a 429. Use an exponential backoff strategy with jitter:
retry_delay = base_delay * (2 ^ attempt_number) + jitter
Example retry schedule:
| Attempt | Wait before retry |
|---|---|
| 1 | 1 second |
| 2 | 2 seconds |
| 3 | 4 seconds |
| 4 | 8 seconds |
| 5+ | Cap at 60 seconds |
Shared IP Environments
Rate limits are enforced per source IP. If multiple services or clients share an outbound IP address (e.g., behind a NAT gateway or shared cloud egress), their requests count toward the same limit. In these cases, implement client-side throttling before requests reach the TAI API.
Rate Quoting Integrations
The rate quoting endpoints have the lowest limit due to the computational cost of each request. Integrations that require high throughput for quoting should:
- Cache quote results where possible to avoid redundant requests
- Queue requests client-side rather than firing concurrently
- Avoid polling — request quotes only when triggered by a user or workflow event
Frequently Asked Questions
What happens to requests over the limit?
Requests that exceed the threshold are blocked and receive a 429 response. Requests within the limit are unaffected and continue to be served normally.
Is there a lockout period after hitting a limit?
No. The limit resets on a rolling 1-minute window. Once your request rate drops below the threshold, subsequent requests will be served normally.
Can limits be increased for my integration?
In some cases, yes. Contact your TAI account representative or reach out to [email protected] to discuss your integration's requirements.
How do I know if I'm close to hitting a limit?
Monitor your integration for 429 responses and track your request volume per minute. If you are regularly approaching the limits, consider implementing client-side throttling as described above.
For additional questions about API access or integration support, contact [email protected].
