POST /api/europepmc/articles
Price: 1 credit
Get a Europe PMC article by its (source, id) pair
Get full details of a biomedical article from Europe PMC by its source database and id (PMID for MED, PMCxxxx for PMC, PPRxxxx for preprints). Returns title, abstract, authors (with affiliation and ORCID), journal info, publication year and date, publication model and types, keywords, MeSH headings, chemicals, grants, comment/correction links, cross-reference ids (PMID, PMCID, DOI), full-text links, open-access and content-availability flags, citation count, preprint version history, and the Europe PMC web URL.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)id string required — Article identifier within the source database (PMID for MED, PMCxxxx for PMC, PPRxxxx for preprints) (examples: "23467347", "PMC3616374", "PPR1059453"; minLength: 1)source string — Source database the id belongs to (default: "MED"; one of: "MED", "PMC", "PPR", "PAT", "AGR", "CBA", "CTX", "ETH", "HIR", "NBK")@type string (default: "EuropepmcArticle")id string requiredsource string requiredpmid string nullablepmcid string nullabledoi string nullableabstract string nullableauthor_string string nullableaffiliation string nullableauthors array (default: [])@type string (default: "EuropepmcAuthor")full_name string nullablefirst_name string nullablelast_name string nullableinitials string nullableorcid string nullableaffiliations array (default: [])journal object nullable@type string (default: "EuropepmcJournal")iso_abbreviation string nullablemedline_abbreviation string nullablenlmid string nullableissn string nullableessn string nullablevolume string nullableissue string nullableissue_id integer nullableyear integer nullablemonth_of_publication integer nullableprint_publication_date string nullabledate_of_publication string nullablepub_year integer nullablepage_info string nullablefirst_publication_date string nullablelanguage string nullablepub_model string nullablepublication_status string nullablepub_types array (default: [])version_number integer nullablehas_evaluations boolean (default: false)versions array (default: [])@type string (default: "EuropepmcVersion")id string requiredsource string nullableversion_number integer nullablefirst_publish_date string nullablepub_types array (default: [])has_evaluations boolean (default: false)keywords array (default: [])mesh_headings array (default: [])@type string (default: "EuropepmcMeshHeading")descriptor_name string requiredis_major_topic boolean (default: false)qualifiers array (default: [])chemicals array (default: [])@type string (default: "EuropepmcChemical")name string requiredregistry_number string nullablegrants array (default: [])@type string (default: "EuropepmcGrant")grant_id string nullableagency string nullableacronym string nullablecomments array (default: [])@type string (default: "EuropepmcComment")id string nullablesource string nullabletype string nullablenote string nullablefull_text_urls array (default: [])@type string (default: "EuropepmcFullTextUrl")url string requiredsite string nullabledocument_style string nullableavailability string nullablelicense string nullableis_open_access boolean (default: false)in_epmc boolean (default: false)in_pmc boolean (default: false)has_pdf boolean (default: false)has_book boolean (default: false)has_suppl boolean (default: false)has_references boolean (default: false)has_text_mined_terms boolean (default: false)has_db_cross_references boolean (default: false)has_labs_links boolean (default: false)has_data boolean (default: false)cited_by_count integer (default: 0)date_of_creation string nullabledate_of_revision string nullablefirst_index_date string nullableweb_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.