AIDEVELOPER TOOLS

FDA Product Intelligence

Get a comprehensive FDA regulatory intelligence report for any drug, device, or food product — combining approvals, adverse events, and recalls from **9 openFDA endpoints** in a single run. Search by product name, company name, or both, and receive a unified risk-assessed profile with cross-domain timeline, key findings, and aggregate safety statistics.

0
Users (30d)
0
Runs (30d)
90
Actively maintained
Maintenance Pulse
Free
Per event

Maintenance Pulse

90/100
Last Build
Today
Last Version
1d ago
Builds (30d)
8
Issue Response
N/A

Documentation

Get a comprehensive FDA regulatory intelligence report for any drug, device, or food product — combining approvals, adverse events, and recalls from 9 openFDA endpoints in a single run. Search by product name, company name, or both, and receive a unified risk-assessed profile with cross-domain timeline, key findings, and aggregate safety statistics.

Why Use This Actor?

  • One query, full picture — queries 9 separate FDA endpoints in parallel and returns a single intelligence report instead of requiring 9 separate API integrations
  • Risk assessment — automatically computes a risk level (CRITICAL / HIGH / MODERATE / LOW / MINIMAL) based on Class I recalls, death reports, adverse event seriousness rates, and ongoing recalls
  • Key findings — generates human-readable insights like "34,791 death-associated drug adverse event reports" and "2 Class I recall(s) — most serious category"
  • Cross-domain timeline — builds a chronological timeline of approvals, clearances, and recalls across drugs, devices, and food
  • Smart aggregation — uses openFDA count endpoints for adverse event statistics (top reactions, outcomes, seriousness) instead of fetching millions of individual records
  • No API key needed — uses the free public openFDA API

Key Features

  • Searches across 3 FDA domains: drugs, medical devices, and food/supplements
  • Queries 9 openFDA endpoints in parallel: drug approvals, drug adverse events, drug recalls, device 510(k) clearances, device PMA approvals, device adverse events (MAUDE), device recalls, food adverse events (CAERS), and food recalls
  • Computes risk level from Class I recall counts, death-associated reports, seriousness ratios, and ongoing recalls
  • Generates key findings — a bullet list of the most important regulatory signals
  • Builds a cross-domain timeline — approval dates, clearance dates, and recall dates sorted chronologically
  • Returns aggregate adverse event statistics — total reports, serious count, death count, and top 15 reaction/outcome terms
  • Configurable search scope — search all domains or narrow to drugs, devices, or food only
  • Parallel execution — all endpoint queries run concurrently for fast results (typically 2-5 seconds)
  • Automatic retry with backoff on rate limits and transient errors

How to Use

  1. Go to the actor's input page on Apify Console
  2. Enter a Product Name (e.g. "metformin", "pacemaker") and/or Company Name (e.g. "Pfizer", "Medtronic")
  3. Optionally select a Search Scope to narrow results to a specific domain
  4. Optionally set a date range to filter results
  5. Click Start and wait for the intelligence report
  6. Download the report from the Dataset tab

Input Parameters

FieldTypeRequiredDescription
productNamestringNo*Drug, device, or food product name
companyNamestringNo*Manufacturer, sponsor, or recalling firm
searchScopeenumNoall, drugs, devices, or food (default: all)
dateFromstringNoStart date filter (YYYY-MM-DD)
dateTostringNoEnd date filter (YYYY-MM-DD)
maxResultsPerCategoryintegerNoMax detailed records per category (default: 25, max: 100)

*At least one of productName or companyName is required.

Input Examples

Drug safety profile

{
    "productName": "metformin",
    "searchScope": "drugs"
}

Company-wide regulatory intelligence

{
    "companyName": "Medtronic",
    "searchScope": "all"
}

NDMA contamination investigation

{
    "productName": "valsartan",
    "searchScope": "drugs",
    "dateFrom": "2018-01-01",
    "dateTo": "2023-12-31"
}

Medical device due diligence

{
    "productName": "pacemaker",
    "companyName": "Medtronic",
    "searchScope": "devices",
    "maxResultsPerCategory": 50
}

