What is the PLOS Search API?

The entire PLOS corpus of research articles is regularly indexed on PLOS servers running Apache Solr. PLOS provides programmatic access to the Solr API via the http://api.plos.org/search endpoint. Documentation for Solr queries can be found here. The PLOS endpoint uses “search” instead of the “select” used in the Solr documentation.


What is “Solr”?

Solr is an open-source search platform from the Apache Lucene project. Essentially, Lucene is a Java-based indexing and search tool. Solr provides a friendly way to query Lucene and format the results. PLOS uses Solr version 4.1.0.

Are there any exampleS using the PLOS Search API?

Two pieces of information are necessary to effectively use the PLOS Search API. First, being familiar with the search fields used to index documents allows direct searching of specific article sections. Second, understanding construction of valid Solr queries using these fields will enable the development of search scripts in the programming language of choice. Example queries can be found on PLOS Solr Query Examples.

  • Content Attribution:  Developers are welcome to make use of the data returned from the PLOS Search API and we ask that you indicate that the data originate from PLOS. If you wish to brand your work to PLOS, you will need to ask us to evaluate the usefulness and technical capability of your application prior to receiving a PLOS logo which you may then display on the application.  Please see the API display policy for more information.
  • PLOS Search API rate limit: Please limit your API requests to 7200 requests a day, 300 per hour, 10 per minute and allow 5 seconds for your search to return results. If you exceed this threshold, we will lock out your IP address. If you’re a high-volume user of the PLOS Search API and need more API requests a day, please contact us at api@plos.org to discuss your options. We currently limit API users to no more than five concurrent connections from a single IP address.
  • PLOS Search API requests: Please do not send requests that return more than 100 rows. That’s a lot of data for our network to push all at once and it may take some time to return the result set. If you are getting back a result set that bigger than 100+ rows, then you likely need to change your query to return a smaller result set or set a limit on the records returned and page through the results.

I have questions about using the PLOS Search API. Where can I get answers?

If you have any questions or comments about the Article-Level Metrics application, head over to the PLOS API Community page for information on the PLOS API developers group.