AIFA API: search Italian medicines and AIC codes
Use AIFA package data through the same API as other countries.
Search by name
Create a free key, keep it on your server, then make this request. Node.js needs no package; the Python example uses requests (pip install requests).
Get your free API keycurl -G https://api.medifontis.com/v1/drugs \
-H "Authorization: Bearer mf_live_your_api_key" \
--data-urlencode "country=it" \
--data-urlencode "q=tachipirina"const params = new URLSearchParams({ country: 'it', q: 'tachipirina' })
const response = await fetch(`https://api.medifontis.com/v1/drugs?${params}`, {
headers: { Authorization: 'Bearer mf_live_your_api_key' },
})
if (!response.ok) throw new Error(`Medifontis ${response.status}`)
const { results, nextOffset } = await response.json()import requests
response = requests.get(
"https://api.medifontis.com/v1/drugs",
params={"country": "it", "q": "tachipirina"},
headers={"Authorization": "Bearer mf_live_your_api_key"},
timeout=10,
)
response.raise_for_status()
results = response.json()["results"]
Preserve the full AIC code
Treat AIC as a string so leading zeroes survive. Search by the code, then verify the exact returned identifier. Package, ingredient and shortage records are separate source records; never merge them by medicine name.
const params = new URLSearchParams({ country: 'it', q: '012745016' })
// Keep '012745016' as text, not the number 12745016.
Source and scope
AIFA sources have their own publication dates and attribution requirements. Collection time is not a new regulatory decision. A listed package does not establish current pharmacy stock or patient eligibility.
AIFA