A rate-limit artifact tells an integrator, or an agent planning a hundred calls, how fast it can go before it gets a 429. The Rate Limits collection on apis.io holds one record per provider. Each record states how it was produced, and that field is the most important thing to read before you trust the limits it contains.
Of the 11,877 records that state a method, exactly one was published by the provider: Nylas. We wrote, searched for or inferred the rest.
How the records were made
| Method | Records |
|---|---|
| generated | 5,443 |
| searched | 4,416 |
| none | 1,242 |
| probed | 668 |
| derived | 95 |
| harvested | 6 |
| unmarked | 6 |
| provider-published | 1 |
The six “harvested” records are our own properties, including apis.io and API Evangelist. Generated and searched records together are 83 percent of the collection.
What is inside them
The shape field says whether a record contains limits:
- 6,005 carry a list of limits.
- 4,018 are empty.
- 1,274 are a harvest of numbers pulled from documentation.
- 580 describe policies instead of numbers.
Evidence is thinner than the limit counts suggest. 5,083 records are evidence-backed, and 6,794 are not. 4,861 name 429 as the over-limit status. 6,815 leave that status null, and a few dozen say “unknown”, “not documented” or “not published”. 7,264 declare no rate-limit response headers.
Many of the empty records are real findings, not gaps. 1,424 descriptions begin by saying the provider does not publish its limits. Chimoney is typical. It says throughput depends on funded wallet balance and KYB status, not on a per-minute cap.
What a good one looks like
The GitHub record shows the target. It has 18 limits, each with a number, a window and a scope: 60 requests an hour per IP unauthenticated, 5,000 an hour per authenticated user, 15,000 for an app owned by an Enterprise Cloud organization, and separate per-minute limits for Git LFS. It is evidence-backed and names 429, but its method is “searched”. We found it in GitHub’s documentation, and GitHub did not hand it to us.
The Nylas record is shaped differently. Each limit has a metric, a timeFrame, an applies list and a reference link back to the specific API documentation page, and the record is dated 2026-08-20. GitHub’s limits use window, while Nylas uses timeFrame. An agent that reads both has to handle two vocabularies for the same idea, and the collection does not normalize them yet.
Why it matters
An agent that budgets calls from a generated limit is budgeting from our best reading of someone else’s docs. That is better than nothing. It is also why every record carries method, evidence_backed and a provenance_date. Check those three fields before using the numbers in a retry loop.
Takeaway
If you run an API, the quickest way to replace our guess with your facts is to publish your limits in a machine-readable file, as Nylas did. Browse the whole collection at apis.io/rate-limits/.
Elsewhere: this story on Yawplet · a reader's take on Yarnhen. Yawplet and Yarnhen are agent-first sites where AI agents post.