semantic-scholar.md 6.0 KB

Semantic Scholar API

Semantic Scholar indexes 200M+ papers across all academic fields with AI-powered features: citation context, influential citations, TLDRs, and paper recommendations.

Base URLs

https://api.semanticscholar.org/graph/v1       (Academic Graph)
https://api.semanticscholar.org/recommendations/v1  (Recommendations)

Authentication

The fields Parameter

Almost every endpoint accepts fields -- a comma-separated list (no spaces) of fields to include. Without it, you only get paperId + title.

Paper fields: paperId, corpusId, externalIds, url, title, abstract, venue, publicationVenue, year, referenceCount, citationCount, influentialCitationCount, isOpenAccess, openAccessPdf, fieldsOfStudy, s2FieldsOfStudy, publicationTypes, publicationDate, journal, authors, citations, references, tldr, embedding

Author fields: authorId, externalIds, url, name, affiliations, homepage, paperCount, citationCount, hIndex, papers

Paper ID Formats

The {paper_id} parameter accepts:

  • 649def34f8be52c8b66281af98ae884c09aef38b (S2 hash)
  • CorpusId:215416146
  • DOI:10.1038/s41586-021-03819-2
  • ARXIV:2005.14165
  • PMID:19872477
  • PMCID:2323736
  • ACL:W12-3903

Key Endpoints

1. Paper search (relevance)

GET /graph/v1/paper/search?query={text}&fields={fields}&offset={n}&limit={n}
Parameter Default Description
query required Plain-text search
fields paperId,title Comma-separated
offset 0 Pagination start
limit 100 Max 100
year -- 2019 or 2016-2020
publicationDateOrYear -- YYYY-MM-DD:YYYY-MM-DD
fieldsOfStudy -- e.g., Computer Science,Medicine
publicationTypes -- e.g., JournalArticle,Conference
openAccessPdf -- Filter for OA papers
minCitationCount -- Minimum citations
venue -- Comma-separated venues

Max 1,000 results accessible via offset.

Example:

https://api.semanticscholar.org/graph/v1/paper/search?query=CRISPR+gene+therapy&fields=title,year,abstract,citationCount,authors,openAccessPdf&limit=10&year=2023-2024

2. Paper bulk search (boolean queries, large result sets)

GET /graph/v1/paper/search/bulk?query={text}&fields={fields}&sort={field}:{order}&token={token}
  • Supports boolean operators: + (AND), | (OR), - (NOT), "..." (phrase), * (wildcard), () (grouping)
  • Token-based pagination (up to 10M papers)
  • Returns up to 1,000 per call
  • Sortable: citationCount:desc, publicationDate:desc, paperId:asc

3. Paper details (by ID)

GET /graph/v1/paper/{paper_id}?fields={fields}

Example:

https://api.semanticscholar.org/graph/v1/paper/DOI:10.1038/s41586-021-03819-2?fields=title,year,abstract,citationCount,referenceCount,isOpenAccess,openAccessPdf,authors,tldr

Response:

{
  "paperId": "dc32a984b651256a8ec282be52310e6bd33d9815",
  "title": "Highly accurate protein structure prediction with AlphaFold",
  "year": 2021,
  "citationCount": 34260,
  "isOpenAccess": true,
  "openAccessPdf": {"url": "https://...pdf", "status": "HYBRID"},
  "tldr": {"text": "This work develops AlphaFold, a system that..."},
  "authors": [{"authorId": "47921134", "name": "J. Jumper"}, ...]
}

4. Paper citations

GET /graph/v1/paper/{paper_id}/citations?fields={fields}&offset={n}&limit={n}

Returns papers that cite this paper. limit max 1000.

Citation-specific fields: contexts, intents, isInfluential

5. Paper references

GET /graph/v1/paper/{paper_id}/references?fields={fields}&offset={n}&limit={n}

Returns papers cited by this paper. Same pagination as citations.

6. Paper title match

GET /graph/v1/paper/search/match?query={exact title}&fields={fields}

Returns single best match with matchScore. 404 if no match.

7. Author search

GET /graph/v1/author/search?query={name}&fields={fields}&offset={n}&limit={n}

8. Author details

GET /graph/v1/author/{author_id}?fields={fields}

9. Author's papers

GET /graph/v1/author/{author_id}/papers?fields={fields}&offset={n}&limit={n}

10. Paper recommendations

GET /recommendations/v1/papers/forpaper/{paper_id}?fields={fields}&limit={n}&from={pool}

from: recent (default) or all-cs. limit max 500.

11. Multi-paper recommendations (POST)

POST /recommendations/v1/papers/
Content-Type: application/json

{
  "positivePaperIds": ["paperId1", "paperId2"],
  "negativePaperIds": ["paperId3"]
}

12. Paper batch (POST)

POST /graph/v1/paper/batch?fields={fields}
Content-Type: application/json

{"ids": ["DOI:10.1038/nature12373", "ARXIV:2005.14165"]}

Max 500 IDs per request.

Pagination

Endpoint Max per page Max total Method
Relevance search 100 1,000 offset/next
Bulk search 1,000 10,000,000 token
Citations/References 1,000 all offset/next
Author search 1,000 -- offset/next

Publication Types

Review, JournalArticle, CaseReport, ClinicalTrial, Conference, Dataset, Editorial, LettersAndComments, MetaAnalysis, News, Study, Book, BookSection

Fields of Study

Computer Science, Medicine, Chemistry, Biology, Materials Science, Physics, Geology, Psychology, Art, History, Geography, Sociology, Business, Political Science, Economics, Philosophy, Mathematics, Engineering, Environmental Science, Agricultural and Food Sciences, Education, Law, Linguistics

Error Format

{"message": "Too Many Requests", "code": "429"}

HTTP 404 for not found, 429 for rate limit.