Documentation

Everything you need to integrate the Lingua translation API.

Rate limits & usage

API pricing is a hybrid: a monthly subscription with a generous included character volume, plus per-character overage once you exceed it. Rate limits scale with the plan. Full pricing on the pricing page.

PlanIncluded / monthOverageRate limit
Developer50K characters$0.020 / 1K2 req/s
Growth2M characters$0.012 / 1K10 req/s
Scale15M characters$0.008 / 1K50 req/s
EnterpriseCustomVolume pricingCustom

How characters are counted

  • Metering counts the characters of the input text (Unicode code points), per request. The response includes the billed count in characters.
  • GET /v1/languages and failed requests (4xx/5xx) are never billed.
  • Included volume resets on your billing date. Unused characters don't roll over.
  • Overage can be disabled per account β€” requests beyond the included volume then return 402 quota_exceeded instead of billing.
  • Batches (POST /v1/translate/batch) are metered as the sum of their items' input lengths. Each item is recorded separately, so dashboard counts are translations, not HTTP requests.
  • With overage disabled, a batch whose total exceeds your included remaining is rejected up front with 402 quota_exceeded β€” read X-Usage-Included-Remaining and split the batch. Single requests are only rejected once the included volume is fully spent.

Rate limit headers

Every response includes your current standing:

X-RateLimit-Limit: 10
X-RateLimit-Remaining: 7
X-RateLimit-Reset: 1783316466
X-Usage-Included-Remaining: 1863400

On 429, honor Retry-After and use exponential backoff with jitter.

A POST /v1/translate/batch call counts as one request against the per-second limit, regardless of how many items it carries β€” batching is the way to move many strings on a low-RPS plan.