---
name: cve-list-v5-ingestion
description: "How to get CVE List V5 data into a pandas DataFrame and Parquet: access, the request, the format, limits, quirks and terms."
---

# Load the CVE List V5 rolling change log into Parquet

Source entry: https://signal-lab-jet.vercel.app/datasets/cve-list-v5
Provider: https://github.com/CVEProject/cvelistV5
Checked against the provider's documentation: 2026-11-04

## Access
- No account or key for raw GitHub files; use git or releases for a full mirror.

## Request
```bash
curl -O 'https://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/deltaLog.json'
```

## Format
JSON fetch batches with fetchTime, numberOfChanges, and new, updated and error arrays carrying CVE IDs and record URLs.

## Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
```python
"""CVE List V5 rolling changes -> pandas -> Parquet. No key."""
import requests
import pandas as pd

URL = "https://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/deltaLog.json"
r = requests.get(URL, timeout=120)
r.raise_for_status()
batches = r.json()
rows = []
for batch in batches:
    for change_type in ("new", "updated", "error"):
        for item in batch.get(change_type, []):
            rows.append({"fetchTime": batch["fetchTime"], "changeType": change_type, **item})
df = pd.DataFrame(rows)
df.to_parquet("cve_v5_delta.parquet", index=False)
print(len(df), "change rows across", len(batches), "fetch batches; latest", batches[0]["fetchTime"])
```
Run by us on 2026-11-04 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 123804 change rows across 2700 fetch batches; latest 2026-11-04T18:00:22.301Z

## Limits
- Rate limits: Not stated.
- The rolling delta log normally retains 30 days.

## Quirks
- Records can be revised or rejected.
- Fetch each githubLink for the full record.
- Daily baseline and hourly delta ZIPs can be large.

## Terms and attribution
- CVE use is royalty-free.
- Copies must reproduce MITRE's copyright designation and licence.
- Terms page: https://www.cve.org/Legal/TermsOfUse

## Sources
- https://raw.githubusercontent.com/CVEProject/cvelistV5/main/README.md: "They are updated regularly (about every 7 minutes) using the official CVE Services API."
- https://www.cve.org/Legal/TermsOfUse: "Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy."

## Help improve this skill
Missing a source, or see something to improve? Call the MCP tool suggest_source or feedback (or POST /api/suggest or /api/feedback). Reviewed ideas: https://signal-lab-jet.vercel.app/agent-suggestions

Information for educational purposes only. Free tiers, limits and licenses belong to the providers and may change; check the provider's own terms before using the data.
