{ API }

Free, open JSON API for discontinued AI products, AI-driven layoffs, and upcoming shutdowns. No auth, no rate limits, no API key.

Base URL

https://mixtpatrik.github.io/killedbyai/

All data is served as static JSON files via GitHub Pages. CORS is enabled by default. Responses are cached by GitHub's CDN.

Endpoints

Product Graveyard

GET graveyard.json

All discontinued AI products, models, startups, and hardware.

FieldTypeDescription
namestringProduct name
dateOpenstringLaunch date (YYYY-MM-DD)
dateClosestringShutdown date (YYYY-MM-DD)
descriptionstringWhat it was and why it died
typestringapp | model | service | startup | hardware
causeOfDeathstringHow it died
killedBystringWho killed it
deathTypestringmodel-upgrade | product-killed | startup-failed | acqui-hired | feature-removed | hardware-failed
linkstringSource URL
collateralstring?What users lost (optional)
fundingMnumber?VC funding in millions USD (optional)

AI Layoffs

GET layoffs.json

Companies that cut jobs explicitly because of AI.

FieldTypeDescription
companystringCompany name
jobsnumberNumber of jobs cut
datestringAnnouncement date (YYYY-MM-DD)
descriptionstringContext and details
rolesstringTypes of roles affected
sourcestringSource URL

Coming Soon

GET coming-soon.json

AI products with confirmed shutdown dates that haven't died yet.

FieldTypeDescription
namestringProduct name
dateAnnouncedstringWhen shutdown was announced
dateShutdownstringWhen it actually dies
descriptionstringWhat's happening
replacementstringWhat replaces it
killedBystringWho's killing it
linkstringSource URL

RSS Feed

GET feed.xml

RSS 2.0 feed with the 30 most recently killed products.

Usage Example

// Fetch all dead AI products
const res = await fetch('https://mixtpatrik.github.io/killedbyai/graveyard.json');
const graveyard = await res.json();

// Filter to only real kills (not model upgrades)
const realKills = graveyard.filter(p => p.deathType !== 'model-upgrade');

// Total funding burned
const burned = graveyard
  .filter(p => p.fundingM)
  .reduce((sum, p) => sum + p.fundingM, 0);
console.log(`$${(burned / 1000).toFixed(1)}B in funding burned`);

Contributing

Add new entries by editing the JSON files and submitting a pull request on GitHub. The site rebuilds automatically via GitHub Actions on every push to main.