AI Flash Report

Open data

Every tracker on this site is rendered from committed JSON files, and those files are public. Build on them: dashboards, alerts, CI checks, migration tooling. All we ask is attribution. If you use this data, link to aiflashreport.com.

Jump to: Deprecations · Price history · Model releases · Calendar feed · Weekly digest · Reference integration

How the data is maintained

Model deprecations

https://aiflashreport.com/data/deprecations.json

A flat JSON array with one object per deprecation record: 210 rows covering Anthropic, Google, OpenAI, scraped from each vendor's official deprecation page. This is the file behind the deprecation calendar. Refreshed weekly (Mondays) by a scheduled scrape; committed only when rows change. When independent trackers disagree with a vendor's date, the row keeps the vendor's date and records the conflict instead of silently picking one.

Fields in deprecations.json
FieldTypeMeaning
model_slugstring or nullSlug of the model's page on this site (/models/<slug>/), null when untracked
providerstringVendor name, e.g. Anthropic
model_namestringModel identifier as the vendor lists it
announced_atdate string or nullWhen the deprecation was announced (YYYY-MM-DD)
shutdown_atdate string or nullVendor-stated shutdown date (YYYY-MM-DD)
replacement_slugstring or nullSite slug of the recommended replacement model
replacement_namestring or nullVendor-recommended replacement model
statusstringOne of announced, extended (shutdown date moved later), shutdown
source_urlstringThe official vendor deprecation page this row was scraped from
retrieved_atdatetime stringLast time this row was verified or changed (ISO 8601 UTC); stable while the row is unchanged
conflicting_sourcesarray (optional)Present only when an independent tracker disagrees; each entry records the source, its URL, and its differing date
curl -s https://aiflashreport.com/data/deprecations.json | jq '[.[] | select(.status == "announced")] | length'

Attribution: link to aiflashreport.com when you use this data.

API price history

https://aiflashreport.com/data/price_history.json

Append-only price observations: 136 rows, one per (model, observed price change). Rows are never rewritten or rolled up; a new row is appended only when a model's current API price differs from its latest recorded row, so consecutive rows for a model are always a genuine change. This is the file behind the price tracker. Refreshed weekly (Sundays). Prices are normalised to floats in US dollars per million tokens; models whose pricing cannot be normalised are skipped, never zero-filled.

Fields in price_history.json
FieldTypeMeaning
model_slugstringModel slug, joinable against model_releases.json and /models/<slug>/
observed_atdatetime stringWhen this price was observed (ISO 8601 UTC)
input_per_mtoknumber or nullInput price in USD per million tokens (0.0 = free)
output_per_mtoknumber or nullOutput price in USD per million tokens
cache_read_per_mtoknumber or nullCached-input read price in USD per million tokens
sourcestringweekly_refresh (observed by the weekly tracker run) or git_backfill (recovered from the git history of the model database)
curl -s https://aiflashreport.com/data/price_history.json | jq '[.[] | select(.model_slug == "anthropic-claude-3-5-sonnet")]'

Attribution: link to aiflashreport.com when you use this data.

Model release database

https://aiflashreport.com/data/model_releases.json

The full model database: 120 tracked releases, one JSON object per model. This file drives the model pages, comparisons, and timeline. Refreshed weekly. Fields the source did not state are empty strings, empty arrays or objects, or null; nothing is guessed to fill a gap.

Fields in model_releases.json
FieldTypeMeaning
slugstringStable identifier; the model's page lives at /models/<slug>/
namestringModel name
companystringReleasing company
release_datedate stringRelease date (YYYY-MM-DD)
model_typestringe.g. LLM, image, speech
categorystringEditorial release category, e.g. Major Release
taglinestringOne-line summary
descriptionstringLonger description; may be empty
parametersstringParameter count as published, e.g. "~1T MoE"
architecturestringArchitecture as published, e.g. "Sparse Mixture-of-Experts (MoE)"
training_tokensstringTraining-corpus size as published
context_windowstringContext window, e.g. "1M tokens"
max_output_tokensstringMaximum output length
input_modalities / output_modalitiesstring[]Supported input and output modalities
knowledge_cutoffstringKnowledge cutoff date as published
licensestringe.g. Proprietary, Apache 2.0
availabilitystringHow the model is offered, e.g. API
pricingobjectAPI prices as dollar strings: input_per_mtok, output_per_mtok, cache_read_per_mtok (normalised floats live in price_history.json)
providersarrayHosting providers, when tracked
rate_limitsobject or nullPublished rate limits, when stated
benchmarksobjectPublished benchmark scores, keyed by benchmark
performance_metricsobjectAdditional published performance figures
key_featuresstring[]Headline features as published
linksobjectRelated URLs (docs, model card, etc.)
announcement_urlstringPrimary source for the release
predecessor_slugstring or nullSlug of the model this one supersedes
changelogarrayDated post-release changes to the model's entry
launch_coveragearrayLaunch-week coverage links
model_release_atobject or nullProvenance for the release date: value, source, source_url
curl -s https://aiflashreport.com/data/model_releases.json | jq '.[] | select(.company == "anthropic") | {name, release_date, context_window}'

Attribution: link to aiflashreport.com when you use this data.

Shutdown calendar feed (.ics)

https://aiflashreport.com/deprecations.ics

The upcoming shutdowns from deprecations.json as an RFC 5545 iCalendar feed: one all-day VEVENT per announced future shutdown (84 at the last build), each carrying the model, provider, replacement, and the official source URL in its description. Subscribe to it from any calendar app and shutdown dates appear, and move, with the weekly refresh. Only vendor-published dates are included.

curl -s https://aiflashreport.com/deprecations.ics | grep -c '^BEGIN:VEVENT'

Attribution: link to aiflashreport.com when you use this data.

Weekly delta digests

https://aiflashreport.com/data/weekly_digest/<YYYY>-W<ww>.json  e.g.  2026-W30.json

One JSON file per ISO week, assembled deterministically from the three files above: the week's new model releases, API price changes (with the previous price attached), and new or changed deprecation rows. The same JSON renders the weekly changes pages, so page and data can never disagree. Built weekly (Mondays); a week with no changes produces no new commit.

Fields in a weekly digest file
FieldTypeMeaning
schemastringSchema tag, currently weekly_digest_v1
weekstringISO week, e.g. 2026-W30
week_start / week_enddate stringsMonday and Sunday of the week (YYYY-MM-DD)
generated_atdatetime stringBuild timestamp (ISO 8601 UTC)
new_modelsarrayReleases dated inside the week; each entry: slug, name, company, release_date, model_type, availability, context_window, announcement_url, tagline
price_changesarrayPrice observations inside the week; each entry: model_slug, model_name, observed_at, input_per_mtok, output_per_mtok, cache_read_per_mtok, plus previous (the prior observation, or null)
deprecationsarrayDeprecation rows new or changed inside the week, with the same fields as deprecations.json rows
curl -s https://aiflashreport.com/data/weekly_digest/2026-W30.json | jq '{week, new: (.new_models | length), prices: (.price_changes | length), deprecations: (.deprecations | length)}'

Attribution: link to aiflashreport.com when you use this data.

Reference integration

ai-model-deprecation-check is a GitHub Action built on deprecations.json: it scans a repo for pinned model IDs and fails CI when one has an announced shutdown. Use it directly, or use its source as a worked example of consuming these endpoints.