API Limits & Best Practices
Trackly SMS does not impose API rate limits. The platform is built for high-volume sending and supports up to 50 million messages per minute across its infrastructure. Send as fast as your integration can push.Payload Limits
| Limit | Value | Response |
|---|---|---|
| Maximum request payload | 5 MB | 413 Payload Too Large |
| Individual contact payload | 4,000 bytes | 413 payload_too_large |
Batch Limits
Bulk endpoints accept up to 1,000 records per request. Each record is processed individually — partial success is possible.| Operation | Single Endpoint | Bulk Endpoint | Max per Request |
|---|---|---|---|
| Send messages | POST /v2/send | POST /v2/send/bulk | 1,000 |
| Create contacts | POST /v2/contacts | POST /v2/contacts/bulk | 1,000 |
| Record revenue | POST /v2/revenue | POST /v2/revenue/bulk | 1,000 |
| Import history | — | POST /v2/history/import | 1,000 |
Best Practices
Use Bulk Endpoints
Buffer messages locally and send in bulk batches. Sending 1,000 messages in a single bulk request is more efficient than 1,000 individual requests — fewer round trips, lower latency, and less overhead on both sides.Handle Transient Errors
Use exponential backoff with jitter when you receive5xx errors. These are transient and resolve on retry.
Handle Partial Failures
Bulk responses include per-record errors. Parse theerrors array to identify and retry failed items without re-sending the entire batch.
Parallelize Across Batches
Since there are no rate limits, you can send multiple bulk requests concurrently. Split large sends into 1,000-message batches and dispatch them in parallel for maximum throughput.Next Steps
Error Codes
Handle errors in your integration
Send Bulk
Send up to 1,000 messages per request