Retrieve a record
GET/v1/drugs/record
Reads exactly one current record by its country, source and native identity, for example to refresh a record your application saved earlier. Answers 404 when the source no longer publishes it.
Parameters
-
countrystring Required - Two-letter ISO 3166-1 country code, lowercase. Every search is scoped to one country.
-
sourceIdstring Required - The sourceId of the record, which must belong to the requested country.
-
idstring Required - The id of the record exactly as the API returned it, 1 to 300 characters.
Returns
-
countrystring - The country of the record.
-
recordRecord - The current record with this identity.
Errors
400 401
403 404
429 503 ·
Errors and rate limits
curl -G https://api.medifontis.com/v1/drugs/record \
-H "Authorization: Bearer $MEDIFONTIS_API_KEY" \
--data-urlencode "country=gb" \
--data-urlencode "sourceId=gb.nhsbsa.bnf-snomed" \
--data-urlencode "id=gb:nhsbsa:dmd:196111000001109"const params = new URLSearchParams({ country: 'gb', sourceId: 'gb.nhsbsa.bnf-snomed', id: 'gb:nhsbsa:dmd:196111000001109' })
const response = await fetch(`https://api.medifontis.com/v1/drugs/record?${params}`, {
headers: { Authorization: `Bearer ${process.env.MEDIFONTIS_API_KEY}` },
})
if (!response.ok) throw new Error(`Medifontis ${response.status}`)
const { record } = await response.json()import os
import requests
response = requests.get(
"https://api.medifontis.com/v1/drugs/record",
params={"country": "gb", "sourceId": "gb.nhsbsa.bnf-snomed", "id": "gb:nhsbsa:dmd:196111000001109"},
headers={"Authorization": f"Bearer {os.environ['MEDIFONTIS_API_KEY']}"},
timeout=10,
)
response.raise_for_status()
record = response.json()["record"]
{
"country": "gb",
"record": {
"country": "gb",
"sourceId": "gb.nhsbsa.bnf-snomed",
"id": "gb:nhsbsa:dmd:196111000001109",
"kind": "amp",
"name": "Almodan 125mg/5ml syrup (Teva UK Ltd)",
"data": {
"name": "Almodan 125mg/5ml syrup (Teva UK Ltd)",
"pack": null,
"level": "AMP",
"bnfCode": "0501013B0BDABAJ",
"bnfName": "Almodan 125mg/5ml syrup",
"subPack": null,
"vtmCode": "774586009",
"vtmName": "Amoxicillin",
"strength": 25,
"useDomain": "unknown",
"snomedCode": "196111000001109",
"legalCategory": "not-collected",
"targetSpecies": [],
"unitOfMeasure": null,
"packDescription": null,
"useDomainEvidence": {
"basis": "unreviewed",
"field": null,
"value": null,
"version": 1,
"sourceId": "gb.nhsbsa.bnf-snomed"
},
"patientEligibility": "not-assessed",
"productDescription": "Almodan 125mg/5ml syrup (Teva UK Ltd)",
"targetSpeciesStatus": "not-reported",
"prescriptionCategory": "unknown"
},
"region": null,
"retrievedAt": "2026-10-20T02:32:49.259Z",
"sourceUrl": "https://www.nhsbsa.nhs.uk/prescription-data/understanding-our-data/bnf-snomed-mapping",
"licence": {
"id": "OGL-UK-3.0",
"url": "https://www.nhsbsa.nhs.uk/our-policies/terms-and-conditions",
"scope": "NHSBSA monthly BNF–SNOMED mapping file; not the TRUD dm+d release",
"reviewedAt": "2026-09-28",
"attribution": "BNF SNOMED Mapping data, NHSBSA Copyright 2026. This information is licenced under the terms of the Open Government Licence.",
"documentsIncluded": false
},
"limitations": [
"Every VMP, VMPP, AMP and AMPP row of NHSBSA’s published BNF–SNOMED mapping, which follows dm+d; the full TRUD dm+d release (legal category, availability, prices) is not collected.",
"No legal category (POM, P, GSL) is published in this file, so the prescription classification stays unknown.",
"Rows without a BNF code are typically parallel imports or secondary-care products, as NHSBSA notes.",
"dm+d identifiers are SNOMED CT UK Drug Extension concept IDs as NHSBSA publishes them; no SNOMED CT release content is included.",
"A mapping row does not establish marketing, availability, reimbursement or patient eligibility."
],
"names": [
"Almodan 125mg/5ml syrup (Teva UK Ltd)",
"Almodan 125mg/5ml syrup",
"Amoxicillin"
],
"identifiers": [
{
"value": "196111000001109",
"scheme": "dmd"
},
{
"value": "0501013B0BDABAJ",
"scheme": "bnf"
},
{
"value": "774586009",
"scheme": "vtm"
}
]
}
}