BiomedCore
BiomedCore provides access to 39M+ biomedical citations sourced from PubMed and PubMed Central (PMC), enriched with citation counts, journal quality indicators, and structured metadata. Updated daily.
Endpoints
Search — GET /v1/cores/biomedcore/records
Search across biomedical literature by text, with optional filters.
curl "https://api.amass.tech/api/v1/cores/biomedcore/records?query=CAR-T+therapy&limit=5" \
-H "Authorization: Bearer amass_YOUR_KEY"Parameters:
| Name | Required | Default | Description |
|---|---|---|---|
query | yes | — | Search text (titles, abstracts, fulltext, metadata) |
limit | no | 20 | Results to return (1–300) |
include | no | — | Optional fields to return. Repeat for multiple: fulltext, authorsMetadata, meshIds, substanceIds, referencesTrialCore, references, citedBy |
minPublicationDate | no | — | ISO date, e.g. 2023-01-01 |
maxPublicationDate | no | — | ISO date, e.g. 2026-01-01 |
minCitationCount | no | — | Integer (0–100,000) |
minJournalQualityJufo | no | — | 0, 1, 2, or 3 (see Journal Quality Tiers) |
isRetracted | no | — | true or false |
authorOrcids | no | — | Match ANY of these ORCIDs. Accepts bare (0000-0003-1234-5678) or URL form (https://orcid.org/0000-0003-1234-5678). Repeat the param for multiple values. See Author & institution filters. |
authorNames | no | — | Match ANY of these author names. Free-text token match (no prefix expansion). Repeat the param for multiple values. |
institutionRors | no | — | Match ANY of these ROR identifiers. Accepts bare (03vek6s52) or URL form (https://ror.org/03vek6s52). Repeat the param for multiple values. |
institutionNames | no | — | Match ANY of these institution names. Free-text token match. Repeat the param for multiple values. |
Example with filters — highly cited papers in top journals from 2022 onward:
curl "https://api.amass.tech/api/v1/cores/biomedcore/records\
?query=immunotherapy\
&minPublicationDate=2022-01-01\
&minCitationCount=30\
&minJournalQualityJufo=2" \
-H "Authorization: Bearer amass_YOUR_KEY"Author & institution filters
The four filters authorOrcids, authorNames, institutionRors, and institutionNames follow the same encoding and combine with the same rules.
- Within one filter — OR. Repeat the param to match any of the listed values:
?authorOrcids=0000-0001-...&authorOrcids=0000-0002-...returns papers authored by either ORCID. - Across filters — AND. Mixing different filters narrows the result:
?authorNames=Hassabis&institutionNames=DeepMindreturns papers that have a Hassabis author and a DeepMind affiliation (not necessarily the same author/affiliation pair). - ORCIDs and RORs accept bare or URL form.
0000-0002-2401-5691andhttps://orcid.org/0000-0002-2401-5691match the same author;03vek6s52andhttps://ror.org/03vek6s52match the same institution. - Author/institution name matching is free-text token. Use the most distinctive token (last name, institution head noun) and combine with
queryfor context. PubMed indexes author names asLastName Initials(e.g.Liu DR), so a last-name token is usually the safest match.
# Papers by one of two ORCIDs at a specific institution (ROR), since 2022
curl "https://api.amass.tech/api/v1/cores/biomedcore/records\
?query=protein+structure+prediction\
&authorOrcids=0000-0002-2401-5691\
&authorOrcids=0000-0001-9282-0298\
&institutionRors=00971b260\
&minPublicationDate=2022-01-01\
&include=authorsMetadata\
&limit=20" \
-H "Authorization: Bearer amass_YOUR_KEY"Response:
{ "data": [ { "amassId": "AMBC_...", "title": "...", "..." }, ... ] }Get by ID — GET /v1/cores/biomedcore/records/{amassId}
Fetch a single record by its Amass ID.
curl "https://api.amass.tech/api/v1/cores/biomedcore/records/AMBC_abc123\
?include=authorsMetadata" \
-H "Authorization: Bearer amass_YOUR_KEY"Response:
{ "data": { "amassId": "AMBC_...", "title": "...", "..." } }Returns 404 if not found.
Lookup — POST /v1/cores/biomedcore/records/lookup
Convert PMIDs or DOIs to Amass IDs in batch. Each item must contain exactly one identifier — either pmid or doi, not both.
curl -X POST "https://api.amass.tech/api/v1/cores/biomedcore/records/lookup" \
-H "Authorization: Bearer amass_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"items": [
{ "pmid": "38123456" },
{ "doi": "10.1038/s41586-024-00001-x" }
]
}'Response:
{
"data": [
{
"input": { "pmid": "38123456" },
"amassIds": ["AMBC_abc123"]
},
{
"input": { "doi": "10.1038/s41586-024-00001-x" },
"error": { "code": "NOT_FOUND", "message": "No matching record found" }
}
]
}Individual items can fail without failing the whole request. Always check each item for an error field.
Record Schema
Default fields (always returned)
| Field | Type | Description |
|---|---|---|
amassId | string | Unique Amass identifier (AMBC_...) |
pmid | string | null | PubMed ID |
pmcid | string | null | PubMed Central ID |
doi | string | null | Digital Object Identifier |
title | string | null | Article title |
abstract | string | null | Article abstract |
authors | string[] | Author names (e.g. ["Smith J", "Doe A"]) |
journal | string | null | Journal name |
issn | string | null | Journal ISSN |
volumeIssue | string | null | Volume and issue |
publicationDate | string | null | ISO date |
publicationTypes | string[] | E.g. ["Journal Article", "Review"] |
language | string | null | Language code (e.g. eng) |
citationCount | number | null | Citation count |
journalQualityJufo | number | null | JuFo journal quality level (0–3, see below) |
meshTerms | string[] | MeSH terms |
keywords | string[] | Author keywords |
substances | string[] | Chemical substances |
hasFulltext | boolean | null | Whether full text is available |
isRetracted | boolean | null | Whether article is retracted |
Optional fields
Request these with the include parameter. Repeat for multiple: ?include=fulltext&include=authorsMetadata
| Field | Include value | Type | Description |
|---|---|---|---|
fulltext | fulltext | string | null | Full article text. Large — only request when needed. |
authorsMetadata | authorsMetadata | object[] | Structured author details (see below) |
meshIds | meshIds | string[] | MeSH descriptor identifiers |
substanceIds | substanceIds | string[] | Chemical substance identifiers |
referencesTrialCore | referencesTrialCore | string[] | Cross-core link → TrialCore. Amass IDs of TrialCore records (clinical trials) referenced by this publication |
references | references | string[] | Intra-core link within BiomedCore. Amass IDs of other BiomedCore records (publications) referenced by this publication |
citedBy | citedBy | string[] | Intra-core link within BiomedCore. Amass IDs of other BiomedCore records (publications) that cite this publication |
Reference field semantics
╔══════════════════ BiomedCore (publications) ══════════════════╗
║ ║
║ AMBC_aaa ─cites─┐ ┌─► AMBC_p001 ║
║ │ ├─► AMBC_p002 ║
║ │ ├─► AMBC_p003 ║
║ │ ┌──────────┐ │ ║
║ ├──►│ AMBC_X │────────┤ ⋮ ║
║ │ └──────────┘ │ ║
║ │ ├─► AMBC_p050 ║
║ │ ├─► AMBC_p051 ║
║ AMBC_bbb ─cites─┘ └─► AMBC_p052 ║
║ ║
║ AMBC_X.citedBy = [AMBC_aaa, AMBC_bbb] ← 2 IDs ║
║ AMBC_X.references = [AMBC_p001, …, AMBC_p052] ← 52 IDs ║
║ ║
║ ── intra-core: arrows stay within BiomedCore ── ║
║ ║
╚════════════════════════════════════════════════════════════════╝
│
│ AMBC_X.referencesTrialCore = [AMTC_xxx]
│ ── cross-core link to TrialCore ──
▼
╔══════════════════ TrialCore (clinical trials) ════════════════╗
║ ║
║ AMTC_xxx ║
║ ║
╚════════════════════════════════════════════════════════════════╝- Intra-core arrows stay inside BiomedCore — target IDs start with
AMBC_. Both fan-in (citedBy) and fan-out (references) live in the same Core. - Cross-core arrow leaves BiomedCore for TrialCore — target IDs start with
AMTC_. OnlyreferencesTrialCorecrosses the Core boundary.
authorsMetadata shape
{
"name": "Smith J",
"nameRaw": "John Smith",
"orcid": "0000-0001-2345-6789",
"position": 0,
"affiliations": [
{
"name": "Harvard Medical School",
"nameRaw": "Harvard Medical School, Boston, MA, USA",
"ror": "03vek6s52",
"countryCode": "US"
}
]
}Journal Quality Tiers
Journal quality is based on Publication Forum (JuFo), an openly published classification of publication channels.
| Level | Meaning |
|---|---|
| 3 | Highest quality — represents the highest level in the discipline with extremely consistent impact |
| 2 | Domain leading — limited number of journals, conferences, and publishers of the highest level |
| 1 | Peer reviewed — peer-reviewed channels specialised in scientific research with an expert editorial board |
| 0 | Low quality — evaluated but does not meet all Level 1 criteria |
| null | Not evaluated — publication channel has not been evaluated |
See Also
- TrialCore — Clinical trial records
- DrugCore — Drug and molecule records
- RegulatoryCore — FDA & EMA drug authorizations
- API Workflows — See BiomedCore in action: literature reviews, scientific maturity assessment, investigator discovery
- Overview — Errors and rate limits
- Quickstart — Getting started with examples