Accès programmatique à la base de vulnérabilités de TechWatchAlert : recherche multicritères et fiche complète (CVSS, EPSS, KEV, PoC, produits affectés). Données publiques — aucun projet requis.
Authorization : Bearer twa_votre_cle_ici
Paramètre Type Description qstringRecherche dans l’ID, la description, le vendor ou le produit severitystringFiltre, virgule-séparé : CRITICAL,HIGH,MEDIUM,LOW is_kevbooleantrue = uniquement les CVE du catalogue KEV de la CISAhas_pocbooleantrue = uniquement les CVE avec exploit public connuvendorstringFiltre par éditeur — cherché dans toutes les entrées affected productstringFiltre par produit — cherché dans toutes les entrées affected matchstringpartial (défaut) ou exact pour vendor/productupdated_sincestringDate ISO 8601 : ne rend que les CVE modifiées depuis includestringaffected pour joindre les intervalles de versions à la listepageintegerPage (défaut 1) page_sizeintegerTaille de page, max 100 (défaut 20)
Recherche par produit
vendor et product examinent le couple principal et chaque entrée de
affected. Une CVE qui touche Chrome, Edge et Electron est donc trouvable sous
les trois — auparavant, seul le premier de la liste répondait.
match=exact évite le bruit de la correspondance partielle : product=java
ramène aussi javascript, product=java_se&match=exact non. Recommandé pour
un client automatisé.
Synchronisation incrémentale
updated_since rend les CVE modifiées , pas seulement publiées : une CVE
reçoit son entrée KEV et son score CVSS des jours après sa parution.
Associé à include=affected, il permet de tenir un cache à jour sans jamais
ouvrir la fiche de chaque CVE — les intervalles de versions arrivent
directement dans la liste.
curl -H " Authorization: Bearer $TWA_API_KEY " " https://app.techwatchalert.com/api/v1/cves?updated_since=2026-08-01T00:00:00Z&include=affected&page_size=100 "
"cve_id" : " CVE-2024-3094 " ,
"date_published" : " 2024-03-29T00:00:00Z "
Champ Type Description cve_idstringIdentifiant CVE severitystringCRITICAL, HIGH, MEDIUM, LOW, NONE, UNKNOWNcvss_scorenumber | nullScore CVSS (0–10) epss_scorenumber | nullProbabilité d’exploitation EPSS (0–1) is_kevbooleanPrésent dans le catalogue KEV de la CISA has_pocbooleanExploit / preuve de concept public connu vendorstring | nullÉditeur principal productstring | nullProduit principal date_publishedstring (ISO 8601) | nullDate de publication affectedarray | nullPrésent uniquement avec include=affected — mêmes champs que sur la fiche
Code Détail Cause 422updated_since doit etre une date ISO 8601updated_since illisible422string_pattern_mismatchmatch vaut autre chose que partial ou exact422less_than_equalpage_size dépasse 100
GET /api/v1/cves/{cve_id}
Authorization : Bearer twa_votre_cle_ici
Paramètre Type Description cve_idstringIdentifiant CVE (ex. CVE-2024-3094)
En plus des champs de l’item de recherche :
Champ Type Description descriptionstring | nullDescription en anglais cvss_vectorstring | nullVecteur CVSS epss_percentilenumber | nullPercentile EPSS (0–1) cwe_idsarray | nullIdentifiants CWE associés poc_countintegerNombre de PoC publics recensés date_updatedstring (ISO 8601) | nullDernière mise à jour affectedarrayProduits affectés
Chaque entrée de affected : vendor, product, version_from, version_to, version_status, cpe.
Code Détail Cause 404CVE introuvablecve_id inexistant en base
CVE critiques avec PoC public, paginées
-H " Authorization: Bearer twa_votre_cle_ici " \
" 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} '
Fiche complète d’une CVE
-H " Authorization: Bearer twa_votre_cle_ici " \
https://app.techwatchalert.com/api/v1/cves/CVE-2024-3094 \
| jq ' {cve: .cve_id, kev: .is_kev, affected: [.affected[].product]} '