Semantic Scholar API: Get researcher impact metrics
Finds 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.
Unofficial. Not affiliated with or endorsed by Semantic Scholar.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Author, required
author Researcher name, for example Fei-Fei Li.
Fei Li
- Institution optional
institution Institution to match against listed affiliations, for example Southwest Petroleum University.
Southwest Petroleum University
Input as JSON
{ "author": "Fei Li", "institution": "Southwest Petroleum University"}Output
{ "name": "Fei Li", "h_index": 16, "homepage": "https://www.x-mol.com/groups/lifei_lab" , "author_id": "40573142", "top_papers": [ { "year": 2019, "title": "Modern carbonate ooids preserve ambient aqueous REE signatures", "venue": "Chemical Geology", "citations": 101, "paper_link": "https://www.semanticscholar.org/paper/3cec4004626de001a5137ed9ee5fcd1f46bbee43" }, { "year": 2017, "title": "Paleo-seawater REE compositions and microbial signatures preserved in laminae of Lower Triassic ooids", "venue": null, "citations": 70, "paper_link": "https://www.semanticscholar.org/paper/a2daa86c301f7083fac2e6b93a047f45d8dd7e24" }, { "year": 2021, "title": "Tracing seawater- and terrestrial-sourced REE signatures in detritally contaminated, diagenetically altered carbonate rocks", "venue": "Chemical Geology", "citations": 51, "paper_link": "https://www.semanticscholar.org/paper/3e94c352f0b49c52ef59caa6669ec513bf1e9431" } ], "affiliations": [ "Southwest Petroleum University" ], "total_citations": 564, "author_page_link": "https://www.semanticscholar.org/author/40573142" , "number_of_papers": 32}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"semanticscholar.org/get_author","input":{"author":"Fei Li","institution":"Southwest Petroleum University"}}' # 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/get_author" , "input": { "author": "Fei Li", "institution": "Southwest Petroleum University" }})# 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/get_author" , "input": { "author": "Fei Li", "institution": "Southwest Petroleum University" } }), 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/get_author# with {"author":"Fei Li","institution":"Southwest Petroleum University"}"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": [ "author" ], "properties": { "author": { "type": "string", "minLength": 1, "description": "Researcher name, for example Fei-Fei Li." }, "institution": { "type": "string", "minLength": 1, "description": "Institution to match against listed affiliations, for example Southwest Petroleum University." } }}Output schema
{ "type": "object", "required": [ "name", "affiliations", "homepage", "number_of_papers", "total_citations", "h_index", "author_page_link", "top_papers", "author_id" ], "properties": { "name": { "type": "string", "description": "Researcher name shown on Semantic Scholar." }, "h_index": { "type": "integer", "description": "Author h-index." }, "homepage": { "type": [ "string", "null" ], "description": "Researcher homepage, if listed." }, "author_id": { "type": "string", "description": "Semantic Scholar author ID.", "x-fous-developer": true }, "top_papers": { "type": "array", "items": { "type": "object", "required": [ "title", "year", "venue", "citations", "paper_link" ], "properties": { "year": { "type": [ "integer", "null" ] }, "title": { "type": "string" }, "venue": { "type": [ "string", "null" ] }, "citations": { "type": "integer" }, "paper_link": { "type": "string" } }, "additionalProperties": false }, "description": "Up to 10 most-cited publications, from highest to lowest citation count." }, "affiliations": { "type": "array", "items": { "type": "string" }, "description": "Listed institutions, or an empty list when none are listed." }, "total_citations": { "type": "integer", "description": "Total Semantic Scholar citations." }, "author_page_link": { "type": "string", "description": "Researcher page on Semantic Scholar." }, "number_of_papers": { "type": "integer", "description": "Number of papers attributed to this author." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
semanticscholar.org/get_author- Returns
- name, affiliations, homepage, paper count, total citations, h-index, author page, top papers, author ID
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/get_author with the inputs above.
Ask your agent
- What's Yoshua Bengio's h-index and total citation count?
- Look up Jennifer Doudna on Semantic Scholar and list her most-cited papers along with her paper count.
- I need impact metrics for Wei Zhang at Tsinghua University — h-index, citations, and top papers.
- Pull the Semantic Scholar author profile for Geoffrey Hinton: affiliations, homepage, and author ID.
- How many citations does Daphne Koller have, and which of her papers are cited the most?
See more
All Semantic Scholar methodsSearches 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.
semanticscholar.org/search_papersFinds 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_paperSummarise an institution's research output from its name, including annual output, leading topics and authors. Annual citations count citations received by works published that year; leading authors are coauthors of institution-linked works, not necessarily employees.
openalex.org/get_institution_researchLooks up a researcher's public ORCID profile by name or ORCID iD, with employment, education, funding and up to 100 works. An institution helps tell namesakes apart; private entries are left out.
orcid.org/get_researcherSearches 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 an Open Library author by name, link or key and lists their works with first publication year, edition count, cover and an author profile.
openlibrary.org/list_author_booksFinds 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_papersLists the latest public articles by a Medium writer or publication (by username, publication name or Medium link), with dates, reading times, claps, member-only labels and tags.
medium.com/list_author_articles