x-cmd/ratelimit — overview
A reference for API rate limits and quota caps across the services the team uses most. Designed for engineers who already know what rate limiting is and just want the parameters — see the per-vendor articles for deep dives, or jump straight to data/{vendor}.yaml for the machine- readable version.
This page is the one-page summary. The articles below go deeper on how the data is structured, what each vendor's rate-limit story looks like, and how to handle rate limits in client code (backoff, header parsing, fallback strategies).
What this repo is
- Quick reference for engineers. You came here to look up "Cloudflare's per-user API quota" or "GitHub's secondary rate-limit triggers". The structured data is under
data/{vendor}.yaml; per-vendor articles are underdocs/. - Refreshable from upstream. Each YAML carries a
verifiedflag and adocs_sourceURL. A future workflow job will re-pull official docs on a schedule, diff against the YAML, and open a PR when upstream numbers move. - Two-license. Code, prose, scripts under Apache 2.0 (
LICENSE). The data tables underdata/under CC-BY-4.0 (LICENSE-data) — attribution required, commercial use OK.
Vendors covered
| Vendor | Surface | Status | Article |
|---|---|---|---|
| GitHub | REST + GraphQL + Actions + secondary + 5 download strategies (release / HTML / archive / raw / CDN) | verified 2024-11 | 2-github |
| Cloudflare | REST API + per-product HTTP caps | unverified | 3-cloudflare |
| 阿里云 (Aliyun) | OpenAPI per-product QPS | unverified | 4-aliyun |
| 腾讯云 (Tencent Cloud) | Cloud API 3.0 | unverified | 5-tencent |
| Vercel | Function / Edge + REST API | unverified | 6-vercel |
| BandwagonHost | VPS-level caps | unverified | 7-bandwagonhost |
| Cross-vendor | HTTP rate-limit headers, backoff | n/a | 1-rate-limit-headers-cheatsheet |
How to consume
Direct YAML lookup
The data is the source of truth, in YAML.
# Cloudflare per-user REST API quota
yq '.plans[].api_rate_limit' data/cloudflare.yaml
# GitHub REST authenticated quota
yq '.plans[] | select(.name == "Authenticated via PAT (REST)") | .api_rate_limit' data/github.yaml
# All vendors' header conventions at a glance
yq '.header_conventions' data/*.yamlyq is convenient but not required; YAML parses fine with Python, Ruby, or awk.
Per-vendor article deep dive
Each vendor has its own article covering practical patterns specific to that vendor (header semantics, error code conventions, gotchas):
2-github— REST + GraphQL + Actions- Search + secondary rate limits, header semantics.
3-cloudflare— REST quota,cf-mitigatedvs 429 distinction.4-aliyun— open API per-user QPS, theThrottling.*error code scheme.5-tencent— Cloud API 3.0,X-RateLimit-*headers,DescribeApiRateLimit.6-vercel— Function / Edge Function quotas, REST API 1 RPS default, RFC 9745 headers.7-bandwagonhost— VPS port 25 block, bandwidth caps, connection limits.1-rate-limit-headers-cheatsheet— HTTP-rate-limit header conventions across vendors, with cross-reference back to per-vendor articles.
Verification status
Until the CI scraper is built, every YAML carries a verified flag. github.yaml is verified (2024-11); the rest are verified: false and pending the first scraper run. The team manually cross-checks before flipping the flag.
Where to read next
RATELIMIT-RESEARCH.md— working notes, including what the team has verified vs. what's still pending.SKILL.md— AI-agent recipes.CONTRIBUTING.md— how to contribute a new vendor or correct an existing entry.
Sources
This article references the per-vendor sources listed in each of articles 1–7. Cross-vendor standards:
- IETF RFC 9745 (RateLimit-* header draft, finalized 2024): https://datatracker.ietf.org/doc/rfc9745/
- RFC 6585 (Retry-After origin): https://datatracker.ietf.org/doc/html/rfc6585