Input Tips

  • Use brand names (Lipitor) or generic names (atorvastatin) for drug searches — both are searched
  • Company names for drug approvals are automatically uppercased (FDA stores sponsor names in ALL CAPS)
  • Set searchScope to a specific domain if you know the product type — this reduces API calls and speeds up the response
  • The maxResultsPerCategory only limits detailed records (approvals, recalls). Adverse event aggregates (totals, top reactions) always include all matching records
  • Date filters apply differently per endpoint — typically filtering on report date, approval date, or event date as appropriate

Output

The actor produces a single intelligence report record:

{
    "query": {
        "productName": "metformin",
        "companyName": "",
        "searchScope": "drugs",
        "searchedAt": "2026-02-25T10:30:00.000Z"
    },
    "summary": {
        "riskLevel": "CRITICAL",
        "totalFindings": 11,
        "domainsWithData": ["drugs"],
        "keyFindings": [
            "Earliest drug approval: NDA NDA021842 (2009-10-21)",
            "5 drug application(s) found",
            "428,781 total adverse event reports across all domains",
            "34,791 death-associated drug adverse event reports",
            "Top drug adverse reaction: NAUSEA (29,312 reports)",
            "5 recall(s) found",
            "⚠ 1 Class I recall(s) — most serious category",
            "1 ongoing/active recall(s)"
        ],
        "classIRecalls": 1,
        "deathReports": 34791,
        "totalAdverseEvents": 428781,
        "totalRecalls": 5,
        "totalApprovals": 5
    },
    "drugs": {
        "approvals": [
            {
                "applicationNumber": "NDA021842",
                "applicationType": "NDA",
                "sponsorName": "TAKEDA PHARMS USA",
                "brandNames": ["ACTOPLUS MET"],
                "genericNames": ["PIOGLITAZONE HYDROCHLORIDE AND METFORMIN HYDROCHLORIDE"],
                "activeIngredients": ["PIOGLITAZONE HYDROCHLORIDE", "METFORMIN HYDROCHLORIDE"],
                "dosageForms": ["TABLET"],
                "routes": ["ORAL"],
                "productCount": 4,
                "submissionCount": 22,
                "originalApprovalDate": "2009-10-21"
            }
        ],
        "adverseEvents": {
            "totalReports": 428781,
            "seriousCount": 285471,
            "deathCount": 34791,
            "topReactions": [
                { "term": "NAUSEA", "count": 29312 },
                { "term": "BLOOD GLUCOSE INCREASED", "count": 27459 },
                { "term": "DIARRHOEA", "count": 27320 },
                { "term": "DRUG INEFFECTIVE", "count": 22196 },
                { "term": "LACTIC ACIDOSIS", "count": 18415 }
            ]
        },
        "recalls": [
            {
                "recallNumber": "D-0435-2021",
                "classification": "Class II",
                "status": "Terminated",
                "recallingFirm": "Cardinal Health Inc.",
                "productDescription": "xigduo XR (dapgliflozin/metformin HCl extended-release) tablets ...",
                "reasonForRecall": "CGMP Deviations: Intermittent exposure to temperature excursion",
                "recallInitiationDate": "2021-03-15",
                "distributionPattern": "FL, GA, SC",
                "brandNames": ["XIGDUO"]
            }
        ]
    },
    "devices": null,
    "food": null,
    "timeline": [
        {
            "date": "2025-11-10",
            "domain": "drug",
            "type": "approval",
            "description": "ANDA ANDA090564 approved — METFORMIN HYDROCHLORIDE"
        },
        {
            "date": "2025-02-25",
            "domain": "drug",
            "type": "recall",
            "description": "Class II drug recall by A-S Medication Solutions LLC — Presence of Foreign Tablet"
        }
    ]
}

Output Fields

Query Metadata

FieldTypeDescription
query.productNamestringProduct name searched
query.companyNamestringCompany name searched
query.searchScopestringDomain scope used
query.searchedAtstringISO timestamp of the search

