search_crossref
Search 170 million scholarly works across publishers by keyword, author, title, journal, or citation string to find papers and retrieve DOI metadata.
Instructions
Search ~170 million scholarly works registered in Crossref (all publishers: Elsevier, IEEE,
Springer, ACM, MDPI, Indonesian journals, ...). Every result carries a DOI you can pass to the
other crossref tools.
When to use:
- Broad literature discovery across publishers ("papers on X since 2022").
- Finding a specific paper from a messy citation string (use `bibliographic`).
- Listing an author's or a journal's works (use `author` / `orcid` / `issn`).
How matching works (important):
Crossref has NO exact-phrase search. `query="retrieval augmented generation"` matches any work
containing ANY of those words, so total_results is inflated and the tail is noise. Rely on the
top relevance-sorted results, add filters, or use analyze_crossref_topic for phrase-accurate trends.
Args:
query: Free-text keywords over all metadata, e.g. "graph neural network traffic forecasting".
author: Author name, e.g. "Geoffrey Hinton". Fuzzy; combine with `orcid` for precision.
title: Words that should appear in the title.
bibliographic: A full or partial citation string, e.g.
"LeCun Bengio Hinton 2015 Deep learning Nature". Best tool for "find this exact paper".
journal: Journal / proceedings name, e.g. "Expert Systems with Applications".
publisher: Publisher name, e.g. "IEEE".
affiliation: Author affiliation text, e.g. "Universitas Indonesia" (only works where deposited).
funder: Funder name, e.g. "LPDP" or "National Science Foundation".
from_date: Earliest publication date, "YYYY", "YYYY-MM" or "YYYY-MM-DD".
until_date: Latest publication date, same formats.
work_type: Crossref type id, e.g. "journal-article", "proceedings-article", "book-chapter",
"posted-content" (preprints), "dissertation", "dataset".
issn: Restrict to one journal by ISSN, e.g. "0957-4174".
orcid: Restrict to works carrying this ORCID iD, e.g. "0000-0002-1825-0097".
has_abstract: Only works with a deposited abstract (many publishers do not deposit them).
has_full_text: Only works with full-text links deposited (does NOT mean open access).
sort: "relevance" (default), "published", "is-referenced-by-count" (most cited),
"references-count", "updated", "created".
order: "desc" (default) or "asc".
rows: Results to return, 1-100 (default 10).
offset: Skip this many results for paging (Crossref caps offset at 10,000).
include_abstract: Add abstracts to results (longer output). Default False to save tokens;
fetch a single paper's abstract with get_crossref_work instead.
Returns:
{"total_results": int, "returned_results": int, "items": [work, ...]} where each work has
doi, title, authors, year, journal, publisher, type, cited_by_count, reference_count, url, ...
Examples:
search_crossref(query="large language model education", from_date="2023", work_type="journal-article")
search_crossref(author="Yoshua Bengio", sort="is-referenced-by-count", rows=5)
search_crossref(bibliographic="Vaswani 2017 Attention is all you need")
search_crossref(query="deep learning", issn="2169-3536", sort="published")
Note: cited_by_count counts only citations registered in Crossref; it is not a quality measure.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| issn | No | ||
| rows | No | ||
| sort | No | relevance | |
| orcid | No | ||
| order | No | desc | |
| query | No | ||
| title | No | ||
| author | No | ||
| funder | No | ||
| offset | No | ||
| journal | No | ||
| from_date | No | ||
| publisher | No | ||
| work_type | No | ||
| until_date | No | ||
| affiliation | No | ||
| has_abstract | No | ||
| bibliographic | No | ||
| has_full_text | No | ||
| include_abstract | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||