POST /api/pubmed/articles
Price: 1 credit
Get a PubMed article by its PMID
Get full details of a biomedical article from PubMed by its PMID. Returns title, abstract, authors (with affiliation and ORCID), journal info, publication year and date, publication model and types, keywords, MeSH headings, chemicals, grants, registered data banks, conflict-of-interest statement, cross-reference ids (PMID, PMCID, DOI), processing history, and the PubMed web URL.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)id string required — PubMed identifier (PMID) (examples: "23467347", "30684591"; minLength: 1)@type string (default: "PubmedArticle")pmid string requireddoi string nullablepmcid string nullablepii string nullablevernacular_title string nullableabstract string nullableauthor_string string nullablelast_author string nullableauthors array (default: [])@type string (default: "PubmedAuthor")full_name string nullablelast_name string nullablefirst_name string nullableinitials string nullableorcid string nullableaffiliation string nullablejournal object nullable@type string (default: "PubmedJournal")iso_abbreviation string nullablemedline_abbreviation string nullablenlmid string nullableissn string nullableessn string nullableissn_linking string nullablevolume string nullableissue string nullablepages string nullablecountry string nullablepub_date string nullablepub_year integer nullablepub_date string nullableepub_date string nullablelanguage string nullablepub_model string nullablepublication_status string nullablepub_types array (default: [])keywords array (default: [])mesh_headings array (default: [])@type string (default: "PubmedMeshHeading")descriptor_name string requireddescriptor_ui string nullableis_major_topic boolean (default: false)qualifiers array (default: [])chemicals array (default: [])@type string (default: "PubmedChemical")name string requiredregistry_number string nullablegrants array (default: [])@type string (default: "PubmedGrant")grant_id string nullableagency string nullableacronym string nullablecountry string nullabledata_banks array (default: [])@type string (default: "PubmedDataBank")name string requiredaccession string requiredcoi_statement string nullablecitation_subset string nullablehistory array (default: [])@type string (default: "PubmedHistoryEvent")status string requireddate string requireddate_completed string nullabledate_revised string nullablerecord_status string nullablepmc_ref_count integer (default: 0)web_url string (default: "")422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — Article not found Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.