About this data
What LLMSCAPE measures, where the numbers come from, and what they do not mean.
Where the numbers come from
Every gateway with an OpenAI-compatible API exposes a GET /models endpoint
listing its catalog. FreeRouter
calls that endpoint on each gateway it routes to, using a real key for that gateway,
and normalizes the responses onto a single set of canonical model ids. LLMSCAPE is
generated from the result.
That means everything here is measured, not curated. No model was typed in by hand, no gateway submitted a listing, and no gateway can pay to appear or to rank. It also means the data is only as good as what the gateways publish about themselves — which varies a lot.
What a blank cell means
A dash means the gateway published no value. It does not mean the model is free, has no context limit, or is unavailable. Some gateways publish per-model pricing, modalities, and prose descriptions; others publish a bare list of ids. We never fill a gap with a guess, because a confidently wrong price on a comparison site is worse than an honest blank.
How prices are normalized
Catalogs quote token prices in different units — most per token, some per million. Everything here is converted to US dollars per million tokens. Where a gateway's unit is documented we use it; otherwise the magnitude decides, since a per-token reading of a per-million number would imply prices in the thousands of dollars. Per-image and per-request prices are kept separate rather than folded into a token price.
How the same model is matched across gateways
OpenRouter's provider/model ids are the canonical master, since most of
the ecosystem names models against them. Gateways using the same form align by
identity. Gateways publishing bare ids (Concentrate's gpt-5.6-sol) align
when exactly one canonical id ends with that name — where it is ambiguous, we leave
them unmatched rather than risk merging two different models.
Vendor specials do not transfer at all. orcarouter/auto and Requesty's
policy/… targets exist only on the gateway that defines them, so they stay
scoped there.
Vendors, and why they are not just the id prefix
Some gateways prefix ids with the upstream provider they forward through:
aws-bedrock/anthropic.claude-…, vertex/gemini-…,
azure-openai/grok-…. Reading the first segment as the vendor would file
Claude under "vertex". Those routing prefixes are stripped so a model is grouped
under its actual maker, and synonyms (xai, grok,
spacexai) collapse onto one vendor.
Query the data directly
You do not have to scrape these pages. The catalog is served as JSON with open CORS and no authentication:
GET https://app.freerouter.com/api/public/gateways
GET https://app.freerouter.com/api/public/models?gateway=vercel&modality=text
GET https://app.freerouter.com/api/public/models/openai/gpt-4o-mini
GET https://app.freerouter.com/api/public/vendors
GET https://app.freerouter.com/api/public/stats
The pages on this site hydrate their headline numbers from these endpoints on load, so a figure you see is current even if the page itself was generated days ago.
Who publishes this
LLMSCAPE is published by the team behind FreeRouter. We have an obvious interest in you concluding that routing across gateways beats committing to one — which is why every ranking on this site is computed from crawled data rather than editorial judgement, and why gateways we cannot route to are still listed, including the ones that compete with us.
- Models catalogued
- 4,294
- Gateway offers
- 4,932
- Live gateways
- 9
- Gateways tracked without a catalog
- 8
- Vendors identified
- 154
- Models with published pricing
- None in this snapshot
- Data source
- freerouter-model-map-snapshot
- Catalog last changed
- This build generated