Papers¶
search_papers¶
Search Papers. Read-only. Reaches outside the server.
Search Semantic Scholar for papers matching a query.
Usually completes in a few seconds. Returns at most 100 papers per call;
a larger limit is capped at 100, so page further with offset.
Answers directly in normal use. Should the call run long it continues in
the background and returns a job handle to poll with get_job_result.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
query |
string |
required | Keyword or semantic search query. |
fields |
compact \| standard \| full |
"compact" |
Field set preset: compact, standard or full. |
limit |
integer |
10 |
Maximum results to return (max 100). |
offset |
integer |
0 |
Pagination offset. |
year_start |
integer \| null |
null |
Earliest publication year (inclusive). |
year_end |
integer \| null |
null |
Latest publication year (inclusive). |
fields_of_study |
array of string \| null |
null |
Filter by fields, such as ["Computer Science"]. |
venue |
string \| null |
null |
Filter by venue name. |
min_citations |
integer \| null |
null |
Minimum citation count. |
sort |
relevance \| citations \| year |
"relevance" |
Sort order: relevance, citations or year. |
Returns
A mapping with data (list of papers) and total.
Field sets:
- compact:
paperId,title,year,venue,citationCount - standard: compact +
authors,externalIds,abstract - full: standard +
tldr,openAccessPdf,fieldsOfStudy,referenceCount
get_paper¶
Get Paper. Read-only. Reaches outside the server.
Fetch full metadata for a single paper.
A cached paper answers immediately. Otherwise the record is fetched and
enriched; should that run long it continues in the background and returns
a job handle to poll with get_job_result.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
identifier |
string |
required | Paper identifier: DOI, S2 paper ID, arXiv ID (prefix with ARXIV:), ACM ID (ACM:), or PubMed ID (PMID:). |
Returns
A mapping with full paper metadata, or
{"error": "not_found", "identifier": "..."} if not found. The
mapping also carries access_links, labelled routes to the paper
that the server itself never opens, when the paper has the
identifiers a configured route needs. By default that is the
doi.org link, so a paper without a DOI gets none.
The record uses the full field set plus journal (name, volume and pages) and publicationVenue (the venue, with its ISSN for a journal).
Results are cached for 30 days. Identifier aliases (such as DOI to S2 ID) are cached permanently.
A record can also have access_links: {label, url} routes to the paper, which the server works out again on each call. By default the list holds only the doi.org link, so a paper without a DOI gets no access_links. An operator can list library routes in its place or turn links off.
get_author¶
Get Author. Read-only. Reaches outside the server.
Fetch author profile and publications, or search by name.
If identifier looks like a numeric S2 author ID, fetches the author directly. Otherwise performs a name search and returns up to 5 candidates for disambiguation.
A direct lookup returns one page of publications, limit long from
offset; next_offset is present when more follow. Semantic Scholar
can list fewer publications than paperCount, so the last page may end
short of that count.
Answers directly in normal use. Should the call run long it continues in
the background and returns a job handle to poll with get_job_result.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
identifier |
string |
required | S2 author ID (numeric string) or free-text author name. |
limit |
integer |
20 |
Publications per page (only used for direct ID lookup). |
offset |
integer |
0 |
Publication page offset (only used for direct ID lookup). |
Returns
A mapping with author data and a paginated papers list, plus
next_offset when more publications follow, or
{"candidates": [...]} for name searches.
Semantic Scholar sends an author's whole publication list at once, so every page is cut from one cached record: later pages cost no further request.