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

cURL
# 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:

Python (requests)
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.
JavaScript (Node 18+ / fetch)
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:

Resposta JSON
{
  "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."
    }
  ]
}
No exemplo, Dorflex (dipirona) × Marevan (varfarina) é uma interação grave: a dipirona potencializa o efeito anticoagulante.

Outras formas de consultar

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.