Downloads / open data / CC BY 4.0

Data downloads

The whole dataset, public and unauthenticated. Take the numbers, check our arithmetic, disagree with our weights. Attribution to LLM Tier with a link is the only condition.
Generated: 14 Aug 2026 17:40 UTCLicence: CC-BY-4.0

Product rows

41

Full stack builders and coding agents

Model rows

8

Large language models

Run rows

1,845

One per prompt execution

Reader index rows

17

Products past the 3 voter threshold, exported separately from the measured rows

Licensed CC-BY-4.0. Attribution required, commercial use allowed. The ranking exports contain measured figures only: reader votes are published in their own endpoint so nothing consuming the measured data can pick them up by accident.

Endpoints

All served from this domain, no key, no sign up. Measured data and voted data are separate files.

Public data endpoints
EndpointFormatContents
/api/rankings.jsonapplication/jsonOne object per measured product with the composite index, all ten subscores, speed percentiles, pass counts and public page measurements. Includes a licence field and the generation timestamp.
/data/rankings.csvtext/csvThe same ranking rows as a flat CSV with a header line, suitable for a spreadsheet. The licence is carried in a column so it survives a copy and paste.
/api/runs.jsonapplication/jsonThe raw per run data: one object per prompt execution with run number, prompt index, start time, duration in seconds, outcome and the reviewer note. Filter to one product with ?tool=slug.
/data/runs.csvtext/csvThe same raw per run data as a flat CSV. Every published median, tenth and ninetieth percentile and pass rate on this site is computed from these rows, so this file is enough to recompute the whole index yourself. Filter to one product with ?tool=slug.
/api/reader-index.jsonapplication/jsonThe reader index: voted axis means per product, the number of distinct voters, the share of index weight they cover and the signed gap against the lab index. Published separately from the rankings so a consumer of the measured data never picks up voted data by accident.
/data/reader-index.csvtext/csvThe reader index as a flat CSV, one row per product with the lab index in the adjacent column for comparison.

Ranking row schema

Field names match the endpoint payload exactly.

Ranking row fields
FieldTypeMeaning
slugstringStable product identifier, also the URL segment
namestringProduct name as the vendor writes it
rankintegerPosition in the composite index, 1 is highest
rank_deltaintegerRank change against the previous cycle
index_scorenumberComposite index, 0 to 100, two decimals
score_agent_perfnumberAgent performance subscore, 0 to 100, weight 18
score_reliabilitynumberReliability subscore, 0 to 100, weight 18
score_scalabilitynumberScalability subscore, 0 to 100, weight 13
score_seo_geonumberSEO and GEO subscore, 0 to 100, weight 12
score_api_mcpnumberAPI and MCP subscore, 0 to 100, weight 9
score_integrationsnumberIntegrations subscore, 0 to 100, weight 8
score_designnumberDesign output subscore, 0 to 100, weight 7
score_speednumberSpeed subscore, 0 to 100, weight 7
score_valuenumberValue subscore, 0 to 100, weight 5
score_code_ownershipnumberCode ownership subscore, 0 to 100, weight 3
speed_seconds_p10numberTenth percentile wall clock seconds per prompt
speed_seconds_mediannumberMedian wall clock seconds per prompt
speed_seconds_p90numberNinetieth percentile wall clock seconds per prompt
runs_completedintegerExecutions that produced a usable artifact, pass plus partial
runs_failedintegerExecutions that failed outright
reliability_pctnumberStrict pass rate as a percentage of all executions
html_bytes_no_jsintegerBytes of real text on the generated public page with JavaScript disabled
lcp_msintegerLargest contentful paint in milliseconds, throttled
clsnumberCumulative layout shift on load
price_from_eurnumberEntry price in euros for the cheapest plan that can finish the specification
last_run_atISO 8601Timestamp of the last completed measurement run
next_run_atISO 8601Timestamp of the next scheduled measurement run

Shape of the JSON payload

{
  "ok": true,
  "data": {
    "licence": "CC-BY-4.0",
    "licence_url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "LLM Tier, https://www.llm-tier.com",
    "generated_at": "2026-08-19T00:00:00.000Z",
    "index_scale": { "min": 0, "max": 100, "decimals": 2 },
    "weights": { "agent_perf": 18, "reliability": 18, "scalability": 13, "seo_geo": 12,
                 "api_mcp": 9, "integrations": 8, "design": 7, "speed": 7,
                 "value": 5, "code_ownership": 3 },
    "count": 11,
    "rankings": [ { "rank": 1, "slug": "...", "index_score": 00.00, "...": "..." } ]
  }
}

Citing the lab

For a figure in prose, name the source and the cycle: LLM Tier, August 2026 cycle. For a table or a chart, add a link to the page the numbers came from. For a redistributed dataset, keep the licence and attribution fields in the payload intact.

If you are building something on this data and want a heads up before the shape changes, write to lab@llm-tier.com. Breaking changes are announced in the lab notes first, and additive fields are not treated as breaking.