Semantic Scholar API: Search papers
Searches Semantic Scholar for research papers in relevance order, with field of study, year range and open-access filters, returning AI one-sentence summaries, citations and free PDF links when available.
Unofficial. Not affiliated with or endorsed by Semantic Scholar.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Field optional
field Field of study in plain words, for example Medicine or Computer Science.
Computer Science
- Query, required
query Topic or words from a paper title, for example long covid fatigue.
graph neural networks
- End Year optional
end_year Latest publication year, for example 2025.
2024
Whole number from 1800 to 2100.
- Start Year optional
start_year Earliest publication year, for example 2020.
2021
Whole number from 1800 to 2100.
- Max Results optional
max_results Maximum papers to return, for example 10 (up to 100).
12
Whole number from 1 to 100. Default
10.- Open Access Only optional
open_access_only Only show open-access papers, for example true.
true
True or false. Default
false.
Input as JSON
{ "field": "Computer Science", "query": "graph neural networks", "end_year": 2024, "start_year": 2021, "max_results": 12, "open_access_only": true}Output
{ "papers": [ { "year": 2021, "title": "E(3)-equivariant graph neural networks for data-efficient and accurate interatomic potentials", "venue": "Nature Communications", "authors": [ "Simon L. Batzner", "Albert Musaelian", "Li-Xin Sun" ], "summary": "NequIP achieves state-of-the-art accuracy, can faithfully describe dynamics of complex systems with remarkable sample efficiency and outperforms existing models with up to three orders of magnitude fewer training data, challenging the widely held belief that deep neural networks require massive trai…", "paper_id": "7456dea3a3646f2df6392773a196a5abd0d53b11", "paper_link": "https://www.semanticscholar.org/paper/7456dea3a3646f2df6392773a196a5abd0d53b11" , "free_pdf_link": "https://www.nature.com/articles/s41467-022-29939-5.pdf" , "number_of_citations": 2395 }, { "year": 2022, "title": "Rethinking Graph Neural Networks for Anomaly Detection", "venue": "International Conference on Machine Learning", "authors": [ "Jianheng Tang", "Jiajin Li", "Zi-Chao Gao" ], "summary": "This work proposes the Beta Wavelet Graph Neural Network (BWGNN), which has spectral and spatial localized band-pass filters to better handle the `right-shift' phenomenon in anomalies.", "paper_id": "53e80869c6582d7f95ef0a351170736afd1742d0", "paper_link": "https://www.semanticscholar.org/paper/53e80869c6582d7f95ef0a351170736afd1742d0" , "free_pdf_link": "https://arxiv.org/pdf/2205.15508" , "number_of_citations": 438 }, { "year": 2024, "title": "A review of graph neural networks: concepts, architectures, techniques, challenges, datasets, applications, and future directions", "venue": "Journal of Big Data", "authors": [ "B. Khemani", "S. Patil", "K. Kotecha" ], "summary": "The paper delves into specific GNN models like graph convolution networks (GCNs), GraphSAGE, and graph attention networks (GATs), which are widely used in various applications today and offers an extensive overview of the landscape of GNN research and its practical implementations.", "paper_id": "1fad14bcfc2b75797c686a5a05779076437a683e", "paper_link": "https://www.semanticscholar.org/paper/1fad14bcfc2b75797c686a5a05779076437a683e" , "free_pdf_link": "https://journalofbigdata.springeropen.com/counter/pdf/10.1186/s40537-023-00876-4" , "number_of_citations": 584 } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"semanticscholar.org/search_papers","input":{"field":"Computer Science","query":"graph neural networks","end_year":2024,"start_year":2021,"max_results":12,"open_access_only":true}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "semanticscholar.org/search_papers" , "input": { "field": "Computer Science", "query": "graph neural networks", "end_year": 2024, "start_year": 2021, "max_results": 12, "open_access_only": True }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "semanticscholar.org/search_papers" , "input": { "field": "Computer Science", "query": "graph neural networks", "end_year": 2024, "start_year": 2021, "max_results": 12, "open_access_only": true } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run semanticscholar.org/search_papers# with {"field":"Computer Science","query":"graph neural networks","end_year":2024,"start_year":2021,"max_results":12,"open_access_only":true}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "query" ], "properties": { "field": { "type": "string", "description": "Field of study in plain words, for example Medicine or Computer Science." }, "query": { "type": "string", "minLength": 1, "description": "Topic or words from a paper title, for example long covid fatigue." }, "end_year": { "type": "integer", "maximum": 2100, "minimum": 1800, "description": "Latest publication year, for example 2025." }, "start_year": { "type": "integer", "maximum": 2100, "minimum": 1800, "description": "Earliest publication year, for example 2020." }, "max_results": { "type": "integer", "default": 10, "maximum": 100, "minimum": 1, "description": "Maximum papers to return, for example 10 (up to 100)." }, "open_access_only": { "type": "boolean", "default": false, "description": "Only show open-access papers, for example true." } }}Output schema
{ "type": "object", "required": [ "papers" ], "properties": { "papers": { "type": "array", "items": { "type": "object", "required": [ "title", "authors", "year", "venue", "number_of_citations", "summary", "free_pdf_link", "paper_link", "paper_id" ], "properties": { "year": { "type": [ "integer", "null" ] }, "title": { "type": "string" }, "venue": { "type": [ "string", "null" ] }, "authors": { "type": "array", "items": { "type": "string" } }, "summary": { "type": [ "string", "null" ] }, "paper_id": { "type": "string" }, "paper_link": { "type": "string" }, "free_pdf_link": { "type": [ "string", "null" ] }, "number_of_citations": { "type": [ "integer", "null" ] } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
semanticscholar.org/search_papers- Returns
- title, authors, year, venue, citations, summary, free PDF link, paper link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method semanticscholar.org/search_papers with the inputs above.
Ask your agent
- Find open-access papers on CRISPR off-target effects published between 2019 and 2024, with free PDF links if available
- Search Semantic Scholar for the top 20 computer science papers about retrieval-augmented generation from 2023 onward
- I need recent medicine research on long COVID fatigue in adolescents — give me titles, citation counts and a one-line summary of each
- What are the most relevant papers on microplastics in freshwater fish since 2015? Only free-to-read ones, please, max 15 results.
- Use semanticscholar.org to look up economics papers on universal basic income pilot programs from 2010 to 2022 and show venues and authors
See more
All Semantic Scholar methodsFinds a paper on Semantic Scholar by title, DOI or Semantic Scholar link and returns its abstract, one-sentence summary, authors, publication details, citation counts and a free PDF link when there is one.
semanticscholar.org/get_paperFinds a Semantic Scholar author by name (optionally limited to a listed institution), picks the best-cited matching profile and returns their impact metrics and up to 10 most-cited papers.
semanticscholar.org/get_authorSearches OpenAlex scholarly works by topic, with optional institution, publication-year and open-access filters, ranked by relevance, citations or newest date.
openalex.org/search_papersFinds arXiv preprints by topic or title words, with optional author, subject, submission date range and sorting. Returns up to 100 papers with abstracts, subjects, dates and links.
arxiv.org/search_papersFinds PubMed medical and life-science articles by topic, with publication details and free full-text links when PubMed confirms them.
pubmed.ncbi.nlm.nih.gov/search_articlesFinds bioRxiv and medRxiv preprints whose title, abstract or subject matches all topic words, within a posting date range, newest first. Adds published journal details when available.
biorxiv.org/search_preprintsFinds a legal free copy of a paper by title or DOI, with its best available link and other copies. If no free copy is indexed, the copy links are null.
unpaywall.org/get_free_versionGets an arXiv paper's title, authors, abstract, subjects, submission dates and publication details from its exact title, arXiv link or number.
arxiv.org/get_paper