Rate Limits
Transparent throughput tiers support public, academic, and commercial workloads with clear boundaries.
Rate limits are published per API key and tied to the user’s account tier: public (non-commercial), academic, and commercial. Public users receive a baseline rate limit, while academic users receive higher limits—details are published per account tier. Commercial licenses negotiate custom limits based on anticipated usage volume. Limits are calculated using a sliding window of the last 60 seconds, with burst tolerance of up to 110% of the base rate. Exceeding limits returns a 429 status and a Retry-After header indicating seconds until the next available slot.
Usage metrics are surfaced in response headers: X-RateLimit-Limit (requests allowed), X-RateLimit-Remaining (requests left), and X-RateLimit-Reset (Unix timestamp of reset). Developers can monitor their consumption in real time or via daily summary reports available in the dashboard. Requests that fail due to rate limits do not count toward usage or affect daily quotas. During planned maintenance windows, service outages are communicated in advance with alternative endpoints or temporary limit increases where possible.
Large data export jobs should use the asynchronous batch export feature instead of direct API calls. This feature queues requests and notifies users via email or webhook once processing completes, preventing timeouts and ensuring reliability. The rate limit system is separate from the batch queue, ensuring interactive queries are not blocked by background jobs. All rate limit policies comply with Census Bureau redistribution requirements and legal restrictions on bulk data use.


