Search medicines
GET /v1/drugs searches every record of every source in one country by name, active ingredient or identifier.
How matching works
- Names match anywhere in the text, so part of a brand name finds it.
- Identifiers match from their first character, so the beginning of a code finds every record whose code starts with it.
- Accents and case are ignored.
- The query is literal text, without wildcards or operators, and needs 3 to 120 characters.
Ranking
Exact matches come first, then records whose name starts with the query, then other matches; ties are ordered by record name.
🇩🇪 Searchable identifiers
These are the identifier schemes of each source of this country (Germany):
| Source | Publisher | Records | Identifiers |
|---|---|---|---|
de.bvl.reporting-veterinary-packagesVeterinary medicine packages |
Bundesamt für Verbraucherschutz und Lebensmittelsicherheit (BVL) | 3,691 |
bvl-pack-id registration upd-uuid
|
de.ema.article57EMA Article 57 product list |
European Medicines Agency | 17,513 | Names only |
de.ema.eparCentrally authorised medicines |
European Medicines Agency | 2,754 |
ema-product-number atc
|
de.pei.immunological-veterinary-medicinesVeterinary immunologicals |
Paul-Ehrlich-Institut (PEI) | 488 |
registration
|
Filter by record kind
A source can publish several kinds of records, such as packages, active ingredients or ATC classes. Pass kinds to keep only the ones your application uses. The filter applies before paging, so other kinds cannot push them off a page.
curl -G https://api.medifontis.com/v1/drugs \
-H "Authorization: Bearer $MEDIFONTIS_API_KEY" \
--data-urlencode "country=de" \
--data-urlencode "q=ozempic" \
--data-urlencode "kinds=de.ema.article57:products"
kinds takes up to 12 comma-separated sourceId:kind pairs, all of the requested country. A malformed pair, or one of another country, answers 400.
Filter by use and species
useDomain and species keep only human or veterinary medicines, or only those for a target species. Human and veterinary medicines.
Pagination
limit sets the page size, from 1 to 50 (default 20), and offset skips results, up to 10000. Each response carries nextOffset, the offset of the next page, or null on the last one.
Example
curl -G https://api.medifontis.com/v1/drugs \
-H "Authorization: Bearer $MEDIFONTIS_API_KEY" \
--data-urlencode "country=de" \
--data-urlencode "q=ozempic"const params = new URLSearchParams({ country: 'de', q: 'ozempic' })
const response = await fetch(`https://api.medifontis.com/v1/drugs?${params}`, {
headers: { Authorization: `Bearer ${process.env.MEDIFONTIS_API_KEY}` },
})
if (!response.ok) throw new Error(`Medifontis ${response.status}`)
const { results, nextOffset } = await response.json()import os
import requests
response = requests.get(
"https://api.medifontis.com/v1/drugs",
params={"country": "de", "q": "ozempic"},
headers={"Authorization": f"Bearer {os.environ['MEDIFONTIS_API_KEY']}"},
timeout=10,
)
response.raise_for_status()
results = response.json()["results"]
{
"country": "de",
"results": [
{
"country": "de",
"sourceId": "de.ema.article57",
"id": "de:ema:article57:3f301c505c8d15200fcc",
"kind": "products",
"name": "Ozempic",
"names": [
"Ozempic",
"Semaglutide"
],
"identifiers": [],
"data": {
"name": "Ozempic",
"holder": "Novo Nordisk A/S",
"useDomain": "unknown",
"databaseDate": "2026-10-09",
"listingStatus": "listed-as-authorised",
"sourceRowCount": 1
},
"retrievedAt": "2026-10-20T01:00:19.432Z",
"sourceUrl": "https://www.ema.europa.eu/en/documents/other/article-57-product-data_en.xlsx",
"licence": {
"id": "LicenseRef-EMA-Legal-Notice",
"attribution": "Source: European Medicines Agency (EMA), Article 57 product data (EMA/518502/2018), based on data submitted by marketing-authorisation holders."
}
},
{
"country": "de",
"sourceId": "de.ema.epar",
"id": "de:ema:epar:EMEA-H-C-004174",
"kind": "authorised-medicines",
"name": "Ozempic",
"names": [
"Ozempic",
"semaglutide"
],
"identifiers": [
{
"value": "EMEA/H/C/004174",
"scheme": "ema-product-number"
},
{
"value": "A10BJ06",
"scheme": "atc"
}
],
"data": {
"inn": "semaglutide",
"name": "Ozempic",
"holder": "Novo Nordisk A/S",
"category": "Human",
"useDomain": "unknown",
"decisionDate": "2026-06-11"
},
"retrievedAt": "2026-10-20T01:02:14.692Z",
"sourceUrl": "https://www.ema.europa.eu/en/documents/report/medicines-output-medicines_json-report_en.json",
"licence": {
"id": "LicenseRef-EMA-Legal-Notice",
"attribution": "Source: European Medicines Agency (EMA), EPAR medicines and EPAR documents website data. Product information is linked, not copied."
}
}
],
"nextOffset": null
}