Discover/semanticscholar.org API
live

semanticscholar.org APIwww.semanticscholar.org

Search millions of academic papers on Semantic Scholar and retrieve full metadata: abstracts, citation counts, references, authors, and TLDR summaries.

Endpoint health
verified 2h ago
search_papers
get_paper
2/2 passing latest checkself-healing
Endpoints
2
Updated
3h ago
Try it
Page number for pagination (1-based).
Sort order for results.
Search query keywords to match against paper titles and content.
Number of results per page (1-100).
api.parse.bot/scraper/3592e139-8a42-48f1-8833-43555acf6680/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/3592e139-8a42-48f1-8833-43555acf6680/search_papers?page=1&sort=relevance&query=transformer+attention&page_size=5' \
  -H 'X-API-Key: $PARSE_API_KEY'
Or use the typed Python SDKfully typed · autocompletes

Typed Python client. Install the CLI, sign in, then pull this API’s generated client:

pip install parse-sdk
parse login
parse add --marketplace semanticscholar-org-api

parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.


"""Walkthrough: Semantic Scholar SDK — search papers, drill into details."""
from parse_apis.Semantic_Scholar_API import SemanticScholar, Sort, PaperNotFound

client = SemanticScholar()

# Search papers sorted by citation count — limit caps total items fetched.
for paper in client.paper_summaries.search(query="transformer attention", sort=Sort.CITATION_COUNT, limit=5):
    print(paper.title, paper.citation_count)

# Drill down: take one result and get full details via .details()
summary = client.paper_summaries.search(query="neural networks", sort=Sort.RELEVANCE, limit=1).first()
if summary:
    full = summary.details()
    print(full.title, full.abstract[:100] if full.abstract else "No abstract")
    print(f"  References: {full.reference_count}, Citations: {full.citation_count}")

# Direct paper lookup by known ID
paper = client.papers.get(paper_id=summary.paper_id)
print(paper.title, paper.year, paper.venue)
for author in paper.authors[:3]:
    print(f"  Author: {author.name}")

# Typed error handling for a missing paper
try:
    client.papers.get(paper_id="does_not_exist")
except PaperNotFound as exc:
    print(f"Paper not found: {exc.paper_id}")

print("exercised: paper_summaries.search / summary.details / papers.get / PaperNotFound")
All endpoints · 2 totalmissing one? ·

Search for academic papers by keyword query. Returns paginated results with each paper's title, authors, year, and citation count. Supports sorting by relevance (default, ranked by search relevance score) or by citation count descending. The total number of matching papers is included in the response. When sorted by relevance, uses the standard search API (subject to rate limits handled via proxy rotation). When sorted by citation count, uses the bulk search API for reliable results.

Input
ParamTypeDescription
pageintegerPage number for pagination (1-based).
sortstringSort order for results.
queryrequiredstringSearch query keywords to match against paper titles and content.
page_sizeintegerNumber of results per page (1-100).
Response
{
  "type": "object",
  "fields": {
    "page": "integer",
    "papers": "array of paper summaries with paper_id, title, authors, year, citation_count",
    "page_size": "integer",
    "total_results": "integer"
  },
  "sample": {
    "data": {
      "page": 1,
      "papers": [
        {
          "year": 2017,
          "title": "Attention is All you Need",
          "authors": [
            {
              "name": "John Doe",
              "author_id": "40348417"
            },
            {
              "name": "Jane Doe",
              "author_id": "1846258"
            }
          ],
          "paper_id": "204e3073870fae3d05bcbc2f6a8e263d9b72e776",
          "citation_count": 180883
        }
      ],
      "page_size": 3,
      "total_results": 55272
    },
    "status": "success"
  }
}

About the semanticscholar.org API

This API provides 2 endpoints for querying Semantic Scholar's academic paper index and retrieving detailed paper metadata. Use search_papers to run keyword searches across paper titles and content with pagination and sort controls, or call get_paper with a Semantic Scholar paper ID to fetch the full record including abstract, citation count, reference count, venue, fields of study, and an AI-generated TLDR summary when available.

Search Academic Papers

The search_papers endpoint accepts a required query string and returns a paginated list of matching papers. Each result includes a paper_id (the 40-character hex identifier used across Semantic Scholar), title, authors array, year, and citation_count. You can control pagination with page (1-based) and page_size (1–100), and sort results either by relevance (default) or by citation count descending via the sort parameter. The response also includes total_results so you can calculate how many pages exist.

Retrieve Full Paper Details

