Look up a pack barcode
GET/v1/drugs/barcode
Finds the records whose own identifiers a scanned pack code carries, in one country. It reads EAN, UPC and GTIN barcodes, GS1 DataMatrix and Digital Link codes, the Spanish national code in a Spanish NTIN, the Italian AIC and Code 32, the Swiss pack code in a 7680 GTIN and the NDC in a US UPC. It never matches names, and lot, expiry and serial numbers are ignored. A country whose sources publish no pack code returns no results.
Parameters
-
countrystring Required - Two-letter ISO 3166-1 country code, lowercase. Every search is scoped to one country.
-
barcodestring Required - The scanned code exactly as the scanner read it, 1 to 512 characters, including any GS1 group separators.
-
limitinteger - Number of results to return, from 1 to 50. Defaults to 20.
-
useDomainenum -
Keep only records whose source classifies them for this use. human and veterinary also include products the source marks for both. Applied before pagination.
Possible values:
humanveterinarybothunknownnot-applicable -
speciesstring - Keep only records with this reviewed target species, such as dog, cat, horse or cattle. Records with unknown or unmapped species are excluded. Applied before pagination.
Returns
-
countrystring - The country searched.
-
identifiersIdentifier[] - The pack identities read from the scan, such as gtin, es-national-code or it-aic. Empty when the code identifies no pack.
-
resultsRecord[] - The records that declare one of those identifiers, prescribable ones first. Each has matches, the identifiers of the record that the scan equals, and prescribable, true for the medicine’s own pack, presentation or product rather than a row that only lists its code.
Errors
400 401
403
429 503 ·
Errors and rate limits
curl -G https://api.medifontis.com/v1/drugs/barcode \
-H "Authorization: Bearer $MEDIFONTIS_API_KEY" \
--data-urlencode "country=br" \
--data-urlencode "barcode=7899547553505"const params = new URLSearchParams({ country: 'br', barcode: '7899547553505' })
const response = await fetch(`https://api.medifontis.com/v1/drugs/barcode?${params}`, {
headers: { Authorization: `Bearer ${process.env.MEDIFONTIS_API_KEY}` },
})
if (!response.ok) throw new Error(`Medifontis ${response.status}`)
const { identifiers, results } = await response.json()import os
import requests
response = requests.get(
"https://api.medifontis.com/v1/drugs/barcode",
params={"country": "br", "barcode": "7899547553505"},
headers={"Authorization": f"Bearer {os.environ['MEDIFONTIS_API_KEY']}"},
timeout=10,
)
response.raise_for_status()
results = response.json()["results"]
{
"country": "br",
"identifiers": [
{
"scheme": "gtin",
"value": "07899547553505"
}
],
"results": [
{
"country": "br",
"sourceId": "br.anvisa.cmed-prices",
"id": "br:cmed:presentations:528525010218907",
"kind": "presentations",
"name": "DIPIRONA SODICA 1000 MG COM CT BL AL PLAS AMB X 30",
"data": {
"name": "DIPIRONA SODICA 1000 MG COM CT BL AL PLAS AMB X 30",
"holder": "PRATI DONADUZZI & CIA LTDA",
"stripe": "Tarja Sem Tarja",
"barcodes": [
"7899547553505"
],
"confaz87": false,
"currency": "BRL",
"marketed": null,
"ggremCode": "528525010218907",
"useDomain": "unknown",
"capApplies": null,
"icmsExempt": false,
"holderTaxId": "73.856.593/0001-66",
"priceRegime": "Liberado",
"productName": "DIPIRONA SODICA",
"productType": "Genérico",
"hospitalOnly": false,
"presentation": "1000 MG COM CT BL AL PLAS AMB X 30",
"sourceStatus": null,
"supplyRegime": "Tarja Sem Tarja",
"factoryPrices": {
"icms-0": "34.00",
"icms-12": "38.64",
"icms-17": "40.96",
"icms-18": "41.46",
"icms-19": "41.98",
"icms-20": "42.50",
"icms-21": "43.04",
"icms-22": "43.59",
"icms-23": "44.16",
"icms-17.5": "41.21",
"icms-19.5": "42.24",
"icms-20.5": "42.77",
"icms-22.5": "43.87",
"icms-12-alc": "34.50",
"icms-17-alc": "36.57",
"icms-18-alc": "37.02",
"icms-19-alc": "37.48",
"icms-20-alc": "37.95",
"icms-21-alc": "38.43",
"icms-22-alc": "38.92",
"icms-23-alc": "39.42",
"withoutTaxes": "30.36",
"icms-17.5-alc": "36.80",
"icms-19.5-alc": "37.71",
"icms-20.5-alc": "38.19",
"icms-22.5-alc": "39.17"
},
"pisCofinsList": "Negativa",
"substanceText": "DIPIRONA",
"targetSpecies": [],
"consumerPrices": {
"icms-0": "45.61",
"icms-12": "51.83",
"icms-17": "54.95",
"icms-18": "55.62",
"icms-19": "56.31",
"icms-20": "57.01",
"icms-21": "57.74",
"icms-22": "58.47",
"icms-23": "59.24",
"icms-17.5": "55.28",
"icms-19.5": "56.66",
"icms-20.5": "57.37",
"icms-22.5": "58.85",
"icms-12-alc": "47.69",
"icms-17-alc": "50.56",
"icms-18-alc": "51.18",
"icms-19-alc": "51.81",
"icms-20-alc": "52.46",
"icms-21-alc": "53.13",
"icms-22-alc": "53.80",
"icms-23-alc": "54.50",
"withoutTaxes": "41.97",
"icms-17.5-alc": "50.87",
"icms-19.5-alc": "52.13",
"icms-20.5-alc": "52.80",
"icms-22.5-alc": "54.15"
},
"invalidBarcodes": [],
"activeSubstances": [
"DIPIRONA"
],
"therapeuticClass": "N2B2 - ANALGÉSICOS NÃO NARCÓTICOS E ANTIPIRÉTICOS ISENTOS DE PRESCRIÇÃO",
"commercialisation": {
"year": 2025,
"marketed": false
},
"priceAnalysisNote": null,
"useDomainEvidence": {
"basis": "unreviewed",
"field": null,
"value": null,
"version": 1,
"sourceId": "br.anvisa.cmed-prices"
},
"patientEligibility": "not-assessed",
"registrationNumber": "1256800410339",
"targetSpeciesStatus": "not-reported",
"administrativeStatus": "unknown",
"prescriptionCategory": "non-prescription",
"prescriptionRequired": false,
"therapeuticClassCode": "N2B2",
"commercialDestination": null,
"registrationNumberFlag": null
},
"region": null,
"retrievedAt": "2026-10-20T07:01:32.181Z",
"sourceUrl": "https://www.gov.br/anvisa/pt-br/assuntos/medicamentos/cmed/precos",
"licence": {
"id": "LicenseRef-CMED-Lista-Precos",
"url": "https://www.gov.br/anvisa/pt-br/assuntos/medicamentos/cmed/precos",
"scope": "current consumer price list (PF and PMC) linked from the CMED prices page",
"termsUrl": "https://creativecommons.org/licenses/by-nd/3.0/deed.pt_BR",
"reviewedAt": "2026-09-29",
"attribution": "Fonte: Câmara de Regulação do Mercado de Medicamentos (CMED), Secretaria Executiva/ANVISA — Lista de Preços de Medicamentos (Preços Fábrica e Máximos ao Consumidor)",
"documentsIncluded": false
},
"limitations": [
"Every presentation of the current CMED consumer price list (Preço Fábrica and Preço Máximo ao Consumidor): medicines with a CMED price, not ANVISA’s complete registration register.",
"The list carries no registration status; being priced does not establish a valid registration, current marketing or availability. \"COMERCIALIZAÇÃO <year>\" is the holder’s report for that past year only.",
"The stripe (tarja) is the prescription classification: red and black stripes are sold under prescription and \"Sem Tarja\" without one; \"- (*)\" means ANVISA’s Datavisa records carry no stripe, so the classification stays unknown. No patient eligibility is inferred.",
"Prices are regulatory ceilings in BRL per ICMS rate, not transaction prices; the PMC is omitted for hospital-restricted packs.",
"The reviewed October 9, 2026 preamble states no separate price-validity date; pricesValidFrom stays null, independently of the publication date.",
"Therapeutic classes are the list’s own class codes, not WHO ATC codes.",
"gov.br publishes its site content under CC BY-ND 3.0. ANVISA also lists these price data as open data (Plano de Dados Abertos 2023–2025), which Decreto 8.777/2016 defines as freely usable with attribution, and official acts are outside copyright (Lei 9.610/1998, art. 8). Medifontis restructures the list into records; whether the no-derivatives notice applies is not resolved."
],
"names": [
"DIPIRONA SODICA 1000 MG COM CT BL AL PLAS AMB X 30",
"DIPIRONA SODICA",
"DIPIRONA"
],
"identifiers": [
{
"value": "1256800410339",
"scheme": "registration"
},
{
"value": "528525010218907",
"scheme": "ggrem"
},
{
"value": "7899547553505",
"scheme": "barcode"
}
],
"prescribable": true,
"matches": [
{
"value": "7899547553505",
"scheme": "barcode"
}
]
}
]
}