API
Static data API
Every figure on Telemetry is also a JSON or CSV file. No keys, no rate limits: they are static files, regenerated each time the site is built.
Answer Fetch https://glide-telemetry.pages.dev/api/stats.json for every headline KEV figure, /api/kev/latest.json for the 100 newest entries, and /api/vendors/{slug}.json for a vendor's full list.
QQuick start
curl -s https://glide-telemetry.pages.dev/api/stats.json | python3 -m json.tool
curl -s https://glide-telemetry.pages.dev/api/vendors/microsoft.json \
| python3 -c "import sys,json; d=json.load(sys.stdin); print(d['meta']['records'])"EEnvelope
Every JSON file has the same shape: a meta object (title, source, catalogVersion, catalogDateReleased, referenceDate, license, records) and a data array.
{
"meta": {
"title": "Vendors in KEV",
"catalogVersion": "2026.09.23",
"referenceDate": "2026-09-23",
"license": "https://creativecommons.org/licenses/by/4.0/",
"records": 283,
"...": "..."
},
"data": [
{
"vendor": "Microsoft",
"slug": "microsoft",
"rank": 1,
"entries": 388,
"shareOfCatalogPercent": 22.5,
"ransomwareKnown": 117,
"products": 72,
"firstDateAdded": "2021-11-03",
"latestDateAdded": "2026-09-08",
"url": "https://glide-telemetry.pages.dev/vendors/microsoft/",
"api": "https://glide-telemetry.pages.dev/api/vendors/microsoft.json"
},
"..."
]
}SStatistics
| Endpoint | Records | Size | Also | Description | Fields |
|---|---|---|---|---|---|
/api/stats/additions-by-year.json | 6 | 699 B | CSV | Entries added to KEV per calendar year (the current year is year to date). | year, added |
/api/stats/additions-by-month.json | 59 | 2 KB | CSV | Entries added per calendar month. | month, added |
/api/stats/top-vendors.json | 15 | 2 KB | CSV | The 15 vendorProject values with the most entries. | rank, vendor, entries, shareOfCatalogPercent, ransomwareKnown |
/api/stats/top-cwes.json | 15 | 2 KB | CSV | The 15 CWEs listed on the most entries. Entries may list several CWEs. | rank, cwe, name, entries, shareOfCatalogPercent |
/api/stats/ransomware-by-year.json | 6 | 950 B | CSV | Entries flagged Known for ransomware campaign use, by year added. The flag can change after an entry is added. | year, added, ransomwareKnown, percent |
/api/stats/remediation-by-year.json | 6 | 966 B | CSV | Days between dateAdded and dueDate, summarized by year added. | year, entries, medianDays, minDays, maxDays |
/api/stats/cve-age-by-year.json | 6 | 1 KB | CSV | Year added minus the year in the CVE ID. The ID year is when the ID was assigned or reserved, not necessarily disclosure. | year, entries, fiveYearsOrOlder, percent, medianAgeYears |
/api/stats/weekly-additions.json | 26 | 2 KB | CSV | Entries added in each of the last 26 seven-day blocks. | weekStart, weekEnd, added |
/api/stats.json | 1 | 4 KB | Every headline figure on the dashboard and stats report. | catalogVersion, dateReleased, referenceDate, totalEntries, firstDateAdded, latestDateAdded, addedLast7Days, addedLast30Days, addedLast90Days, vendorCount, productCount, cweCount, entriesWithoutCwe, ransomwareKnown, ransomwareKnownPercent, medianRemediationDays, openFederalDeadlines, topVendor, topCwe, top10VendorEntries, top10VendorPercent, cveIdFiveOrMoreYearsOlderPercent, figures |
KKEV
| Endpoint | Records | Size | Also | Description | Fields |
|---|---|---|---|---|---|
/api/kev/all.json | 1,721 | 1.4 MB | CSV | Every KEV entry as published by CISA, newest first, plus a Telemetry URL. | cveID, vendorProject, product, vulnerabilityName, dateAdded, dueDate, knownRansomwareCampaignUse, cwes, shortDescription, requiredAction, notes, telemetryUrl |
/api/kev/latest.json | 100 | 153 KB | The 100 most recent entries. | cveID, vendorProject, product, vulnerabilityName, dateAdded, dueDate, knownRansomwareCampaignUse, cwes, shortDescription, requiredAction, notes, telemetryUrl | |
/api/kev/open-deadlines.json | 8 | 13 KB | Entries whose dueDate is on or after the reference date. | cveID, vendorProject, product, vulnerabilityName, dateAdded, dueDate, knownRansomwareCampaignUse, cwes, shortDescription, requiredAction, notes, telemetryUrl | |
/api/kev/index.json | 1,721 | 364 KB | Array rows for fast client-side filtering: [cveID, vendor, product, name, dateAdded, dueDate, ransomware 0/1, cwes, url, vendorUrl, productUrl]. | cveID, vendorProject, product, vulnerabilityName, dateAdded, dueDate, ransomwareKnown, cwes, url, vendorUrl, productUrl | |
/api/kev/ransomware.json | 361 | 279 KB | CSV | Every KEV entry whose knownRansomwareCampaignUse is Known, newest first. | cveID, vendorProject, product, vulnerabilityName, dateAdded, dueDate, knownRansomwareCampaignUse, cwes, shortDescription, requiredAction, notes, telemetryUrl |
AAggregates
| Endpoint | Records | Size | Also | Description | Fields |
|---|---|---|---|---|---|
/api/vendors.json | 283 | 63 KB | CSV | Every vendorProject in the catalog with counts and dates. | vendor, slug, rank, entries, shareOfCatalogPercent, ransomwareKnown, products, firstDateAdded, latestDateAdded, url, api |
/api/products.json | 725 | 119 KB | CSV | Every vendor-product pair with counts and dates. | vendor, product, entries, ransomwareKnown, firstDateAdded, latestDateAdded, url |
/api/cwe.json | 185 | 28 KB | CSV | Every CWE listed in the catalog with counts. | cwe, name, rank, entries, shareOfCatalogPercent, vendors, ransomwareKnown, url |
RRegulation
| Endpoint | Records | Size | Also | Description | Fields |
|---|---|---|---|---|---|
/api/regulations.json | 7 | 4 KB | CSV | Every regulator that has restricted or phased out SMS one-time passcodes for banking, with dates, status and the primary source for each. | market, slug, regulator, measure, timing, status, sourceTitle, sourceUrl, url |
EEditorial
| Endpoint | Records | Size | Also | Description | Fields |
|---|---|---|---|---|---|
/api/briefings.json | 11 | 10 KB | Every briefing with its BLUF and confidence level. | slug, title, kind, beat, bluf, confidence, published, updated, url, ownerAffiliated, sources | |
/api/glossary.json | 20 | 9 KB | All glossary terms. | slug, term, short, definition, url | |
/api/search.json | 320 | 34 KB | Titles and URLs of every indexable page, used by site search. | t (title), u (url), k (kind), d (summary) |
CCompanies
| Endpoint | Records | Size | Also | Description | Fields |
|---|---|---|---|---|---|
/api/companies/glide-identity.json | 1 | 17 KB | Structured Glide Identity dossier with a source on every row and a computed CISA KEV check. Owner-affiliated coverage. | ownerAffiliated, disclosure, slug, name, alternateName, website, dossierUrl, briefingUrl, version, verified, needsEditorialVerification, bluf, record, milestones, products, carriers, carrierCoverageNote, memberships, companyClaims, companyClaimsNote, mediaCoverage, marketContext, openQuestions, confidence, kevCheck, citation | |
/api/companies.json | 1 | 1 KB | CSV | Every company dossier with its coverage label, verification date and KEV check result. | slug, name, alternateName, ownerAffiliated, verified, datedMilestones, sources, kevVendorProjectMatches, url, api |
VPer-vendor endpoints (51)
Show all 51 vendor endpoints
TTerms
- Compiled data is licensed CC BY 4.0: credit Telemetry and link to the page. Underlying KEV records are published by CISA.
- Quote the
catalogVersionwith any figure. - Field names follow CISA's feed; Telemetry adds
telemetryUrland computed fields. - [HOSTING: send
Access-Control-Allow-Origin: *on/api/*so browser tools can fetch it.] - Also machine-readable: llms.txt, llms-full.txt, KEV RSS, JSON Feed, OpenSearch, sitemap.