Data and API

Everything on the site is available as static files: no keys, no rate limits beyond ordinary politeness, and nothing rendered by a server. The files are rebuilt nightly and sit next to the pages they describe. Cite and link freely with attribution; the downloadable catalog is for personal and research use, as set out in the terms.

Endpoints

PathWhat it returnsExample
/api/parts/{id}.jsonOne part: name, summary, description, layer, children, bottleneck status and every company placed on it with role, confidence tag, share estimate and source./api/parts/5.05.json
/api/companies/{id}.jsonOne company: ownership, headquarters, listings, subsidiaries and every part it is placed on, each with its confidence tag./api/companies/vertiv.json
/api/supercomputers.jsonIndex of the supercomputer breakdowns, each with its own JSON endpoint./api/supercomputers.json
/api/supercomputers/{id}.jsonOne machine: specs and every line of the breakdown with the companies and part ids it names./api/supercomputers/el-capitan.json
/graph.jsonThe whole part-to-company graph in one compact file: parts, companies and edges as index pairs with a confidence initial. The explorer at /graph reads it./graph.json
/stress.jsonEvery part with its suppliers and confidence tags, every company with its parts and disclosed customers, and the machines naming each. The stress-test tool reads it./stress.json
/changelog.xmlThe weekly data changelog as RSS./changelog.xml
/{page}.mdA Markdown version of every part, company, supercomputer and teardown page, for tools and language models./companies/vertiv.md
/supercomputers/lines.csvEvery supercomputer breakdown line as CSV./supercomputers/lines.csv
/feed.json · /rss.xmlThe blog as a JSON Feed and an RSS feed./rss.xml
/companies/{id}/feed.xml · /parts/{layer}/{part}/feed.xmlNews about one company or one part as RSS./companies/vertiv/feed.xml
/llms.txt · /llms-full.txtA guide to the site for language models, and the full text of the catalog./llms.txt
/data/catalog.sqliteThe whole catalog as one SQLite file, rebuilt nightly. Tables: layers, parts, companies, part_company, listings, quotes, teardown_lines, scale_tiers./data/catalog.sqlite

Reading the confidence field

Every company-to-part link carries a tag: disclosed when the company says so itself, reported when a credible outlet or filing says so, and inferred when the placement follows from the company's products but nobody has said it. Treat inferred links as leads, not facts. Prices are a nightly snapshot with an as_of date, never real-time, and are never converted between currencies. The method is in sources & method.

Query it yourself

Download catalog.sqlite and run SQL. For example, the companies disclosed or reported on coolant distribution units:

SELECT c.name, pc.role, pc.confidence
FROM part_company pc JOIN companies c ON c.id = pc.company_id
WHERE pc.part_id = '5.05' AND pc.confidence IN ('disclosed','reported')
ORDER BY c.name;

In JavaScript, fetch('/api/parts/5.05.json').then(r => r.json()) returns the same part with its supplier list. Part ids are stable taxonomy numbers (5.05, children 6.05a); company ids are stable slugs.

For language models and crawlers

The Markdown and JSON mirrors are marked noindex so search engines keep the HTML pages as the canonical results, but nothing blocks agents from fetching them. llms.txt describes what is where, and robots.txt allows the major AI crawlers.