The dataset

Last updated 21 Oct 2026

Everything in this directory is available as a machine-readable dataset. It is generated from the same records that produce the pages — there is no separate copy to go stale — and it currently holds 25 non-expired offers, each with the primary source it was verified against and the date it was last checked.

Download

Both are plain static files. No key, no sign-up, no rate limit — fetch them as often as is useful, and cache them rather than polling: they only change when we deploy.

The envelope

The JSON response wraps the records so you can tell what you are holding: schemaVersion (currently 2), generatedAt, license, canonicalUrl, documentationUrl, disclaimer, count and offers. schemaVersion changes only when a field is removed or retyped; new fields may be added without a bump, so parse defensively and ignore what you do not recognise.

Compatibility and migration

Version 2 keeps existing field types and currency values. New fields are additive and CSV columns are appended. Read availability rather than treating status=active as an open application. Read cardPolicy and cardCondition rather than interpreting legacy null as no card. Use allowance.unit for native units such as Neurons, and amountType for maximum amounts. Both existing endpoints receive the current verified records; there is no frozen legacy copy.

Fields

Field reference for each record in the offers array.
FieldMeaning
slugStable identifier. Also the offer page path: /offers/{slug}.
providerProvider slug (e.g. groq, google, aws).
offerNameThe offer’s name as the provider calls it.
categoryOne of: provider-free-tier, trial-credit, startup-program, student-education, hackathon-event, cloud-marketplace, aggregator-router.
statusLegacy programme-date status: active, expiring-soon or expired. Read availability for application access; active does not mean open.
creditAmountNumber, or null when the offer is an allowance with no fixed balance.
currencyThe unit creditAmount is measured in: USD, credits, tokens, requests and so on.
cardRequiredtrue when the provider says a payment method is needed to claim; false only when the provider says, in its own words, that none is needed; null when no unconditional yes/no can be stated, including conditional policies which the legacy field cannot represent. Empty in the CSV; use cardPolicy and cardCondition.
ongoingTrue when the offer has no fixed end date.
expiryLegacy programme end date, or null. Never the validity of an individual credit balance.
eligibilityWho qualifies, in the provider’s terms.
claimUrlWhere to claim the offer.
sourceUrlThe primary source we verified the figures against. Never empty.
lastVerifiedISO date we last confirmed this record against sourceUrl. Never empty.
firstPublishedISO date the offer was first listed here.
tagsFree-form labels. Space-separated in CSV, an array in JSON.
urlCanonical URL of the offer page on this site.
availabilityopen, paused, closed, ended, existing-users, conditional or unknown. The dataset includes non-expired entries even when applications are closed; read the conditions.
isClaimableTrue for open or conditional application routes that have not expired. This is not a guarantee of eligibility or award; inspect availability and its note.
availabilityNoteVerified restrictions on programme or application access, or null.
applicationDeadlineISO date of application deadline; null means no deadline is stated, not unlimited credit validity.
creditValidityObject: kind duration/not-stated/no-expiry; count and unit (day/month/year), anchor issue/activation/approval/signup, optional note. CSV stores JSON. Never anchored to lastVerified.
allowanceObject: native unit, period day/month/minute/other, optional reset/timezone/note. CSV stores JSON. Missing reset or timezone means unconfirmed.
amountTypefixed, up-to or variable; an up-to amount is a maximum, never guaranteed.
benefitTypecredit, allowance, discount or other. Different types and periods are not comparable values.
cardPolicyrequired, not-required, not-stated or conditional. Use this field for new integrations.
cardConditionThe condition for a conditional payment-method policy; otherwise null.
amountLabelShared presentation of amount, maximum qualifier, native unit and period.
creditValueNoteScope and qualifications attached to the amount, or null.
currentCaveatsCurrent material restrictions and billing warnings, an array in JSON and a JSON-encoded array in CSV. Read before using an offer.

The JSON records additionally carry summary, a one-sentence description. It is omitted from the CSV because long prose makes a spreadsheet unreadable.

What is in it — and what is not

The dataset contains offers that are published and not expired. Drafts are excluded: an offer we cannot verify is never published, in the dataset or on the site (see our verification methodology). Expired offers are excluded. Paused or closed application programmes can remain in this version 2 directory: status=active describes the programme timeline, not open enrolment. Filter isClaimable=true for open or conditional routes, then read eligibility and availability notes.

Records are sorted by slug, so if you pull the file twice and diff it, you see real changes rather than reordering.

Update cadence

Dynamic application programmes and changing model restrictions have a seven-day review target; stable terms have a thirty-day target. A date check does not prove unchanged terms. The whole dataset is regenerated on every deploy. The practical way to detect change is to watch each record's lastVerified date and compare the figures. Every sweep is recorded in the change log — what moved, when, and what replaced it since.

Licence & citation

Free to read, query and cite with attribution and a link to freellmcredits.com. Bulk redistribution or republication of the dataset requires permission.

We want to be cited — that is the whole point of publishing this. If you use the data in an article, an answer or a tool, please attribute it to freellmcredits.com and link to the relevant offer page (each record carries its url). If you need broader redistribution rights, get in touch.

Offers change frequently and we verify rather than guarantee. Confirm current terms with the provider before relying on a figure — see our terms.

Is there an MCP endpoint?

Not today. The JSON and CSV downloads are the supported interfaces. Automated probes of hypothetical endpoints do not establish demand for a new service.