Summary

FieldTypeDescription
summary.riskLevelstringComputed risk: CRITICAL, HIGH, MODERATE, LOW, or MINIMAL
summary.totalFindingsnumberTotal approvals + recalls + adverse event signals
summary.domainsWithDatastring[]FDA domains that returned results
summary.keyFindingsstring[]Human-readable key insights
summary.classIRecallsnumberCount of most-serious Class I recalls
summary.deathReportsnumberDeath-associated adverse event reports
summary.totalAdverseEventsnumberTotal adverse event reports across all domains
summary.totalRecallsnumberTotal recall enforcement actions
summary.totalApprovalsnumberTotal approvals and clearances

Drug Intelligence (drugs)

FieldTypeDescription
drugs.approvals[]arrayNDA/ANDA/BLA drug approvals with brand names, ingredients, dates
drugs.adverseEvents.totalReportsnumberTotal FAERS adverse event reports
drugs.adverseEvents.seriousCountnumberReports flagged as serious
drugs.adverseEvents.deathCountnumberReports with death outcome
drugs.adverseEvents.topReactions[]arrayTop 15 adverse reactions by frequency
drugs.recalls[]arrayDrug recall enforcement reports

Device Intelligence (devices)

FieldTypeDescription
devices.clearances510k[]arrayFDA 510(k) premarket clearances
devices.approvalsPma[]arrayFDA PMA (Class III) device approvals
devices.adverseEvents.totalReportsnumberTotal MAUDE adverse event reports
devices.adverseEvents.topDeviceProblems[]arrayTop device generic names by frequency
devices.adverseEvents.topPatientProblems[]arrayTop report types
devices.recalls[]arrayDevice recall enforcement reports

Food Intelligence (food)

FieldTypeDescription
food.adverseEvents.totalReportsnumberTotal CAERS adverse event reports
food.adverseEvents.topReactions[]arrayTop adverse reactions
food.adverseEvents.topOutcomes[]arrayTop outcomes (hospitalization, death, etc.)
food.recalls[]arrayFood recall enforcement reports

Timeline

FieldTypeDescription
timeline[].datestringEvent date (YYYY-MM-DD)
timeline[].domainstringdrug, device, or food
timeline[].typestringapproval, clearance, recall, or adverse_event_spike
timeline[].descriptionstringHuman-readable event description

Risk Level Methodology

LevelCriteria
CRITICALMultiple Class I recalls AND >100 death reports, OR Class I recalls AND >50 death reports
HIGHAny Class I recall, OR >50 death reports, OR >80% serious adverse event rate
MODERATERecalls present AND >1,000 adverse events, OR ongoing recalls, OR >100 adverse events
LOWSome recalls or adverse events present but not reaching higher thresholds
MINIMALFew or no concerning findings across all domains

Use Cases

  • Pharma due diligence — Before acquiring a drug portfolio, get the full regulatory profile: approvals, recall history, adverse event trends, and risk level in one report
  • Medical device evaluation — Research a device's 510(k) clearances, PMA approvals, MAUDE reports, and recall history before procurement
  • Drug safety research — Investigate a drug's adverse event profile including top reactions, death counts, and seriousness rates
  • NDMA/contamination investigation — Track recalls and adverse events for drugs affected by impurity contaminations (valsartan, ranitidine, metformin)
  • Competitor intelligence — Search by company name to see a competitor's full FDA regulatory footprint across all product domains
  • Regulatory compliance monitoring — Schedule weekly runs to track evolving risk profiles for products in your portfolio
  • Supply chain risk assessment — Evaluate manufacturer recall history and adverse event patterns before sourcing decisions
  • Legal research — Build a complete regulatory timeline for litigation involving drug or device safety claims

API Examples

Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("ryanclinton/fda-product-intelligence").call(run_input={
    "productName": "metformin",
    "searchScope": "drugs",
})

report = list(client.dataset(run["defaultDatasetId"]).iterate_items())[0]
print(f"Risk Level: {report['summary']['riskLevel']}")
print(f"Key Findings:")
for finding in report['summary']['keyFindings']:
    print(f"  - {finding}")

