search: Paper relevance search

API: semanticscholar.org:semantic-scholar-api
Endpoint: /paper/search
Response format: text/html
Auth: unknown
Method: GET
Last Status: 403
Latency: 149ms

Description

Examples: <ul> <li><code>https://api.semanticscholar.org/graph/v1/paper/search?query=covid+vaccination&offset=100&limit=3</code></li> <ul> <li>Returns with total=576278, offset=100, next=103, and data is a list of 3 papers.</li> <li>Each paper has its paperId and title. </li> </ul> <li><code>https://api.semanticscholar.org/graph/v1/paper/search?query=covid&fields=url,abstract,authors</code></li> <ul> <li>Returns with total=639637, offset=0, next=100, and data is a list of 100 papers.</li> <li>Each paper has paperId, url, abstract, and a list of authors.</li> <li>Each author under that list has authorId and name.</li> </ul> <li><code>https://api.semanticscholar.org/graph/v1/paper/search?query=totalGarbageNonsense</code></li> <ul> <li>Returns with total=0, offset=0, and data is a list of 0 papers.</li> </ul> <li><code>https://api.semanticscholar.org/graph/v1/paper/search?query=covid&year=2020-2023&openAccessPdf&fieldsOfStudy=Physics,Philosophy&fields=title,year,authors</code></li> <ul> <li>Returns with total=8471, offset=0, next=10, and data is a list of 10 papers. </li> <li>Filters to include only papers published between 2020-2023.</li> <li>Filters to include only papers with open access PDFs.</li> <li>Filters to include only papers that have a field of study either matching Physics or Philosophy.</li> <li>Each paper has the fields paperId, title, year, and authors.</li> </ul> <br> Limitations: <ul> <li>Can only return up to 1,000 relevance-ranked results. For larger queries, see "/search/bulk" or the Datasets API.</li> <li>Can only return up to 10 MB of data at a time.</li> </ul> </ul>

Parameters (11)

fields (string, query, optional)

A comma-separated list of the fields to be returned. See the contents of the <code>data</code> array in Response Schema below for a list of all available fields that can be returned. The <code>paperId</code> field is always returned. If the fields parameter is omitted, only the <code>paperId</code> and <code>title</code> will be returned. <p>Use a period (“.”) for fields that have version numbers or subfields, such as the <code>embedding</code>, <code>authors</code>, <code>citations</code>, and <code>references</code> fields: <ul> <li>When requesting <code>authors</code>, the <code>authorId</code> and <code>name</code> subfields are returned by default. To request other subfields, use the format <code>author.url,author.paperCount</code>, etc. See the Response Schema below for available subfields.</li> <li>When requesting <code>citations</code> and <code>references</code>, the <code>paperId</code> and <code>title</code> subfields are returned by default. To request other subfields, use the format <code>citations.title,citations.abstract</code>, etc. See the Response Schema below for available subfields.</li> <li>When requesting <code>embedding</code>, the default <a href="https://github.com/allenai/specter">Spector embedding version</a> is v1. Specify <code>embedding.specter_v2</code> to select v2 embeddings.</li> </ul> Examples: <ul> <li><code>fields=title,url</code></li> <li><code>fields=title,embedding.specter_v2</code></li> <li><code>fields=title,authors,citations.title,citations.abstract</code></li> </ul>

fieldsOfStudy (string, query, optional)

Restricts results to papers in the given fields of study, formatted as a comma-separated list: <ul> <li>Computer Science</li> <li>Medicine</li> <li>Chemistry</li> <li>Biology</li> <li>Materials Science</li> <li>Physics</li> <li>Geology</li> <li>Psychology</li> <li>Art</li> <li>History</li> <li>Geography</li> <li>Sociology</li> <li>Business</li> <li>Political Science</li> <li>Economics</li> <li>Philosophy</li> <li>Mathematics</li> <li>Engineering</li> <li>Environmental Science</li> <li>Agricultural and Food Sciences</li> <li>Education</li> <li>Law</li> <li>Linguistics</li> </ul> Example: <code>Physics,Mathematics</code> will return papers with either Physics or Mathematics in their list of fields-of-study.

limit (integer, query, optional, default: 100)

The maximum number of results to return.<br> Must be <= 100

minCitationCount (string, query, optional)

