Documentação da API
API REST em JSON, respostas e erros em português. Autenticação via header X-API-Key.
Ainda não tem key? Gere uma grátis.
⚡ Quickstart
Base URL:
https://medicamentos.api.br Buscar medicamentos por nome:
curl -H "X-API-Key: SUA_KEY" \
"https://medicamentos.api.br/api/v1/medicamentos?nome=dipirona&pagina=1" 🔐 Autenticação
Toda requisição deve enviar a key (32 caracteres hexadecimais) no header X-API-Key.
A key é gerada em /api e enviada por e-mail.
X-API-Key: SUA_KEY
Toda resposta inclui os headers X-RateLimit-Limit e X-RateLimit-Remaining
com o seu limite do período principal (diário no Free/Pro, mensal no Business) e o saldo restante.
O plano Free também tem um teto mensal (1.000 requisições/mês) além do diário — o que estourar
primeiro bloqueia.
📚 Endpoints
GET /api/v1/medicamentos Free+
Busca paginada de medicamentos por nome (20 resultados por página).
Parâmetros (query)
nome— termo de busca, mínimo 2 caracteres (ex.:dipirona)pagina— página do resultado, começa em 1 (opcional)
Exemplo de resposta
{
"total": 42,
"pagina": 1,
"totalPaginas": 3,
"porPagina": 20,
"resultados": [
{
"registro": "186100010",
"nome": "ZOMIG",
"fabricante": "GRÜNENTHAL DO BRASIL FARMACÊUTICA LTDA.",
"principioAtivo": "zolmitriptana",
"categoria": "ANALGESICOS CONTRA ENXAQUECA"
}
]
} GET /api/v1/medicamentos/{registro} Free+
Detalhe de um medicamento pelo número de registro ANVISA, com o histórico de preços CMED vigentes.
Parâmetros (path)
registro— número de registro ANVISA
Exemplo de resposta
{
"registro": "186100010",
"nome": "ZOMIG",
"fabricante": "GRÜNENTHAL DO BRASIL FARMACÊUTICA LTDA.",
"principioAtivo": "zolmitriptana",
"categoria": "ANALGESICOS CONTRA ENXAQUECA",
"precosCMED": [
{ "uf": "Nacional", "regime": "0%", "pf": 46.61, "pmvg": 40.12, "referencia": "Abril/2026", "laboratorio": "GRUNENTHAL DO BRASIL FARMACEUTICA LTDA", "apresentacao": "2,5MG CT BL AL PLAS INC X 2 COM", "matchConfidence": "alta" },
{ "uf": "Nacional", "regime": "20%", "pf": 58.26, "pmvg": 50.15, "referencia": "Abril/2026", "laboratorio": "GRUNENTHAL DO BRASIL FARMACEUTICA LTDA", "apresentacao": "2,5MG CT BL AL PLAS INC X 2 COM", "matchConfidence": "alta" }
]
} precosCMED traz uma linha por UF/regime tributário/apresentação vigente na
tabela CMED — como um medicamento pode ter várias apresentações e fabricantes cadastrados,
é normal vir mais de uma entrada para o mesmo medicamento, uma por
apresentação/fabricante (não é mais uma síntese única)
(pf = preço fábrica, pmvg = preço máximo de venda ao governo,
pode ser null, laboratorio e apresentacao vêm como
cadastrados na tabela CMED). Lista vazia quando o medicamento não consta na tabela CMED.
matchConfidence indica o grau de certeza do casamento entre o medicamento e
o preço: alta (nome comercial exato), media (princípio ativo +
dosagem) ou baixa (princípio ativo + fabricante — pode ser uma embalagem ou
dosagem diferente da real; trate como aproximado).
GET /api/v1/principios-ativos/{slug} Pro+
Todos os medicamentos de um princípio ativo — ideal para comparação de genéricos.
Parâmetros
slug(path) — princípio ativo em slug (ex.:zolmitriptana)
Exemplo de resposta
{
"principioAtivo": "zolmitriptana",
"total": 1,
"medicamentos": [
{
"registro": "186100010",
"nome": "ZOMIG",
"fabricante": "GRÜNENTHAL DO BRASIL FARMACÊUTICA LTDA.",
"categoria": "ANALGESICOS CONTRA ENXAQUECA"
}
]
} GET /api/v1/medicamentos/{registro}/bula Pro+
Bula completa do medicamento, em seções estruturadas (JSON, não PDF), a partir do Bulário Eletrônico da ANVISA. Disponível nos planos Pro e Business.
Parâmetros
registro(path) — nº de registro ANVISA, só dígitos (ex.:102980568)
Exemplo de resposta
{
"registro": "102980568",
"bula": {
"paraQueServe": "…",
"comoTomar": "…",
"contraindicacoes": "…",
"efeitosColaterais": "…",
"composicao": "…",
"precaucoes": "…",
"extracaoFalhou": false
}
}
Retorna 404 bula_nao_encontrada quando não há bula para o registro.
extracaoFalhou: true significa que o PDF da bula existe mas a extração
automática não conseguiu reconhecer as seções — texto pode estar incompleto; não confunda
com "sem bula publicada".
GET /api/v1/ean/{codigo} Free+
Busca por código de barras (EAN-13) — ideal para PDV de farmácia e conferência de preço teto CMED no balcão. Resolve o EAN para o registro ANVISA e devolve o medicamento com preços CMED. Cobre ~25 mil EANs da tabela CMED vigente.
Parâmetros
codigo(path) — EAN-13, só dígitos (ex.:7891106000956)
Exemplo de resposta
{
"registro": "170560023",
"nome": "…",
"fabricante": "…",
"principioAtivo": "…",
"categoria": "…",
"precosCMED": [ { "uf": "Nacional", "regime": "0%", "pf": 12.34, "pmvg": 10.87, "referencia": "Abril/2026", "laboratorio": "…", "apresentacao": "…", "matchConfidence": "alta" } ]
}
Mesmo formato de /api/v1/medicamentos/{registro} — inclusive várias entradas
por apresentação/fabricante quando aplicável. Retorna 400 ean_invalido
se o código não tiver 13 dígitos e 404 nao_encontrado quando o EAN não consta no índice.
🚨 Códigos de erro
Erros são retornados em JSON, em português, no formato { "erro", "mensagem" }:
{
"erro": "limite_excedido",
"mensagem": "Limite diário de requisições atingido. Tente novamente após a meia-noite (horário de Brasília)."
} | HTTP | Campo erro | Quando ocorre |
|---|---|---|
400 | parametro_invalido | Parâmetro ausente ou inválido (ex.: nome com menos de 2 caracteres) |
401 | nao_autenticado / chave_invalida | Header X-API-Key ausente ou key inválida |
403 | tier_insuficiente | Endpoint não disponível no seu plano |
404 | nao_encontrado | Registro ou princípio ativo inexistente |
429 | limite_excedido | Limite diário ou mensal atingido — resposta inclui header Retry-After |
📈 Limites por plano
| Plano | Limite | Endpoints |
|---|---|---|
| Free | 100 req/dia (máx. 1.000/mês) | Busca por nome, consulta por registro, busca por EAN |
| Pro | 10.000 req/dia | + princípio ativo, bula completa |
| Business | 100.000 req/mês | Tudo do Pro, limite mensal (não diário) |
Contador diário reinicia à meia-noite, mensal no dia 1º (horário de Brasília). Acompanhe seu saldo
pelos headers X-RateLimit-Limit e X-RateLimit-Remaining.
Estourou o limite? Veja os planos Pro e Business.
Pronto para começar?
Gerar API key grátis →