generated: '2026-08-14' method: searched source: https://doc.enrich.so/rate-limits-1951030m0 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: Enrich providerId: enrich-so created: '2026-07-11' modified: '2026-08-14' reconciled: true limit_count: 18 tags: - Data Enrichment - Contact Discovery - Web Intelligence - Rate Limiting - Quotas - Throttling description: >- Enrich enforces global per-account rate limits that scale with your plan, expressed as a burst limit (requests per second) and a sustained limit (requests per minute averaged over a 60 second window). Enrichment and bulk endpoints carry tighter per-endpoint overrides than the global limit. Every response returns X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers; exceeding a limit returns HTTP 429 with a Retry-After header. The tier values below are captured from the Enrich rate-limits documentation and should be reconciled against the live docs, which control. notes: >- RECONCILED 2026-08-14 against https://doc.enrich.so/rate-limits-1951030m0, which publishes the full per-plan table plus two endpoint-category overrides with real numbers — those overrides were previously recorded only as "stricter than global" and are now itemised below. The three X-RateLimit-* headers and Retry-After are additionally confirmed as declared response headers on 66 and 50 operations respectively in the OpenAPI fragments Enrich publishes on its endpoint pages. Note the header naming is the legacy X-prefixed form, not the IETF RateLimit-Limit/Remaining/Reset fields, and X-RateLimit-Reset carries SECONDS UNTIL RESET rather than a UNIX timestamp. sources: - https://doc.enrich.so/rate-limits-1951030m0 responseCodes: throttled: 429 headers: - X-RateLimit-Limit - X-RateLimit-Remaining - X-RateLimit-Reset - Retry-After limits: - name: Free - Burst scope: account metric: requests_per_second limit: 5 notes: Short-spike burst limit on the Free plan. - name: Free - Sustained scope: account metric: requests_per_minute limit: 60 notes: Sustained throughput on the Free plan; enrichment endpoints capped lower (~10 rpm). - name: Growth - Burst scope: account metric: requests_per_second limit: 25 notes: Burst limit on the Growth plan. - name: Growth - Sustained scope: account metric: requests_per_minute limit: 300 notes: Sustained throughput on the Growth plan. - name: Scale - Burst scope: account metric: requests_per_second limit: 50 notes: Burst limit on the Scale plan. - name: Scale - Sustained scope: account metric: requests_per_minute limit: 1000 notes: Sustained throughput on the Scale plan. - name: Pro - Burst scope: account metric: requests_per_second limit: 100 notes: Burst limit on the Pro plan. - name: Pro - Sustained scope: account metric: requests_per_minute limit: 5000 notes: Sustained throughput on the Pro plan. - name: Enterprise - Burst scope: account metric: requests_per_second limit: 200 notes: Burst limit on the Enterprise plan. - name: Enterprise - Sustained scope: account metric: requests_per_minute limit: 10000 notes: Sustained throughput on the Enterprise plan. - name: Free - Enrichment Endpoints scope: endpoint metric: requests_per_minute limit: 10 applies_to: 'POST:/api/enrich/*' notes: Enrichment endpoints are capped at 10 rpm on Free versus the 60 rpm global sustained limit. - name: Growth - Enrichment Endpoints scope: endpoint metric: requests_per_minute limit: 100 applies_to: 'POST:/api/enrich/*' - name: Scale - Enrichment Endpoints scope: endpoint metric: requests_per_minute limit: 500 applies_to: 'POST:/api/enrich/*' - name: Pro - Enrichment Endpoints scope: endpoint metric: requests_per_minute limit: 2000 applies_to: 'POST:/api/enrich/*' - name: Free - Bulk Submit scope: endpoint metric: requests_per_second limit: 1 sustained_per_minute: 2 applies_to: 'POST:/api/bulk/*' notes: The tightest limit in the API. One bulk submit per second, two per minute. - name: Growth - Bulk Submit scope: endpoint metric: requests_per_second limit: 3 sustained_per_minute: 10 applies_to: 'POST:/api/bulk/*' - name: Scale - Bulk Submit scope: endpoint metric: requests_per_second limit: 5 sustained_per_minute: 20 applies_to: 'POST:/api/bulk/*' - name: Pro - Bulk Submit scope: endpoint metric: requests_per_second limit: 10 sustained_per_minute: 50 applies_to: 'POST:/api/bulk/*' headerSemantics: - header: X-RateLimit-Limit meaning: Maximum requests allowed in the current window. - header: X-RateLimit-Remaining meaning: Requests remaining in the current window. Pace against this rather than waiting for the 429. - header: X-RateLimit-Reset meaning: SECONDS until the window resets. Not a UNIX timestamp. - header: Retry-After meaning: Seconds to wait before retrying, returned on 429. scope: >- Limits are applied per ORGANIZATION (the team behind the API key), not per key. Issuing additional keys does not buy additional throughput — it only separates cost attribution. policies: - name: Enterprise Exemption description: Enterprise plans have no endpoint-specific overrides; the global limits apply. - name: Tiered Limits description: Burst and sustained limits increase from Free through Growth, Scale, Pro, and Enterprise plans. - name: Backoff Strategy description: On 429, honor the Retry-After header and implement exponential backoff with jitter. - name: Rate Limit Headers description: Read X-RateLimit-Remaining and X-RateLimit-Reset to pace client throughput proactively. maintainers: - FN: Kin Lane email: kin@apievangelist.com