JavaScript

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('ryanclinton/fda-product-intelligence').call({
    productName: 'pacemaker',
    companyName: 'Medtronic',
    searchScope: 'devices',
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
const report = items[0];
console.log(`Risk: ${report.summary.riskLevel}`);
console.log(`Device AE: ${report.devices?.adverseEvents.totalReports.toLocaleString()}`);

cURL

curl "https://api.apify.com/v2/acts/ryanclinton~fda-product-intelligence/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"productName": "valsartan", "searchScope": "drugs"}'

How It Works

                    ┌─────────────────────┐
                    │   Product / Company  │
                    │      Query Input     │
                    └──────────┬──────────┘
                               │
                    ┌──────────▼──────────┐
                    │    Scope Router     │
                    │  drugs/devices/food │
                    └──────────┬──────────┘
                               │
          ┌────────────────────┼────────────────────┐
          │                    │                     │
    ┌─────▼─────┐       ┌─────▼─────┐        ┌─────▼─────┐
    │   DRUGS   │       │  DEVICES  │        │   FOOD    │
    │           │       │           │        │           │
    │ drugsfda  │       │  510k     │        │ food/event│
    │ drug/event│       │  pma      │        │ food/enf  │
    │ drug/enf  │       │ device/evt│        │           │
    │           │       │ device/enf│        │           │
    │ 3 results │       │ 4 results │        │ 2 results │
    │ 2 counts  │       │ 2 counts  │        │ 2 counts  │
    └─────┬─────┘       └─────┬─────┘        └─────┬─────┘
          │                    │                     │
          └────────────────────┼────────────────────┘
                               │
                    ┌──────────▼──────────┐
                    │   Intelligence      │
                    │   Engine            │
                    │                     │
                    │ • Risk Assessment   │
                    │ • Key Findings      │
                    │ • Timeline Builder  │
                    │ • Domain Merging    │
                    └──────────┬──────────┘
                               │
                    ┌──────────▼──────────┐
                    │  Unified Report     │
                    │  to Apify Dataset   │
                    └─────────────────────┘

Endpoints Queried

DomainEndpointData Retrieved
Drugsdrug/drugsfdaNDA/ANDA/BLA approvals
Drugsdrug/eventFAERS adverse event totals + top reactions + seriousness
Drugsdrug/enforcementDrug recall enforcement reports
Devicesdevice/510k510(k) premarket clearances
Devicesdevice/pmaPMA Class III device approvals
Devicesdevice/eventMAUDE adverse event totals + top device problems
Devicesdevice/enforcementDevice recall enforcement reports
Foodfood/eventCAERS food/supplement adverse event totals + top reactions
Foodfood/enforcementFood recall enforcement reports

Data Source

All data comes from the openFDA API (api.fda.gov), the U.S. Food and Drug Administration's public data platform. Data is updated regularly (typically weekly) and covers:

  • Drug approvals: ~29K applications (NDA, ANDA, BLA)
  • Drug adverse events: ~27M FAERS reports
  • Drug recalls: ~17K enforcement reports
  • Device clearances: ~230K 510(k) records
  • Device approvals: ~56K PMA records
  • Device adverse events: ~19M MAUDE reports
  • Device recalls: ~38K enforcement reports
  • Food adverse events: ~148K CAERS reports
  • Food recalls: ~25K enforcement reports

Cost Estimate

ScenarioRecordsEstimated Cost
Single drug profile (drugs only)~5 API calls~$0.005
Company intelligence (all domains)~15 API calls~$0.01
Cross-domain product search~15 API calls~$0.01
Scheduled weekly monitoring~15 API calls × 4~$0.04/month

Tips

  • Start broad, then narrow: Run with searchScope: "all" first to see which domains have data, then follow up with domain-specific searches and higher maxResultsPerCategory for the relevant domain
  • Schedule for monitoring: Set up a weekly schedule to track evolving risk profiles — new recalls, increasing adverse event counts, or new approvals
  • Company vs. product: Company searches work best for devices (applicant field). Product name searches work best for drugs (brand_name, generic_name fields)
  • Risk level context: A CRITICAL or HIGH risk level doesn't necessarily mean the product is unsafe — metformin has 34K death reports because it's prescribed to millions of diabetic patients. Context matters

Limitations

  • openFDA caps results at 1,000 per endpoint — for products with more records, the actor returns a representative sample plus aggregate statistics
  • Adverse event reports are not proof of causation — a drug listed in an adverse event report may not have caused the reaction
  • Not all records have openFDA enrichment — some enforcement reports lack brand_name/generic_name cross-references
  • Food/event endpoint doesn't support company-name-only searches — productName is needed for food adverse event queries
  • The serious count on drug/event uses the FDA's seriousness flag (1=serious, 2=not serious) which is reporter-dependent
  • Date range filters apply to different date fields per endpoint (report_date, decision_date, receivedate, etc.)

Responsible Use

  • All data comes from public FDA records — no proprietary or restricted data is accessed
  • Adverse event reports are not validated by FDA and should not be used for clinical decision-making
  • This actor is designed for research and intelligence purposes — not as a substitute for professional regulatory advice
  • Recall data may include terminated recalls that have been fully resolved
  • Risk levels are computed algorithmically and should be interpreted with appropriate context

FAQ

Q: Do I need an API key? A: No. The openFDA API is free and public. No API key is required.

Q: How current is the data? A: openFDA data is typically updated weekly. The searchedAt timestamp in the report shows when the query was run.

Q: Why does metformin show CRITICAL risk? A: Metformin has 428K+ adverse event reports and 34K death-associated reports because it's one of the most widely prescribed drugs worldwide. High adverse event counts reflect high usage, not necessarily high danger. Always interpret in context.

Q: What's the difference between the domain-specific actors and this intelligence actor? A: The domain-specific actors (e.g., FDA Drug Recall Search) return detailed individual records with full field access and pagination. This actor returns a unified intelligence report combining aggregate statistics, risk assessment, and cross-domain timeline — optimized for decision-making rather than raw data extraction.

Q: Can I search for a specific recall number? A: This actor is designed for product/company intelligence. For specific recall lookup, use the individual FDA Drug Recall Search or FDA Medical Device Recall Search actors.

Q: How many API calls does one run make? A: Depends on scope. Drug-only: ~5 calls. Device-only: ~6 calls. All domains: ~15 calls. All calls run in parallel so wall-clock time is typically 2-5 seconds.

Related Actors

This actor aggregates data from the same sources as these individual actors in the FDA regulatory intelligence suite:

ActorWhat It Does
FDA Drug Approval SearchDetailed drug approval records (NDA/ANDA/BLA)
openFDA Drug Event MonitorIndividual drug adverse event reports with full detail
FDA Drug Recall SearchDrug recall enforcement reports with full filtering
FDA 510(k) Device ClearancesMedical device 510(k) clearance records
FDA PMA Device ApprovalsClass III PMA device approval records
FDA Device Adverse Events (MAUDE)Medical device adverse event reports
FDA Medical Device Recall SearchDevice recall enforcement reports
FDA Food & Supplement Adverse EventsCAERS food/supplement adverse event reports
FDA Food Recall MonitorFood recall enforcement reports

Use the individual actors when you need detailed records with full field access. Use this intelligence actor when you need a unified risk assessment and cross-domain overview.

How it works

01

Configure

Set your parameters in the Apify Console or pass them via API.

02

Run

Click Start, trigger via API, webhook, or set up a schedule.

03

Get results

Download as JSON, CSV, or Excel. Integrate with 1,000+ apps.

Use cases

Sales Teams

Build targeted lead lists with verified contact data.

Marketing

Research competitors and identify outreach opportunities.

Data Teams

Automate data collection pipelines with scheduled runs.

Developers

Integrate via REST API or use as an MCP tool in AI workflows.

Ready to try FDA Product Intelligence?

Start for free on Apify. No credit card required.

Open on Apify Store