Check the setup
- Python 3.10 or newer
- A notebook environment such as Jupyter or Google Colab
- An internet connection
Curated biomedical citation records for building topic alerts, evidence discovery tools, publication monitors, and research trend summaries.
From source to product signal
PubMed indexes biomedical and life-sciences citations with controlled vocabulary and publication metadata. Start with one query and records added during the last 30 days. Indexing can lag publication, query wording changes results, and a citation record is not an appraisal of evidence.
Install the packages, then run the notebook cell.
python -m pip install pandas requests
from datetime import date, timedelta
import pandas as pd
import requests
start = date.today() - timedelta(days=30)
search = requests.get(
"https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi",
params={
"db": "pubmed",
"term": f'wildfire smoke AND ("{start:%Y/%m/%d}"[Date - Entry] : "3000"[Date - Entry])',
"retmax": 50,
"retmode": "json",
},
timeout=30,
)
search.raise_for_status()
ids = search.json()["esearchresult"]["idlist"]
summaries = requests.get(
"https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi",
params={"db": "pubmed", "id": ",".join(ids), "retmode": "json"},
timeout=30,
)
summaries.raise_for_status()
records = summaries.json()["result"]
articles = pd.DataFrame([records[item] for item in ids])
print(articles[["uid", "title", "pubdate"]].head(20))Test a useful signal
Find PubMed records about wildfire smoke added during the last 30 days.
U.S. National Library of Medicine is a government source. Last verified 2026-08-13. Temporal coverage: 1946-present.