Como consultar interações medicamentosas via API
Em resumo: troque sua API key por um token em POST /auth/token e chame GET /v1/interacoes/cruzadas?produto_a=&produto_b=. A resposta traz cada interação com gravidade, mecanismo e manejo clínico, em português. Abaixo, exemplos prontos em cURL, Python e JavaScript.
1. Autenticação
A autenticação é em duas etapas: você troca a API key (que pega no painel após criar a conta) por um token de acesso de curta duração. Todas as chamadas seguintes usam Authorization: Bearer.
2. Consultar a interação entre dois medicamentos
# 1. Troque sua API key por um token (válido por 1h)
curl -X POST https://api.pharmadb.com.br/auth/token \
-H "x-api-key: pdb_sua_chave_aqui"
# → { "access_token": "eyJ...", "token_type": "bearer", "expires_in": 3600 }
# 2. Verifique a interação entre dois medicamentos (Dorflex × Marevan)
curl -H "Authorization: Bearer $TOKEN" \
"https://api.pharmadb.com.br/v1/interacoes/cruzadas?produto_a=1284&produto_b=5678"O mesmo fluxo em Python e JavaScript:
import requests
API_KEY = "pdb_sua_chave_aqui"
BASE = "https://api.pharmadb.com.br"
# 1. Trocar a API key por um token de acesso
token = requests.post(f"{BASE}/auth/token",
headers={"x-api-key": API_KEY}).json()["access_token"]
auth = {"Authorization": f"Bearer {token}"}
# 2. Interação entre Dorflex (1284) e Marevan (5678)
r = requests.get(f"{BASE}/v1/interacoes/cruzadas",
params={"produto_a": 1284, "produto_b": 5678}, headers=auth)
for i in r.json()["interacoes"]:
print(f"[{i['gravidade'].upper()}] {i['pa_a']['nome_dcb']} × {i['pa_b']['nome_dcb']}")
print("Manejo:", i["manejo_clinico"])
# [GRAVE] dipirona × varfarina sodica
# Manejo: Evitar uso concomitante ou monitorar INR frequentemente.const API_KEY = "pdb_sua_chave_aqui";
const BASE = "https://api.pharmadb.com.br";
// 1. Trocar a API key por um token de acesso
const { access_token } = await (
await fetch(`${BASE}/auth/token`, {
method: "POST",
headers: { "x-api-key": API_KEY },
})
).json();
// 2. Interação entre Dorflex (1284) e Marevan (5678)
const res = await fetch(
`${BASE}/v1/interacoes/cruzadas?produto_a=1284&produto_b=5678`,
{ headers: { Authorization: `Bearer ${access_token}` } }
);
const { interacoes } = await res.json();
interacoes.forEach((i) =>
console.log(`[${i.gravidade}] ${i.pa_a.nome_dcb} × ${i.pa_b.nome_dcb} — ${i.manejo_clinico}`)
);A resposta
Cada item de interacoes traz os dois princípios ativos, a gravidade (leve, moderada ou grave), o mecanismo e o manejo clínico:
{
"produto_a": { "id": 1284, "nome": "DORFLEX",
"principios_ativos": ["dipirona", "citrato de orfenadrina", "cafeina"] },
"produto_b": { "id": 5678, "nome": "MAREVAN",
"principios_ativos": ["varfarina sodica"] },
"interacoes": [
{
"id": 1042,
"pa_a": { "id": 1, "nome_dcb": "dipirona" },
"pa_b": { "id": 5, "nome_dcb": "varfarina sodica" },
"gravidade": "grave",
"mecanismo": "Dipirona inibe a agregação plaquetária e potencializa o efeito anticoagulante.",
"manejo_clinico": "Evitar uso concomitante ou monitorar INR frequentemente."
}
]
}Outras formas de consultar
GET /v1/interacoes/pa/{id}— todas as interações de um princípio ativo.GET /v1/interacoes/produto/{id}?gravidade=grave— interações de um produto, filtradas por gravidade.GET /v1/interacoes/ean/{ean}— por código de barras (EAN).POST /v1/interacoes/batch— checa uma lista de medicamentos de uma vez (até 100).
Perguntas frequentes
Como consultar interações medicamentosas por API?
Autentique-se trocando sua API key por um token em POST /auth/token e chame GET /v1/interacoes/cruzadas?produto_a={id}&produto_b={id} com o header Authorization: Bearer. A resposta traz cada interação com gravidade (leve, moderada, grave), mecanismo e manejo clínico, em português.
Dá para checar a interação entre dois medicamentos específicos?
Sim. O endpoint /v1/interacoes/cruzadas recebe dois produtos (por ID) e retorna todas as interações entre os princípios ativos deles. Também é possível consultar por EAN ou enviar uma lista de medicamentos de uma vez em POST /v1/interacoes/batch.
A API de interação medicamentosa é em português?
Sim. Gravidade, mecanismo, efeito clínico e manejo vêm em português brasileiro, com referência científica rastreável para cada interação.
Preciso pagar para testar a API de interações?
Não para começar: a PharmaDB oferece 7 dias grátis. Você cria a conta, recebe a API key e já consulta interações via REST.
Comece a consultar interações agora
7 dias grátis. API key na hora, REST em português.
Base de interações medicamentosas
192 mil combinações com gravidade e manejo.
Alertas regulatórios da ANVISA
Recall, cancelamento e preço CMED por webhook.