openFDA API

The openFDA API here reads the FDA's adverse-event reporting system (FAERS) and returns one typed row per safety report — the report id, whether it is flagged serious and why, the reported drugs, the reactions as MedDRA terms, the patient's sex and age, the country of occurrence, the received date and the report type.

openFDA is keyless and public, so a small query needs nothing more than a URL. The reason to run it here is scale and shape: FAERS is enormous, the raw records are deeply nested, and openFDA applies per-IP rate limits that bite once you page through tens of thousands of reports. The collector reads it over rotating exits and flattens each report into columns you can group and count directly.

$0.0004 per delivered report, up to 500 reports per run. Nothing delivered means nothing charged.

How the openFDA API works

You pass a query — either a plain drug name or openFDA's own field:value search syntax — and each matching FAERS report comes back as one flat row.

Inputs

query is required. Pass a bare drug name for the common case, or an openFDA field:value expression when you need to target a specific FAERS field. max_results caps delivery at 500 reports, and you pay only for reports returned.

What one report looks like

One row per FAERS report. serious plus serious_reasons capture outcome severity; drugs and reactions are the arrays you group on; patient_sex, patient_age and country add demographics; received_date and report_type place the report in time and category. Reported fields are left null when a submitter omitted them — never inferred.

What the openFDA API costs

$0.0004 per delivered report ($0.40 per 1,000). Nothing delivered means nothing charged, and the $2 monthly free credit covers roughly 5,000 reports here. Volume tiers take up to 30% off.

$0.0004 per delivered report — $0.40 per 1,000 — no subscription. The $2/month free allowance covers about 5,000 reports with no card.

The 500-report cap per run and per-delivered-row billing keep large safety pulls predictable: a query that matches 120 reports costs 120 rows, and you scale by issuing more runs rather than one giant paginated crawl.

openFDA API vs calling openFDA directly

Here the "official" API is openFDA — this collector does not replace it, it fronts it. So the honest framing is different from a walled source: you can absolutely query openFDA yourself for free, and for a one-off you should.

What the collector adds is the operational layer around a very large dataset — rotation so per-IP limits do not throttle a big pull, a flat one-row-per-report schema instead of nested JSON, and the same table shape as your other collectors. If your work is a repeated, sizeable extraction rather than a single question, that layer is what you are paying for.

Versus paging FAERS yourself

The DIY path is straightforward until the volume grows: you page openFDA's results, handle its rate-limit responses, and write the flattening that turns coded, nested safety reports into analyzable rows. None of it is hard; all of it is maintenance.

Keep your own extractor if you like — and put our residential proxies under it so the per-IP ceiling stops being the thing that decides how fast you can pull.

What people build with it

Drug safety signal scans

Query a drug and group reactions to see which adverse events dominate its FAERS reports, filtered to serious where outcome severity matters.

Pharmacovigilance datasets

Assemble a structured corpus across a set of drugs — one row per report with drugs, reactions and demographics — for downstream statistical work.

Comparative reaction profiles

Run several drug queries and compare the distribution of serious_reasons and reactions across them to contrast safety profiles.

Limits, interpretation and the legal bit

One run delivers up to 500 reports. FAERS is a spontaneous-reporting system: a report is an allegation, not a confirmed causal link, and counts are shaped by reporting bias — read the columns accordingly. Runs parallelise up to your plan's rate limit (60–1,200 requests/minute by tier).

openFDA data is public and not for diagnosis or treatment decisions; the FDA's own caveats about FAERS apply. This is not medical or legal advice.

FAQ

Is the openFDA API free?

openFDA itself is free and keyless, so query it directly for one-offs. This collector adds rotation, a flat schema and one API key across sources, plus a $2/month free allowance of its own — about 5,000 reports — with no card.

Do I need an openFDA API key?

No. openFDA works without a key and the collector needs only your QuantumProxies key. Rotation across residential exits is what keeps a large pull under openFDA's per-IP limits.

What is FAERS and what does a row represent?

FAERS is the FDA Adverse Event Reporting System. Each row is one submitted safety report — its drugs, reactions, seriousness and patient demographics — not a confirmed side effect; reports are allegations subject to reporting bias.

Can I use openFDA's field:value syntax?

Yes. The query accepts either a plain drug name or an openFDA field:value expression, so you can target specific FAERS fields when a bare name is too broad.

Related scrapers