Skip to content

GET /v1/cves

Programmatic access to TechWatchAlert’s vulnerability database: multi-criteria search and full records (CVSS, EPSS, KEV, PoC, affected products). Public data — no project required.

GET /api/v1/cves
Authorization: Bearer twa_your_key_here
Parameter Type Description
q string Search in ID, description, vendor or product
severity string Filter, comma-separated: CRITICAL,HIGH,MEDIUM,LOW
is_kev boolean true = only CVEs in CISA’s KEV catalog
has_poc boolean true = only CVEs with a known public exploit
has_workaround boolean true = only CVEs with a known workaround or mitigation (interim measures); false = without
vendor string Filter by vendor — searched across all affected entries
product string Filter by product — searched across all affected entries
match string partial (default) or exact for vendor/product. exact ignores case and separators
updated_since string ISO 8601 date: only CVEs modified since
include string affected to attach version ranges to the list
page integer Page (default 1)
page_size integer Page size, max 100 (default 20)
{
"items": [
{
"cve_id": "CVE-2024-3094",
"severity": "CRITICAL",
"cvss_score": 10.0,
"epss_score": 0.9412,
"is_kev": true,
"has_poc": true,
"maturite_exploit": "exploitee",
"contournement_disponible": false,
"vendor": "xz",
"product": "xz-utils",
"date_published": "2024-03-29T00:00:00Z"
}
],
"total": 1,
"page": 1,
"page_size": 20
}
Field Type Description
cve_id string CVE identifier
severity string CRITICAL, HIGH, MEDIUM, LOW, NONE, UNKNOWN
cvss_score number | null CVSS score (0–10)
epss_score number | null EPSS exploitation probability (0–1)
is_kev boolean Listed in CISA’s KEV catalog
has_poc boolean Known public exploit / proof of concept (GitHub, Exploit-DB, Metasploit or Nuclei)
maturite_exploit string | null Exploit maturity, see below
contournement_disponible boolean A workaround or mitigation from the vendor or a CERT is known; details in the record’s mesures_provisoires
vendor string | null Primary vendor
product string | null Primary product
date_published string (ISO 8601) | null Publication date
affected array | null Only present with include=affected — same fields as on the record

maturite_exploit sums up, from most to least severe, what is known about exploitation:

Value Meaning
exploitee Confirmed exploitation: CISA KEV catalog, VulnCheck KEV, ENISA EUVD or CERT-FR
outillee Weaponized exploit: a Metasploit module or a Nuclei detection template exists; anyone can attack without writing code
poc Public proof of concept only: GitHub repository (listed by nomi-sec/PoC-in-GitHub) or Exploit-DB exploit
null Nothing known

Sources are read again every day. Only each exploit’s identifier, title, address, date and type are kept, never its authors.

Code Detail Cause
422 updated_since doit etre une date ISO 8601 updated_since cannot be parsed
422 string_pattern_mismatch match is neither partial nor exact
422 less_than_equal page_size above 100
GET /api/v1/cves/{cve_id}
Authorization: Bearer twa_your_key_here
Parameter Type Description
cve_id string CVE identifier (e.g. CVE-2024-3094)

In addition to the search item fields:

Field Type Description
description string | null English description
cvss_vector string | null CVSS vector
epss_percentile number | null EPSS percentile (0–1)
cwe_ids array | null Associated CWE identifiers
poc_count integer Number of public PoCs and exploits recorded, all sources
date_updated string (ISO 8601) | null Last update
affected array Affected products
mesures_provisoires array Workarounds, mitigations and announced lack of a fix, see below

Each affected entry: vendor, product, version_from, version_to, version_status, cpe.

What the vendor or a CERT offers until (or instead of) a fix, one entry per advisory and category:

Field Type Description
categorie string workaround, mitigation, none_available (no fix available), no_fix_planned (no fix planned)
source string certfr, csaf-cisa, csaf-ncsc-nl, csaf-siemens
reference string Advisory identifier (CERTFR-2026-ALE-005, ICSA-26-274-02, SSA-330084)
texte string | null Short text of the measure; null when the source’s licence only allows the category and the link
url string | null Original advisory
date string (ISO 8601) | null Advisory update date
produits array Affected products, when the advisory names them
republication string | null Original vendor of an advisory republished by CISA (ABB, Hitachi Energy…)
lien_seulement boolean true: category and link only, the text stays with the vendor
attribution string Source credit to reproduce with the data
Code Detail Cause
404 CVE introuvable cve_id not found

Critical CVEs with a public PoC, paginated

Fenêtre de terminal
curl -s \
-H "Authorization: Bearer twa_your_key_here" \
"https://app.techwatchalert.com/api/v1/cves?severity=CRITICAL&has_poc=true&page=1&page_size=50" \
| jq '.items[] | {cve: .cve_id, cvss: .cvss_score, epss: .epss_score}'

Full record for a CVE

Fenêtre de terminal
curl -s \
-H "Authorization: Bearer twa_your_key_here" \
https://app.techwatchalert.com/api/v1/cves/CVE-2024-3094 \
| jq '{cve: .cve_id, kev: .is_kev, affected: [.affected[].product]}'

The data returned by this endpoint comes from public sources: the CVE® Program (MITRE), the CISA KEV catalog, VulnCheck KEV, ENISA’s EUVD, CERT-FR, FIRST’s EPSS, and proof-of-concept and exploit databases (PoC-in-GitHub, Exploit Database, Metasploit Framework, nuclei-templates). It keeps the licence of its source, and the attribution these licences require also applies to how you use it.

Ubuntu advisories (Ubuntu Security Notices, licensed under CC BY-SA 4.0) are shown in the application but are not returned by the API.

The list of sources, their licences, the attributions to reproduce and the licence notices are on the Sources and licences page.