PubMed Search outputs
Read pmid, title, abstract, authors and journal per article — plus the doi, pmcid and mesh_terms that only pubmed_search returns, never advanced search.
The search returns matched article metadata — PMIDs, titles, abstracts, authors, and journal details. Those abstracts and PMIDs feed model-driven entity extraction, a Literature Passport, or Semantic Scholar citation analysis.
Output structure
PubMed Search returns a JSON object containing matched article metadata and search summary information.
Top-level fields
| Field | Type | Description |
|---|---|---|
total | integer | Total number of matching articles in PubMed (may exceed the returned count) |
query | string | The search query as sent to PubMed |
articles | array | List of article objects (up to the number of results requested) |
Article fields
Each article in the articles array contains:
| Field | Type | Description |
|---|---|---|
pmid | string | PubMed identifier (e.g., "38456789") |
title | string | Article title |
abstract | string | Article abstract text, assembled from EFetch. A plain search fetches this by default; empty when EFetch finds no <AbstractText> for the article |
authors | string[] | First 5 author names in "Last Initials" format |
journal | string | Journal name or abbreviation |
year | string | Publication year |
pubmed_url | string | Direct link to the article on PubMed |
Plain-search additional fields
A plain search calls EFetch alongside ESummary, so its results carry more than the basic fields above when present:
| Field | Type | Description |
|---|---|---|
doi | string | Digital Object Identifier, parsed from ESummary's elocationid |
pmcid | string | PubMed Central ID, when the article has one |
mesh_terms | string[] | Medical Subject Headings, parsed from EFetch's <DescriptorName> tags |
keywords | string[] | Author-supplied keywords, parsed from EFetch's <Keyword> tags |
pubtype / article_type | string[] / string | Article types (e.g., "Review", "Clinical Trial") from ESummary |
fulljournalname | string | Full journal name, when ESummary provides one |
Filtered-search fields
A search filtered by author, affiliation, date range, or article type only calls ESearch + ESummary — no EFetch — so its results have no abstract, mesh_terms, or keywords. It returns pmid, title, authors, journal, year, doi, pmcid, and a has_fulltext boolean (true when a pmcid is present).
Example output
The second article shows an empty abstract — EFetch returns no <AbstractText> for every PMID (older records and some non-English-language articles commonly lack one), and the search does not fabricate one.
Canvas visualization
PubMed Search results render through a custom canvas renderer as a list of article titles with journal and year, following the platform's standard card shape — there's no PubMed-specific card size or border color.
Interpreting canvas metrics
| Metric | Meaning |
|---|---|
| High total count (>1000) | Broad or popular topic; consider narrowing with additional filters |
| Low total count (<10) | Niche topic or overly specific query; consider broader terms |
| Recent dates dominate | Active research area with current interest |
| Older dates dominate | Established field; may need to check for recent developments separately |
Downstream data use
Entity extraction
Ask the model to read the returned abstracts directly — no separate tool call. It extracts:
- Gene/protein names: EGFR, TP53, BRCA1
- Compound names: osimertinib, gefitinib, sotorasib
- Disease terms: NSCLC, breast cancer, AML
- Relationships: Drug-target, drug-disease, gene-disease associations
Chaining into Literature Passport
The Literature Passport aggregates PubMed results with entity extraction and trend analysis into a comprehensive report. It uses the PubMed result set as its primary data source.
Chaining into Semantic Scholar
Pass PMIDs to Semantic Scholar for citation network analysis, influential citation identification, and citation count data that PubMed does not provide natively.
Error responses
When a search fails or returns no results:
| Field | Type | Description |
|---|---|---|
error | string | Error message describing the failure |
total | integer | Set to 0 for empty result sets |
query | string | The query that was attempted |
articles | array | Empty array |
Common error values:
"No results found"— Query matched zero articles"NCBI API timeout"— E-utilities did not respond within 45 seconds"Rate limit exceeded"— Too many concurrent NCBI requests
Read next
Was this page helpful?