Exportar registros em CSV
GET/v1/drugs/export
Baixa registros de um país como um arquivo CSV: todos os registros que trazem um nome exato ou um tipo inteiro de uma fonte. As exportações fazem parte dos planos Pro e Business, e as de fontes inteiras, do plano Business. Só são exportadas as fontes publicadas sob licença aberta; registros de qualquer outra fonte ficam de fora. Um arquivo contém até 5.000 registros, e o cabeçalho de resposta X-Medifontis-Next traz o cursor do arquivo seguinte.
Parâmetros
-
countrystring Obrigatório - Código de país ISO 3166-1 de duas letras, em minúsculas. Cada busca é restrita a um único país.
-
namestring - Exporta os registros que trazem exatamente este nome, de 3 a 120 caracteres. Acentos e diferenças entre maiúsculas e minúsculas são ignorados. Use name ou, então, sourceId e kind.
-
kindsstring - Com name: mantém apenas estes tipos de registro, informados como pares sourceId:kind do país solicitado, separados por vírgula, no máximo 12.
-
sourceIdstring - Exporta uma fonte inteira do país solicitado, como it.aifa.packages. Requer kind.
-
kindstring - Com sourceId: o tipo de registro a exportar, como packages.
-
afterstring - O cursor do cabeçalho X-Medifontis-Next do arquivo anterior. Omita-o no primeiro arquivo.
Retorna
-
bodytext/csv - Uma linha de cabeçalho e uma linha por registro, em UTF-8: country, source_id, record_id, kind, name, other_names, identifiers, holder, administrative_status, prescription_category, retrieved_at, source_url, licence e attribution. Os identificadores são escritos como scheme=value, separados por barras verticais.
-
X-Medifontis-Rowsheader - O número de registros neste arquivo.
-
X-Medifontis-Nextheader - O cursor do próximo arquivo. Ausente quando este arquivo é o último.
Erros
400 401
403 404
429 503 ·
Erros e limites de requisições
curl -G https://api.medifontis.com/v1/drugs/export \
-H "Authorization: Bearer $MEDIFONTIS_API_KEY" \
--data-urlencode "country=it" \
--data-urlencode "name=TACHIPIRINA" \
-o medicines.csvimport { writeFile } from 'node:fs/promises'
const params = new URLSearchParams({ country: 'it', name: 'TACHIPIRINA' })
let csv = ''
for (let after; ; ) {
if (after) params.set('after', after)
const response = await fetch(`https://api.medifontis.com/v1/drugs/export?${params}`, {
headers: { Authorization: `Bearer ${process.env.MEDIFONTIS_API_KEY}` },
})
if (!response.ok) throw new Error(`Medifontis ${response.status}`)
const page = await response.text()
// Later files repeat the header row.
csv += csv ? page.slice(page.indexOf('\n') + 1) : page
after = response.headers.get('x-medifontis-next')
if (!after) break
}
await writeFile('medicines.csv', csv)import os
import requests
params = {"country": "it", "name": "TACHIPIRINA"}
pages = []
while True:
response = requests.get(
"https://api.medifontis.com/v1/drugs/export",
params=params,
headers={"Authorization": f"Bearer {os.environ['MEDIFONTIS_API_KEY']}"},
timeout=30,
)
response.raise_for_status()
text = response.text
# Later files repeat the header row.
pages.append(text if not pages else text.split("\n", 1)[1])
cursor = response.headers.get("X-Medifontis-Next")
if not cursor:
break
params["after"] = cursor
with open("medicines.csv", "w", encoding="utf-8", newline="") as file:
file.write("".join(pages))
country,source_id,record_id,kind,name,other_names,identifiers,holder,administrative_status,prescription_category,retrieved_at,source_url,licence,attribution
it,it.aifa.packages,it:aifa:packages:012745016,packages,TACHIPIRINA,PARACETAMOLO,aic=012745016 | atc=N02BE01,AZIENDE CHIMICHE RIUNITE ANGELINI FRANCESCO A.C.R.A.F. S.P.A.,Autorizzata,non-prescription,2026-11-09T03:30:49.159Z,https://drive.aifa.gov.it/farmaci/confezioni_fornitura.csv,CC-BY-4.0,Agenzia Italiana del Farmaco (AIFA)