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: Bureau of Transportation Statistics providerId: bureau-of-transportation-statistics generated: '2026-09-05' created: '2026-05-04' modified: '2026-09-05' method: searched source: >- https://dev.socrata.com/docs/app-tokens.html and https://dev.socrata.com/docs/response-codes.html — the platform documentation data.bts.gov's own portal links as its Documentation property — plus live responses from https://data.bts.gov and https://geodata.bts.gov observed 2026-09-05 limit_count: 0 description: >- NO NUMERIC RATE LIMIT IS PUBLISHED ANYWHERE. BTS states none, and the platform documentation deliberately states none either: requests carrying an application token are "not throttled ... unless those requests are determined to be abusive or malicious", and requests without a token "come from a shared pool via IP address" where "IP addresses that make too many requests during a given period may be subject to throttling". No number, no window, no burst. What IS documented is the exhaustion signal: HTTP 429. limit_count is 0 because there is no published limit to count, not because none is enforced. policy: anonymous: pool: shared-per-ip limit: null window: null note: Subject to throttling at an unpublished threshold. with_app_token: pool: per-token limit: null window: null note: >- Not throttled except for abuse. Register free at https://data.bts.gov/profile/edit/developer_settings; send X-App-Token on every request (or $$app_token as a query parameter). headers: observed: [] note: >- No RateLimit-*, X-RateLimit-* or Retry-After header appeared on any live BTS response observed 2026-09-05 (headers present were ETag, Last-Modified, X-Socrata-RequestId, X-Socrata-Region, Strict-Transport-Security, Access-Control-Allow-Origin). An agent therefore has NO forward-looking budget signal — it learns it is over the line only by receiving a 429. Back off exponentially and honour the robots.txt Crawl-delay: 1 on data.bts.gov and Crawl-delay: 60 on geodata.bts.gov. responseCodes: throttled: 429 quotaExceeded: 429 serviceUnavailable: 500 crawl_delay: - {host: data.bts.gov, source: https://data.bts.gov/robots.txt, seconds: 1} - {host: geodata.bts.gov, source: https://geodata.bts.gov/robots.txt, seconds: 60} result_size_limits: - {api: SODA, param: $limit, default: 1000, max: 50000, source: openapi/bureau-of-transportation-statistics-resource-api-openapi.yml} limits: [] supersedes: note: >- This file replaces a 2026-05-04 bulk-sweep scaffold that asserted a free tier of 10 requests/minute with a burst of 20 and a full set of X-RateLimit-* response headers. None of those numbers or headers exists on this API; all are removed. See roadmap#35.