Autenticação
Todas as rotas sob /api/* requerem Bearer token:
Authorization: Bearer <seu-token>
O endpoint /health é público.
Endpoints
GET
/api/search
auth
Busca medicamentos por nome, substância, classe terapêutica ou laboratório.
| Param | Default | Descrição |
|---|---|---|
| q | "" | Termo de busca (suporta typo tolerance) |
| limit | 20 | Resultados por página (máx 100) |
| offset | 0 | Offset para paginação |
| filter | — | Filtro (ex: tarja = "Tarja Vermelha") |
| sort | — | Ordenação (ex: precoConsumidor:asc) |
GET
/api/medications/:id
auth
Retorna detalhes de um medicamento pelo código GGREM.
# Exemplo
curl /api/medications/530722050007306 \
-H "Authorization: Bearer <token>"
GET
/health
público
Status da API. Não requer autenticação.
Exemplo de resposta
{
"hits": [
{
"id": "530722050007306",
"substancia": "DIPIRONA",
"produto": "DIPIRONA",
"apresentacao": "500 MG/ML SOL INJ CX 100 AMP VD AMB X 2 ML",
"laboratorio": "SANTISA LABORATÓRIO FARMACÊUTICO S/A",
"classeTerapeutica": "N2B1 - ANALGÉSICOS NÃO NARCÓTICOS...",
"tipoProduto": "Genérico",
"tarja": "Tarja Vermelha",
"precoFabrica": 261.71,
"precoConsumidor": 351.07,
// Campos derivados (parser de apresentação)
"concentracao": "500 mg/ml",
"formaFarmaceutica": "Solução injetável",
"viaAdministracao": "injetável",
"embalagem": "100 ampola vidro âmbar",
"quantidade": "2 ml",
"apresentacaoDescritiva": "500 mg/ml solução injetável caixa com 100 ampola vidro âmbar x 2 ml"
}
],
"query": "dipirona",
"processingTimeMs": 3,
"estimatedTotalHits": 233
}
Campos
| Campo | Tipo | Descrição |
|---|---|---|
| id | string | Código GGREM (ANVISA) |
| substancia | string | Princípio ativo |
| produto | string | Nome comercial |
| apresentacao | string | Apresentação original (siglas ANVISA) |
| laboratorio | string | Fabricante |
| classeTerapeutica | string | Classificação terapêutica |
| tipoProduto | string | Genérico, Similar, Novo, Biológico, etc. |
| tarja | string | Tarja Vermelha, Tarja Preta, Sem Tarja |
| restricaoHospitalar | boolean | Uso exclusivamente hospitalar |
| registro | string | Número de registro ANVISA |
| ean | string | Código de barras |
| precoFabrica | number | PF 0% (sem imposto) |
| precoConsumidor | number | PMC 0% (sem imposto) |
| concentracao | string | Extraído da apresentação |
| formaFarmaceutica | string | Comprimido, cápsula, solução, etc. |
| viaAdministracao | string | oral, injetável, tópica, etc. |
| embalagem | string | Tipo e quantidade de embalagem |
| quantidade | string | Volume/unidade por item |
| apresentacaoDescritiva | string | Apresentação com siglas expandidas |
Filtros e ordenação
Use o parâmetro filter:
# Só genéricos /api/search?q=dipirona&filter=tipoProduto = "Genérico" # Tarja vermelha e não hospitalar /api/search?q=amoxicilina&filter=tarja = "Tarja Vermelha" AND restricaoHospitalar = false # Ordenar por preço /api/search?q=losartana&sort=precoConsumidor:asc
Filtráveis: tipoProduto, tarja, restricaoHospitalar, classeTerapeutica
Ordenáveis: produto, substancia, precoConsumidor
Sinônimos
A API gera automaticamente 4.223 sinônimos ligando nomes comerciais a princípios ativos. Buscar novalgina também retorna todos os medicamentos com dipirona.
Fonte de dados
Tabela CMED (Câmara de Regulação do Mercado de Medicamentos), publicada pela ANVISA. Contém todos os medicamentos com preço regulado comercializados no Brasil. Filtrados para produtos com comercialização ativa.