How we verify
Methodology
“Free” is not a category. It is a claim, and this is what we require before we publish one. Everything below is a rule the system enforces, not a description of good intentions.
The evidence hierarchy
Every factual claim carries a source, and sources are ranked. A figure read from a live endpoint outranks a figure read from a provider’s documentation, which outranks a dated announcement, which outranks a social post, which outranks a third-party write-up or a community report.
- Live API — a public models, quota or JSON endpoint. Strongest, because it cannot quietly disagree with reality.
- Official documentation — the provider’s own stated limits and terms.
- Official event page — a published pool or promotion, including its start date and size.
- Official announcement — a dated blog post or changelog entry.
- Official social — an account belonging to the provider.
- Secondary source — reputable third-party reporting. Can discover an offer; cannot verify it.
- Community discovery — what a reader told us. Enters the review queue, never the live list.
Numbers are never invented
Every important numeric field stores its value, its source URL, when it was observed, and its evidence level. If a provider does not publish a limit, we show “not publicly stated”. We do not substitute a zero, we do not infer a rate limit from observed behaviour, and we do not carry a figure across from a different tier or a different region.
Units are reproduced exactly as published. A pool quoted in weighted tokens is labelled weighted tokens, not tokens. Requests, tokens, credits, dollars, neurons and GPU-seconds are never converted into one another, because the conversion is not ours to make.
One claim, one primary status
Every offer carries exactly one status: upcoming, live, changed, ending, exhausted, ended, suspended or unverified. Access type is tracked separately, because an offer can be a shared pool that is also rate limited and also requires a card. Collapsing those into a single “free” badge would hide the only information anyone actually needs.
A failed source is not a withdrawn offer
This is the rule we hold most firmly. When a source cannot be reached, we record the failure against the source and leave its offers exactly as they were. Their verification time ages, and they move through fresh, aging, stale and very stale as it does. Nothing is marked ended because a request timed out, returned a 500, or the provider changed its CDN.
A source that fails repeatedly is shown as failed, alongside the time of its last successful verification, so a reader can tell the difference between “this ended” and “we have not been able to check”.
Conflicts are preserved
When two official sources disagree, we store both readings and display both. A provider documenting 50 requests a day for unfunded accounts and 1,000 after ten dollars of lifetime credit is not a contradiction; it is two different conditions, and the honest rendering is the condition, not a single averaged number.
History is never deleted
An offer that ends is retained with its end date, the reason, and the evidence. A sweep appends an observation when the collected payload differs from the stored one; an identical payload only refreshes the verification timestamp, so repeated sweeps do not duplicate history. Nothing is overwritten. That history is the reason the site answers questions it could not answer when it launched, and deleting it would make the product worse the longer it ran.
Provenance of each row
Rows carry a provenance marker. An offer confirmed by an automated source in the last few hours is one thing; an offer established by documented research for a provider we do not yet poll automatically is another. Both are published, and both are labelled, because presenting one as the other would be the kind of quiet overstatement this product exists to avoid.
What we will not do
- Rank providers, or publish a quality score.
- Call a time-boxed trial “free” without saying it ends.
- Present a promotional credit as equivalent to pooled tokens.
- Republish a third-party list without verifying each entry.
- Hide a conflict by picking a side.
- Fill an empty state with invented data.
Independent
Free Pool Radar is an independent information service and is not affiliated with, endorsed by, or sponsored by any provider listed. We take no payment from providers, accept no affiliate links, and have no commercial relationship with any entry in the database.
Free access can be withdrawn, rate-limited, modified or exhausted without notice. Always review the provider’s current terms, privacy policy and usage restrictions before sending sensitive or production data.