Check the Setup
- Python 3.10 or newer
- A notebook environment such as Jupyter or Google Colab
- An internet connection
Open preprint descriptive metadata for building topic alerts and research discovery tools that link back to arXiv.
Report a ProblemFrom Source to Product Signal
The arXiv API returns Atom feeds of e-print metadata. Start with one category and a handful of recent results. Metadata is CC0; full-text PDFs remain under each paper's license, and a preprint is not a peer-reviewed journal record.
Install the packages, then run the notebook cell.
python -m pip install pandas requests
import xml.etree.ElementTree as ET
import pandas as pd
import requests
response = requests.get(
"https://export.arxiv.org/api/query",
params={
"search_query": "cat:cs.LG",
"start": 0,
"max_results": 5,
"sortBy": "submittedDate",
"sortOrder": "descending",
},
timeout=30,
)
response.raise_for_status()
ns = {"atom": "http://www.w3.org/2005/Atom"}
root = ET.fromstring(response.text)
rows = []
for entry in root.findall("atom:entry", ns):
rows.append({
"id": entry.findtext("atom:id", default="", namespaces=ns),
"title": " ".join((entry.findtext("atom:title", default="", namespaces=ns) or "").split()),
"published": entry.findtext("atom:published", default="", namespaces=ns),
})
preprints = pd.DataFrame(rows)
preprints["retrieved_at_utc"] = pd.Timestamp.now(tz="UTC")
print(preprints)Test a Useful Signal
List five recent cs.LG submissions and their arXiv identifiers.
arXiv is an academic source. Last verified 2026-08-14. Temporal coverage: 1991-present.