specification: API Commons Rate Limits specificationVersion: '0.1' schema: https://raw.githubusercontent.com/api-evangelist/interface-research/main/schema/api-commons.yml#/$defs/RateLimits provider: Jina AI providerId: jina-ai created: '2026-05-04' # Provenance stamped 2026-08-11: this artifact was written by the API Evangelist # bulk sweep dated 2026-05-04, not harvested from the provider. See roadmap#35. method: generated modified: '2026-05-05' reconciled: true tags: - Rate Limiting - AI - Embeddings - LLM description: Jina AI applies per-API-key rate limits across three tiers (Free, Paid, Premium). Limits are enforced as RPM (requests per minute), TPM (tokens per minute), and concurrent in-flight requests and apply uniformly across all Search Foundation services (Embeddings, Reranker, Reader, Classifier, Segmenter, DeepSearch). Tier is determined by token balance / billing status on the key. sources: - https://jina.ai/embeddings/ - https://jina.ai/api-dashboard/ - https://api.jina.ai/redoc headers: retryAfter: Retry-After responseCodes: throttled: 429 quotaExceeded: 402 limits: - name: Free API Key — RPM scope: api-key metric: requests_per_minute limit: 100 timeFrame: minute - name: Free API Key — TPM scope: api-key metric: tokens_per_minute limit: 100000 timeFrame: minute - name: Free API Key — concurrency scope: api-key metric: concurrent_requests limit: 2 - name: Paid API Key — RPM scope: api-key metric: requests_per_minute limit: 500 timeFrame: minute - name: Paid API Key — TPM scope: api-key metric: tokens_per_minute limit: 2000000 timeFrame: minute - name: Paid API Key — concurrency scope: api-key metric: concurrent_requests limit: 50 - name: Premium API Key — RPM scope: api-key metric: requests_per_minute limit: 5000 timeFrame: minute - name: Premium API Key — TPM scope: api-key metric: tokens_per_minute limit: 50000000 timeFrame: minute - name: Premium API Key — concurrency scope: api-key metric: concurrent_requests limit: 500 policies: - name: Tier upgrade description: Tier (Free / Paid / Premium) is determined by token balance / billing status on the API key; topping up tokens promotes the key to a higher tier with higher RPM, TPM, and concurrency. - name: Backoff description: Honor Retry-After on 429 and back off exponentially with jitter. - name: Token exhaustion description: When the token balance reaches zero the API returns 402 Payment Required; top up via Stripe in the API Dashboard. - name: Shared across services description: Rate-limit and concurrency caps apply across all Jina services on the same key, not per-endpoint. maintainers: - FN: API Evangelist email: info@apievangelist.com