Behaves similarly to <code>/paper/search</code>, but is intended for bulk retrieval of basic paper data without search relevance:
<ul>
<li>Text query is optional and supports boolean logic for document matching.</li>
<li>Papers can be filtered using various criteria.</li>
<li>Up to 1,000 papers will be returned in each call.</li>
<li>If there are more matching papers, a continuation "token" will be present.</li>
<li>The query can be repeated with the token param added to efficiently continue fetching matching papers.</li>
</ul>
<br>
Returns a structure with an estimated total matches, batch of matching papers, and a continuation token if more results are available.
<br>
Limitations:
<ul>
<li>Nested paper data, such as citations, references, etc, is not available via this method.</li>
<li>Up to 10,000,000 papers can be fetched via this method. For larger needs, please use the <a href="datasets/">Datasets API</a> to retrieve full copies of the corpus.</li>
</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.<br><br>
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.<br><br>
Examples: <code>https://api.semanticscholar.org/graph/v1/paper/search/bulk?query=covid&fields=venue,s2FieldsOfStudy</code>
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.
minCitationCount(string, query, optional)
Restricts results to only include papers with the minimum number of citations.
<br>
<br>
Example:
<code>minCitationCount=200</code>
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><startDate>:<endDate></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)
Text query that will be matched against the paper's title and abstract. All terms are stemmed in English. By default all terms in the query must be present in the paper.
The match query supports the following syntax:
<ul>
<li><code>+</code> for AND operation</li>
<li><code>|</code> for OR operation</li>
<li><code>-</code> negates a term </li>
<li><code>"</code> collects terms into a phrase</li>
<li><code>*</code> can be used to match a prefix</li>
<li><code>(</code> and <code>)</code> for precedence</li>
<li><code>~N</code> after a word matches within the edit distance of N (Defaults to 2 if N is omitted)</li>
<li><code>~N</code> after a phrase matches with the phrase terms separated up to N terms apart (Defaults to 2 if N is omitted)</li>
</ul>
Examples:
<ul>
<li><code>fish ladder</code> matches papers that contain "fish" and "ladder"</li>
<li><code>fish -ladder</code> matches papers that contain "fish" but not "ladder"</li>
<li><code>fish | ladder</code> matches papers that contain "fish" or "ladder"</li>
<li><code>"fish ladder"</code> matches papers that contain the phrase "fish ladder"</li>
<li><code>(fish ladder) | outflow</code> matches papers that contain "fish" and "ladder" OR "outflow"</li>
<li><code>fish~</code> matches papers that contain "fish", "fist", "fihs", etc. </li>
<li><code>"fish ladder"~3</code> mathces papers that contain the phrase "fish ladder" or "fish is on a ladder"</li>
</ul>
sort(string, query, optional)
Provides the option to sort the results by the following fields:
<ul>
<li><code>paperId</code></li>
<li><code>publicationDate</code></li>
<li><code>citationCount</code></li>
</ul>
Uses the format <code>field:order</code>. Ties are broken by <code>paperId</code>. The default field is <code>paperId</code> and the default order is asc. Records for which the sort value are not defined will appear at the end of sort, regardless of asc/desc order.
<br>
<br>
Examples:
<ul>
<li><code>publicationDate:asc</code> - return oldest papers first.</li>
<li><code>citationCount:desc</code> - return most highly-cited papers first.</li>
<li><code>paperId</code> - return papers in ID order, low-to-high.</li>
</ul>
<br>
Please be aware that if the relevant data changes while paging through results, records can be returned in an unexpected way. The default <code>paperId</code> sort avoids this edge case.
token(string, query, optional)
Used for pagination. This string token is provided when the original query returns, and is used to fetch the next batch of papers. Each call will return a new token.
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 search for machine learning papers with key fieldscurl
import zingu_apis
api = zingu_apis.api("semanticscholar")
result = api.fetch("paper/search/bulk", query="machine learning", fields="paperId,title,abstract,authors,year,citationCount")
for item in result:
print(item)
import zingu_apis
api = zingu_apis.api("semanticscholar")
result = api.fetch("paper/search/bulk", query="artificial intelligence", fields="paperId,title,authors,year,citationCount,fieldsOfStudy", minCitationCount=100, year="2020-2023", fieldsOfStudy="Computer Science")
for item in result:
print(item)
import zingu_apis
api = zingu_apis.api("semanticscholar")
result = api.fetch("paper/search/bulk", query="climate change", fields="paperId,title,abstract,openAccessPdf", publicationTypes="Review", openAccessPdf="true")
for item in result:
print(item)