Plos API - adilnumancelik/sonar GitHub Wiki

Plos API

Documented by Mehdi

Typical response schema

{
    "response": {
        "numFound": 35,
        "start": 2,
        "maxScore": 39.463463,
        "docs": [
            {
                "id": "10.1371/journal.pone.0026564/references",
                "journal": "PLoS ONE",
                "eissn": "1932-6203",
                "publication_date": "2011-10-28T00:00:00Z",
                "article_type": "Research Article",
                "score": 39.463463
            },
            {
                "id": "10.1371/journal.pone.0026564/body",
                "journal": "PLoS ONE",
                "eissn": "1932-6203",
                "publication_date": "2011-10-28T00:00:00Z",
                "article_type": "Research Article",
                "score": 39.463463
            }
        ]
    }
}
interface Doc {
    id:               string; // DOI
    journal:          string;
    eissn:            string;
    publication_date: Date;
    article_type:     string;
    author_display?:  string[]; // No ID for author
    abstract:         string[]; // Array?
    title_display:    string;
    score:            number; // Search relevance score
}

Get a single document

# field is `id` not `doi`
http://api.plos.org/search?q=id:<doi>
http://api.plos.org/search?q=id:10.1371/journal.pone.0000290
{
    "response": {
        "numFound": 1,
        "start": 0,
        "maxScore": 14.379784,
        "docs": [
            {
                "id": "10.1371/journal.pone.0000290",
                "journal": "PLoS ONE",
                "eissn": "1932-6203",
                "publication_date": "2007-03-14T00:00:00Z",
                "article_type": "Research Article",
                "author_display": [
                    "Rayna I. Kraeva",
                    "Dragomir B. Krastev",
                    "Assen Roguev",
                    "Anna Ivanova",
                    "Marina N. Nedelcheva-Veleva",
                    "Stoyno S. Stoynov"
                ],
                "abstract": ["Nucleic acids, due to their..."],
                "title_display": "Stability of mRNA/DNA and DNA/DNA Duplexes Affects mRNA Transcription",
                "score": 14.379784
            }
        ]
    }
}

Search documents by author

http://api.plos.org/search?q=author:<author>
http://api.plos.org/search?q=author:"Robert L. Unckless"
// notice the /title /abstract /... after some duplicate DOIs
{
    "response": {
        "numFound": 35,
        "start": 0,
        "maxScore": 39.463463,
        "docs": [
            {
                "id": "10.1371/journal.pone.0026564/title",
                // ...
            },
            {
                "id": "10.1371/journal.pone.0026564/abstract",
                // ...
            },
            {
                "id": "10.1371/journal.pone.0026564/references",
                // ...
            },
            {
                "id": "10.1371/journal.pone.0026564/body",
                // ...
            },
            {
                "id": "10.1371/journal.pone.0026564/introduction",
                // ...
            },
            {
                "id": "10.1371/journal.pone.0026564/results_and_discussion",
                // ...
            },
            {
                "id": "10.1371/journal.pone.0026564/materials_and_methods",
                // ...
            },
            {
                "id": "10.1371/journal.pone.0026564/supporting_information",
                // ...
            },
            {
                "id": "10.1371/journal.pone.0026564",
                "journal": "PLoS ONE",
                "eissn": "1932-6203",
                "publication_date": "2011-10-28T00:00:00Z",
                "article_type": "Research Article",
                "author_display": [
                    "Robert L. Unckless"
                ],
                "abstract": [ "\n        Little is..." ],
                "title_display": "A DNA Virus of <i>Drosophila</i>",
                "score": 39.463463
            },
            {
                "id": "10.1371/journal.pgen.1004551",
                "journal": "PLoS Genetics",
                "eissn": "1553-7404",
                "publication_date": "2014-08-14T00:00:00Z",
                "article_type": "Research Article",
                "author_display": [
                    "H. Allen Orr",
                    "Robert L. Unckless"
                ],
                "abstract": [ "\nEvolutionary resc..." ],
                "title_display": "The Population Genetics of Evolutionary Rescue",
                "score": 35.73658
            }
        ]
    }
}

Pagination

# rows: number of docs to return
# start: index of first row to be returned, starts from 0

http://api.plos.org/search?q=<query>&rows=<rows>&start=<start_row>
http://api.plos.org/search?q=author:"Robert L. Unckless"&rows=2&start=2
⚠️ **GitHub.com Fallback** ⚠️