Restricts results to only include papers with the minimum number of citations. <br> <br> Example: <code>minCitationCount=200</code>

offset (integer, query, optional, default: 0)

Used for pagination. When returning a list of results, start with the element at this position in the list.

openAccessPdf (string, query, optional)

Restricts results to only include papers with a public PDF. This parameter does not accept any values.

publicationDateOrYear (string, query, optional)

Restricts results to the given range of publication dates or years (inclusive). Accepts the format <code>&lt;startDate&gt;:&lt;endDate&gt;</code> with each date in <code>YYYY-MM-DD</code> format. <br> <br> Each term is optional, allowing for specific dates, fixed ranges, or open-ended ranges. In addition, prefixes are supported as a shorthand, e.g. <code>2020-06</code> matches all dates in June 2020. <br> <br> Specific dates are not known for all papers, so some records returned with this filter will have a <code>null</code> value for </code>publicationDate</code>. <code>year</code>, however, will always be present. For records where a specific publication date is not known, they will be treated as if published on January 1st of their publication year. <br> <br> Examples: <ul> <li><code>2019-03-05</code> on March 5th, 2019</li> <li><code>2019-03</code> during March 2019</li> <li><code>2019</code> during 2019</li> <li><code>2016-03-05:2020-06-06</code> as early as March 5th, 2016 or as late as June 6th, 2020</li> <li><code>1981-08-25:</code> on or after August 25th, 1981</li> <li><code>:2015-01</code> before or on January 31st, 2015</li> <li><code>2015:2020</code> between January 1st, 2015 and December 31st, 2020</li> </ul>

publicationTypes (string, query, optional)

Restricts results to any of the following paper publication types: <ul> <li>Review</li> <li>JournalArticle</li> <li>CaseReport</li> <li>ClinicalTrial</li> <li>Conference</li> <li>Dataset</li> <li>Editorial</li> <li>LettersAndComments</li> <li>MetaAnalysis</li> <li>News</li> <li>Study</li> <li>Book</li> <li>BookSection</li> </ul> Use a comma-separated list to include papers with any of the listed publication types. <br><br> Example: <code>Review,JournalArticle</code> will return papers with publication types Review and/or JournalArticle.

query (string, query, required)

A plain-text search query string. * No special query syntax is supported. * Hyphenated query terms yield no matches (replace it with space to find matches) See our <a href="https://medium.com/ai2-blog/building-a-better-search-engine-for-semantic-scholar-ea23a0b661e7">blog post</a> for a description of our search relevance algorithm. Example: <code>graph/v1/paper/search?query=generative ai</code>

venue (string, query, optional)

Restricts results to papers published in the given venues, formatted as a comma-separated list. <br><br> Input could also be an ISO4 abbreviation. Examples include: <ul> <li>Nature</li> <li>New England Journal of Medicine</li> <li>Radiology</li> <li>N. Engl. J. Med.</li> </ul> Example: <code>Nature,Radiology</code> will return papers from venues Nature and/or Radiology.

year (string, query, optional)

Restricts results to the given publication year or range of years (inclusive). <br> <br> Examples: <ul> <li><code>2019</code> in 2019</li> <li><code>2016-2020</code> as early as 2016 or as late as 2020</li> <li><code>2010-</code> during or after 2010</li> <li><code>-2015</code> before or during 2015</li> </ul>

Examples (3)

Basic paper search with query curl
curl 'https://api.semanticscholar.org/graph/v1/paper/search?query=machine+learning' \
  -d '{"message": "Too Many Requests. Please wait and try again or apply for a key for higher rate limits. https://www.semanticscholar.org/product/api#api-key-form", "code": "429"}'
import requests

