Developers

API Documentation

Integrate NullCVE vulnerability data into your security tooling, SIEM, or internal dashboards.

On this page

Overview

The NullCVE REST API gives you programmatic access to the full vulnerability dataset — CVSS scores, EPSS probabilities, CISA KEV status, PoC availability, and the composite NullScore on every record.

API access is included in the Pro plan at $29/month. Upgrade to Pro to get your API key.

Pro
API access requires a Pro subscription. Get started — $29/month, cancel anytime. Full NullScore data on every record, filterable by severity, KEV status, EPSS threshold, and stack.

Authentication

All API requests require your API key passed as a Bearer token in the Authorization header.

# Example request with authentication
curl https://api.nullcve.io/v1/vulnerabilities \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Keep your API key secret. Do not expose it in client-side code or public repositories. Rotate it immediately if compromised — contact API Docs hello@nullcve.io.

Base URL

https://api.nullcve.io/v1

All endpoints are versioned. The current version is v1. We will provide deprecation notices before breaking changes.

Endpoints Coming soon

The API is currently in development. These are the planned endpoints for the initial release. Sign up for Pro to be notified when access opens.

List vulnerabilities

GET /vulnerabilities Returns paginated list sorted by NullScore

Query parameters:

ParameterTypeDescription
limit optionalintegerResults per page. Default 50, max 500.
offset optionalintegerPagination offset. Default 0.
severity optionalstringFilter by severity: critical, high, medium, low
kev optionalbooleanFilter to CISA KEV confirmed only
poc optionalbooleanFilter to CVEs with public PoC only
epss_min optionalfloatMinimum EPSS score (0.0 to 1.0)
days optionalintegerPublished within last N days. Default 30.
# Get critical KEV-confirmed CVEs from last 7 days
curl "https://api.nullcve.io/v1/vulnerabilities?severity=critical&kev=true&days=7" \
  -H "Authorization: Bearer YOUR_API_KEY"
// Response
{
  "data": [
    {
      "cve_id":       "CVE-2025-21298",
      "null_score":  98,
      "severity":    "CRITICAL",
      "cvss":        9.8,
      "epss":        0.97,
      "is_kev":      true,
      "poc_available": true,
      "description": "Windows OLE Remote Code Execution...",
      "action":      "Patch in 24 hours",
      "published":   "2025-01-14"
    }
  ],
  "total":  47,
  "limit":  50,
  "offset": 0
}

Get CVE by ID

GET /vulnerabilities/{cve_id} Full record for a specific CVE
curl "https://api.nullcve.io/v1/vulnerabilities/CVE-2025-21298" \
  -H "Authorization: Bearer YOUR_API_KEY"

KEV feed

GET /kev CISA Known Exploited Vulnerabilities with NullScore

Returns all CVEs currently on the CISA KEV catalog, enriched with NullScore and EPSS data, sorted by NullScore descending.

curl "https://api.nullcve.io/v1/kev" \
  -H "Authorization: Bearer YOUR_API_KEY"

Stack filter

POST /vulnerabilities/stack CVEs filtered to your tech stack

Returns CVEs matching your submitted tech stack components. Useful for automated recon and patch prioritization pipelines.

curl "https://api.nullcve.io/v1/vulnerabilities/stack" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "components": [
      {"name": "nginx", "version": "1.18"},
      {"name": "openssl", "version": "3.1"},
      {"name": "windows_server", "version": "2022"}
    ],
    "limit": 20
  }'

NullScore fields

FieldTypeDescription
null_scoreintegerComposite risk score 0–100. Higher = patch sooner.
cvssfloatCVSS v3.1 base score from NVD.
epssfloatEPSS exploitation probability 0.0–1.0 from First.org.
is_kevbooleanTrue if confirmed on CISA KEV catalog.
poc_availablebooleanTrue if public PoC exploit code exists.
severitystringCRITICAL, HIGH, MEDIUM, or LOW.
actionstringPlain English recommended action.

Error codes

CodeMeaning
401Unauthorized — invalid or missing API key
403Forbidden — feature not available on your plan
404CVE ID not found in database
429Rate limit exceeded — slow down requests
500Server error — contact support if persistent

Rate limits

PlanRequests per minuteRequests per day
Pro6010,000
EnterpriseCustomCustom

Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Need higher limits? Contact us about Enterprise.