Search CVEs
Search the CVE catalogue by keyword or CVE-ID prefix. Keyword queries resolve through the CPE product and vendor taxonomy, matching the same logic as the platform's vulnerability search. Use it to find all CVEs affecting a product, vendor, or technology without knowing the exact CPE string.
Cost: 1 credit per successful call
Query parameters
qstringrequiredThe search term. Accepts two forms:
- CVE-ID prefix -
CVE-2024-3,2021-44228- matched againstNVD.Id. - Keyword -
apache http server,nginx,log4j- resolved through product and vendor names to find associated CVEs.
Minimum 2 characters, maximum 200.
limitintegeroptionaldefault 25Maximum number of CVEs to return per page. Accepted range: 1–200.
offsetintegeroptionaldefault 0Number of results to skip for pagination. Accepted range: 0–10 000.
Request
curl "https://api.edgeprotect.io/functions/v1/cve/search?q=apache+http+server&limit=25&offset=0" \
-H "Authorization: Bearer $EDGEPROTECT_API_KEY"
Response
{
"data": {
"count": 13251,
"items": [
{
"id": "CVE-2026-49268",
"description": "A remote attacker can inject arbitrary commands via crafted HTTP requests in Apache HTTP Server before 2.4.62.",
"published": "2026-06-17T14:17:56.903Z",
"severity": {
"cvss_score": 9.1,
"cvss_version": "3.1",
"cvss_level": "CRITICAL"
},
"epss_score": 0.00494,
"is_kev": false
},
{
"id": "CVE-2026-48972",
"description": "mod_rewrite in Apache HTTP Server 2.4.59 allows SSRF via crafted RewriteRule directives.",
"published": "2026-06-10T08:22:11.450Z",
"severity": {
"cvss_score": 7.5,
"cvss_version": "3.1",
"cvss_level": "HIGH"
},
"epss_score": 0.01832,
"is_kev": false
}
],
"query": "apache http server",
"has_more": true
},
"meta": {
"request_id": "8b16efb8-9a6c-4ace-b817-11cbee626d08",
"generated_at": "2026-10-27T14:30:00.000Z",
"credits": { "charged": 1, "remaining": 9998 }
}
}
Response fields
data.countintegeroptionalTotal number of matching CVEs across all pages.
data.itemsarrayoptionalThe current page of CVE results, sorted by publication date descending.
data.items[].idstringoptionalCVE identifier (e.g. CVE-2021-44228).
data.items[].descriptionstringoptionalEnglish-language description from the NVD.
data.items[].publishedstringoptionalISO 8601 UTC timestamp of when this CVE was published to the NVD.
data.items[].severityobjectoptionalCVSS scoring, preferring v3.1 over v3.0 over v2. Absent when no CVSS data exists.
data.items[].severity.cvss_scorenumberoptionalBase CVSS score (0.0–10.0).
data.items[].severity.cvss_versionstringoptionalCVSS version used (3.1, 3.0, or 2.0).
data.items[].severity.cvss_levelstringoptionalQualitative severity: CRITICAL, HIGH, MEDIUM, LOW, or NONE.
data.items[].epss_scorenumberoptionalEPSS exploit-probability score (0.0–1.0). Absent when EPSS has no model for this CVE.
data.items[].is_kevbooleanoptionalWhether this CVE is in the CISA Known Exploited Vulnerabilities catalogue.
data.querystringoptionalThe search term as received (echoed back for correlation).
data.has_morebooleanoptionaltrue when more pages exist beyond the current offset + limit.
Keyword queries split into tokens and match against both product and vendor
names in the CPE taxonomy. A search for "apache http server" matches the
vendor apache and the product http_server, surfacing all CVEs
attributed to either. Multi-word queries cast a wider net than single-word
ones; use the vendor-specific /cve/by-vendor endpoint when you want only
one vendor's top CVEs.
Errors
| Status | error |
When |
|---|---|---|
| 400 | missing_q |
The q parameter is absent or empty. |
| 400 | invalid_q, invalid_limit, invalid_offset |
A parameter failed validation. |
| 401 | invalid_authorization |
Missing or malformed Authorization header. |
| 401 | unauthorized |
Invalid/revoked key, or IP not allowlisted. |
| 402 | insufficient_credits |
Organisation credit balance is below 1. |
| 404 | not_found |
The route does not exist. |
| 405 | method_not_allowed |
Only GET and OPTIONS are accepted. |
| 500 | internal |
Unexpected server error (credit auto-refunded). |
See Errors for the full error reference.