resp = requests.get(
    "https://api.semanticscholar.org/graph/v1/paper/search",
    params={
        'query': 'machine learning',
    },
    json={
        'message': 'Too Many Requests. Please wait and try again or apply for a key for higher rate limits. https://www.semanticscholar.org/product/api#api-key-form',
        'code': '429',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("semanticscholar")
result = api.fetch("paper/search", query="machine learning")

for item in result:
    print(item)
const body = {
  "message": "Too Many Requests. Please wait and try again or apply for a key for higher rate limits. https://www.semanticscholar.org/product/api#api-key-form",
  "code": "429"
};

const resp = await fetch("https://api.semanticscholar.org/graph/v1/paper/search?query=machine+learning", {
  body: JSON.stringify(body),
});
const data = await resp.json();
Search with pagination and selected fields curl
curl 'https://api.semanticscholar.org/graph/v1/paper/search?query=climate+change&fields=title%2Cauthors%2Cyear%2CcitationCount&limit=10&offset=0' \
  -d '{"message": "Too Many Requests. Please wait and try again or apply for a key for higher rate limits. https://www.semanticscholar.org/product/api#api-key-form", "code": "429"}'
import requests

resp = requests.get(
    "https://api.semanticscholar.org/graph/v1/paper/search",
    params={
        'query': 'climate change',
        'fields': 'title,authors,year,citationCount',
        'limit': '10',
        'offset': '0',
    },
    json={
        'message': 'Too Many Requests. Please wait and try again or apply for a key for higher rate limits. https://www.semanticscholar.org/product/api#api-key-form',
        'code': '429',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("semanticscholar")
result = api.fetch("paper/search", query="climate change", fields="title,authors,year,citationCount", limit=10, offset=0)

for item in result:
    print(item)
const body = {
  "message": "Too Many Requests. Please wait and try again or apply for a key for higher rate limits. https://www.semanticscholar.org/product/api#api-key-form",
  "code": "429"
};

const resp = await fetch("https://api.semanticscholar.org/graph/v1/paper/search?query=climate+change&fields=title%2Cauthors%2Cyear%2CcitationCount&limit=10&offset=0", {
  body: JSON.stringify(body),
});
const data = await resp.json();
Search with year and field of study filters curl
curl 'https://api.semanticscholar.org/graph/v1/paper/search?query=artificial+intelligence&year=2020-2024&fieldsOfStudy=Computer+Science&limit=5' \
  -d '{"message": "Too Many Requests. Please wait and try again or apply for a key for higher rate limits. https://www.semanticscholar.org/product/api#api-key-form", "code": "429"}'
import requests

resp = requests.get(
    "https://api.semanticscholar.org/graph/v1/paper/search",
    params={
        'query': 'artificial intelligence',
        'year': '2020-2024',
        'fieldsOfStudy': 'Computer Science',
        'limit': '5',
    },
    json={
        'message': 'Too Many Requests. Please wait and try again or apply for a key for higher rate limits. https://www.semanticscholar.org/product/api#api-key-form',
        'code': '429',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("semanticscholar")
result = api.fetch("paper/search", query="artificial intelligence", year="2020-2024", fieldsOfStudy="Computer Science", limit=5)

for item in result:
    print(item)
const body = {
  "message": "Too Many Requests. Please wait and try again or apply for a key for higher rate limits. https://www.semanticscholar.org/product/api#api-key-form",
  "code": "429"
};

const resp = await fetch("https://api.semanticscholar.org/graph/v1/paper/search?query=artificial+intelligence&year=2020-2024&fieldsOfStudy=Computer+Science&limit=5", {
  body: JSON.stringify(body),
});
const data = await resp.json();

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-04-16 03:41:17.824443 403 149ms
2026-04-16 03:38:48.744090 403 116ms
2026-04-16 03:36:22.631262 403 150ms
2026-04-15 02:42:37.312904 403 151ms
2026-04-15 02:20:30.315668 403 156ms
2026-04-15 02:11:45.325521 403 152ms
2026-04-14 03:38:04.518028 403 118ms
2026-04-14 02:24:49.879475 403 150ms
2026-04-14 00:27:10.685554 403 158ms
2026-04-12 13:44:18.427633 403 98ms
2026-04-12 13:03:55.741273 403 177ms
2026-04-12 12:40:57.787305 403 138ms
2026-04-10 06:46:18.782119 403 69ms
2026-04-10 02:39:03.169072 403 75ms
2026-04-10 00:56:41.082010 403 84ms
2026-04-09 03:21:40.300687 403 144ms
2026-04-09 02:19:35.617450 403 120ms
2026-04-09 01:04:03.744859 403 183ms
2026-03-23 10:47:27.208864 403 383ms
2026-03-23 10:10:26.177746 403 84ms
2026-03-23 09:21:15.384975 403 90ms