The get_paper endpoint takes a paper_id from search results and returns the complete record for that paper. Fields include abstract, reference_count, venue, publication_date, fields_of_study (an array of discipline strings such as "Computer Science" or "Biology"), and tldr — a short machine-generated summary that appears when Semantic Scholar has generated one for the paper. Authors are returned as objects with both name and author_id fields.

Data Coverage and Limitations

Semantic Scholar indexes over 200 million academic papers across disciplines. The abstract and tldr fields can be null when a paper record lacks that data. Sorting in search_papers supports two modes: relevance ranking and citation count descending — there is no date-based sort option currently exposed. Paper IDs are stable Semantic Scholar identifiers and can be used directly in get_paper without any transformation.

Reliability & maintenanceVerified

The semanticscholar.org API is a managed, monitored endpoint for www.semanticscholar.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when www.semanticscholar.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official www.semanticscholar.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a literature review tool that ranks papers by citation_count to surface the most-cited work on a topic
  • Populate a citation management app using abstract, authors, venue, and year returned by get_paper
  • Filter recent research by fields_of_study to narrow domain-specific paper discovery pipelines
  • Display AI-generated tldr summaries to give readers a one-sentence overview before reading a full paper
  • Track a paper's reference_count and citation_count to analyze its influence and depth of prior work
  • Power a research alert system that searches query terms daily and surfaces newly indexed matching papers
  • Aggregate author_id values from search results to build a co-authorship or collaboration graph
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Semantic Scholar have an official developer API?+
Yes. Semantic Scholar offers the Semantic Scholar Academic Graph API at https://api.semanticscholar.org/graph/v1, which provides access to papers, authors, and citations with an API key.
What does `get_paper` return that `search_papers` does not?+
get_paper adds abstract, reference_count, venue, publication_date, fields_of_study, and the tldr summary string. The search_papers endpoint returns only paper_id, title, authors, year, and citation_count per result — enough to browse and select, but not enough for full metadata display without a follow-up call to get_paper.
Can I retrieve author profiles or citation graphs, not just paper metadata?+
Not currently. The API covers paper search and per-paper detail records. Author profiles, full citation networks, and co-authorship graphs are not exposed by the current endpoints. You can fork it on Parse and revise to add an author-lookup or citation-traversal endpoint.
Is there a way to sort search results by publication date?+
The sort parameter currently supports relevance (default) and citation count descending. Date-based sorting is not exposed. Each paper result does include a year field, so you can sort client-side on that value. You can also fork the API on Parse and revise it to add a date sort option if the underlying data supports it.
How large can a single search response be, and how does pagination work?+
page_size accepts values from 1 to 100. The response includes total_results so you can compute the number of pages. Pagination is 1-based via the page parameter. For very broad queries, total_results may be large but only the requested page slice is returned.
Page content last updated . Spec covers 2 endpoints from www.semanticscholar.org.
Related APIs in EducationSee all →
arxiv.org API
Search and discover academic research papers on arXiv using keywords, authors, titles, categories, and dates, then access detailed metadata for any paper. Browse the complete arXiv category taxonomy to explore research across different scientific disciplines.
zenodo.org API
Search and retrieve research records, files, versions, and community data from Zenodo's open science repository. Access detailed information about academic publications, datasets, and research outputs, including file listings, version history, and community collections all in one place.
openalex.org API
Search and retrieve millions of academic papers, articles, and books from OpenAlex's comprehensive global research catalog to find scholarly works by topic, author, or citation. Discover detailed information about research publications including metadata, abstracts, and citation counts to stay current with academic literature in your field.
ieeexplore.ieee.org API
Search for scientific papers and retrieve their metadata, abstracts, references, and citations from IEEE Xplore's collection of journals and conferences. Look up author profiles, browse journals, and access paper details and full text sections all programmatically.
dictionary.cambridge.org API
Look up word definitions, pronunciations, translations, synonyms, and example sentences from Cambridge Dictionary. Search and browse thousands of words, get daily word recommendations, and access specialized business or American English dictionaries.
teacherspayteachers.com API
Search and browse K-12 educational resources from Teachers Pay Teachers, view detailed resource information and reviews, and explore seller profiles and their offerings. Discover both premium and free teaching materials to find the perfect resources for your classroom needs.
YÖK Atlas API
Access Turkey's official higher education database via YÖK Atlas. Search and filter universities and degree programs by city, score type, and field of study; retrieve admission statistics, success rankings, quotas, tuition details, graduate exam outcomes, and full university profiles.
worldcat.org API
Search millions of books and library materials worldwide, check availability at libraries near you, and discover reading lists and reviews all in one place. Find exactly what you're looking for across global library collections and get instant insights into where to access it.