FDA Drug Recall Search
## What does FDA Drug Recall Search do?
Maintenance Pulse
90/100Cost Estimate
How many results do you need?
Pricing
Pay Per Event model. You only pay for what you use.
| Event | Description | Price |
|---|---|---|
| result-returned | Charged per result returned. Includes data transformation and structured output. | $0.03 |
Example: 100 events = $3.00 · 1,000 events = $30.00
Documentation
What does FDA Drug Recall Search do?
FDA Drug Recall Search queries the U.S. Food and Drug Administration's openFDA drug enforcement endpoint to retrieve detailed, structured data about pharmaceutical drug recalls. The FDA issues drug recalls when medications -- from generic tablets and capsules to injectable solutions and oral suspensions -- are found to be contaminated, mislabeled, subpotent, adulterated, or otherwise in violation of current Good Manufacturing Practice (CGMP) regulations. This actor gives you clean, programmatic access to 17,000+ drug recall enforcement reports with ten combinable filters and 26 output fields per record.
You can search by drug name (matched across brand names, generic names, and product descriptions via the openFDA enrichment layer), recalling company, reason keyword, specific recall number, recall severity classification (Class I/II/III), recall status (Ongoing/Completed/Terminated), U.S. state, and report date range. Each record includes recall identification, severity with human-readable descriptions, company and location details, product description, reason for recall, distribution scope, lot/code information, four lifecycle dates, and six openFDA cross-reference arrays covering brand names, generic names, manufacturer names, active substance names, administration routes, and NDA/ANDA application numbers.
Why use FDA Drug Recall Search on Apify?
- No API complexity -- The openFDA query syntax uses bracket-delimited date ranges,
+AND+joins,.exactfield qualifiers, and multi-field OR searches acrossopenfda.brand_name,openfda.generic_name, andproduct_description. This actor builds the correct query from simple input fields. - openFDA enrichment built in -- Raw recall records are cross-referenced with the openFDA drug database to include brand names, generic names, manufacturer names, active substances, administration routes, and NDA/ANDA application numbers. No second API call needed.
- Clean date formatting -- Raw openFDA dates (YYYYMMDD) are converted to standard YYYY-MM-DD format in every output record.
- Schedule for monitoring -- Run daily or weekly on Apify to catch new drug recalls as they are published, with webhook alerts to Slack, email, or any endpoint.
- No API key required -- The openFDA API is completely free and open. The only cost is minimal Apify platform compute time.
Key features
- Drug name search across three fields -- The drug name input searches
openfda.brand_name,openfda.generic_name, andproduct_descriptionusing OR logic, so you find recalls whether the term appears in the branded name, generic ingredient, or product listing. - Separate reason keyword filter -- Search within recall reason text independently from the drug name. Find all NDMA contamination recalls, all CGMP deviation recalls, or all sterility failures regardless of drug.
- Direct recall number lookup -- Look up a specific recall by its FDA recall number (e.g., "D-0325-2021") for exact retrieval.
- Ten combinable filters -- Drug name, recalling firm, reason keyword, recall number, classification, status, state, date from, date to, and max results can be used in any combination.
- 26-field structured output -- Every record includes recall identification, classification with description, company details, product information, reason, distribution, dates, and six openFDA enrichment arrays.
- Run summary logging -- The actor logs a summary with classification counts, status counts, top 10 recalling firms, reason keyword frequency (contamination, CGMP, NDMA, sterility, etc.), and top 10 states.
- Automatic pagination -- openFDA limits responses to 100 records per page. The actor handles all pagination transparently, fetching up to 1,000 results across multiple API calls.
- Retry and rate limit handling -- Built-in retry logic with exponential backoff for transient errors and HTTP 429 rate limiting.
How to use FDA Drug Recall Search
- Navigate to the FDA Drug Recall Search actor page on Apify.
- Click Try for free to open the actor in Apify Console.
- Enter your search parameters. At minimum, provide a drug name like "metformin" or a company name like "Aurobindo". You can also combine filters -- for example, drug name plus classification plus date range.
- Set Max Results to control how many records you want (default 100, maximum 1,000).
- Click Start to run the actor.
- When the run finishes, view results in the Dataset tab. Export as JSON, CSV, Excel, or access via the Apify API.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
drugName | string | No | "metformin" (prefill) | Search by brand name, generic name, or product description. Searches across openfda.brand_name, openfda.generic_name, and product_description with OR logic. Examples: "metformin", "Lipitor", "valsartan", "losartan". |
recallingFirm | string | No | -- | Filter by company name. Examples: "Pfizer", "Teva", "Aurobindo", "Amneal". |
reasonKeyword | string | No | -- | Search within recall reason text. Examples: "NDMA", "contamination", "sterility", "CGMP", "mislabeled". |
recallNumber | string | No | -- | Look up a specific FDA recall number (e.g., "D-0325-2021", "D-1253-2020"). |
classification | select | No | -- | Recall severity: "Class I" (most dangerous), "Class II" (moderate), or "Class III" (least serious). |
status | select | No | -- | Recall status: "Ongoing", "Completed", or "Terminated". |
state | string | No | -- | Two-letter U.S. state code where the recalling firm is located (e.g., NJ, CA, NY). Automatically uppercased. |
dateFrom | string | No | -- | Start of report date range (YYYY-MM-DD format). |
dateTo | string | No | -- | End of report date range (YYYY-MM-DD format). |
maxResults | integer | No | 100 | Maximum number of recall records to return (1--1,000). |
Input examples
Search for metformin recalls (basic drug name search):
{
"drugName": "metformin",
"maxResults": 100
}
NDMA contamination recalls -- Class I only:
{
"reasonKeyword": "NDMA",
"classification": "Class I",
"maxResults": 500
}
Company monitoring -- all Aurobindo recalls in 2023:
{
"recallingFirm": "Aurobindo",
"dateFrom": "2023-01-01",
"dateTo": "2023-12-31",
"maxResults": 200
}
Look up a specific recall number:
{
"recallNumber": "D-1253-2020",
"maxResults": 1
}
Input tips
- Use
drugNamefor broad drug searches. It searches across brand names, generic names, and product descriptions using OR logic, so "metformin" will match brand name "METFORMIN" and generic name "METFORMIN" and any product description mentioning metformin. - Use
reasonKeywordseparately fromdrugName. If you want all recalls mentioning NDMA regardless of drug, put "NDMA" inreasonKeywordand leavedrugNameblank. - Combine filters for precision. Use drug name plus classification together to find, for example, all Class I recalls for valsartan. Add a date range to narrow to a specific time window.
- State codes are auto-uppercased. You can enter "nj" or "NJ" -- both work.
- Date ranges filter by report date. This is the date the recall was reported to the FDA, not the date the firm initiated the recall.
- Leave all filters blank is not supported -- at least one search parameter is required.
Output example
{
"recallNumber": "D-1253-2020",
"eventId": "85386",
"classification": "Class II",
"classificationDescription": "Products that might cause a temporary health problem or pose slight threat of a serious nature",
"status": "Terminated",
"recallingFirm": "Amneal Pharmaceuticals of New York, LLC",
"city": "Brookhaven",
"state": "NY",
"country": "United States",
"voluntaryMandated": "Voluntary: Firm initiated",
"initialNotification": "Press Release",
"productDescription": "Nizatidine Oral Solution, 15 mg/mL ...",
"reasonForRecall": "CGMP Deviations: potential NDMA amounts above FDA levels",
"distributionPattern": "Nationwide",
"productQuantity": "11258 bottles",
"codeInfo": "06598004A 04/2020",
"recallInitiationDate": "2020-04-15",
"centerClassificationDate": "2020-04-24",
"reportDate": "2020-05-06",
"terminationDate": "2021-09-08",
"brandNames": ["NIZATIDINE"],
"genericNames": ["NIZATIDINE"],
"manufacturerNames": ["Amneal Pharmaceuticals LLC"],
"substanceNames": ["NIZATIDINE"],
"routes": ["ORAL"],
"applicationNumbers": ["ANDA090576"]
}
Output fields
Core recall identification:
| Field | Type | Description |
|---|---|---|
recallNumber | string | Unique FDA recall identification number (e.g., "D-1253-2020") |
eventId | string | FDA event ID grouping related recall records |
classification | string | Severity level: "Class I", "Class II", or "Class III" |
classificationDescription | string | Human-readable description of the classification severity |
status | string | Current recall status: "Ongoing", "Completed", or "Terminated" |
Location and company:
| Field | Type | Description |
|---|---|---|
recallingFirm | string | Name of the company responsible for the recall |
city | string | City where the recalling firm is located |
state | string | U.S. state where the recalling firm is located (two-letter code) |
country | string | Country where the recalling firm is located |
voluntaryMandated | string | Whether the recall was voluntary or FDA-mandated (e.g., "Voluntary: Firm initiated") |
initialNotification | string | How the firm initially notified customers (e.g., "Press Release", "Letter") |
Product details:
| Field | Type | Description |
|---|---|---|
productDescription | string | Detailed description of the recalled drug product including dosage form and strength |
reasonForRecall | string | The specific defect, contamination, or CGMP deviation that triggered the recall |
distributionPattern | string | Geographic scope of where the drug was distributed (e.g., "Nationwide") |
productQuantity | string | Number or description of units affected (e.g., "11258 bottles") |
codeInfo | string | Lot numbers, expiration dates, or other identifying codes for affected units |
Dates:
| Field | Type | Description |
|---|---|---|
recallInitiationDate | string | Date the firm initiated the recall (YYYY-MM-DD) |
centerClassificationDate | string | Date the FDA center classified the recall severity (YYYY-MM-DD) |
reportDate | string | Date the recall was reported to the FDA (YYYY-MM-DD) |
terminationDate | string | Date the recall was terminated (YYYY-MM-DD), or empty string if still active |
openFDA enrichment (cross-referenced from FDA drug database):
| Field | Type | Description |
|---|---|---|
brandNames | string[] | Brand/trade names for the drug (e.g., ["NIZATIDINE", "AXID"]) |
genericNames | string[] | Generic/ingredient names (e.g., ["NIZATIDINE"]) |
manufacturerNames | string[] | Manufacturer names from the drug registration database |
substanceNames | string[] | Active pharmaceutical ingredient names (e.g., ["NIZATIDINE"]) |
routes | string[] | Administration routes (e.g., ["ORAL"], ["INTRAVENOUS"]) |
applicationNumbers | string[] | NDA/ANDA application numbers (e.g., ["ANDA090576"], ["NDA020459"]) |
Use cases
- Pharmaceutical safety monitoring -- Track active drug recalls by classification, company, or drug name. Schedule daily runs with webhook alerts to Slack or email for immediate notification of new Class I recalls.
- NDMA contamination tracking -- Use
reasonKeyword: "NDMA"to monitor the ongoing wave of nitrosamine impurity recalls affecting ranitidine, valsartan, metformin, and other drugs. Track which companies and formulations are impacted. - Supply chain risk assessment -- Monitor your pharmaceutical suppliers' recall history. Filter by recalling firm to assess vendor reliability and identify companies with repeated CGMP violations.
- Competitor recall intelligence -- Track competitor drug recalls to identify market opportunities when products are withdrawn. Cross-reference with NDA/ANDA application numbers to identify specific product approvals affected.
- Regulatory compliance monitoring -- Maintain awareness of FDA enforcement trends. Analyze recall patterns by classification, reason keywords (contamination, sterility, potency, dissolution), and geographic distribution.
- Drug safety research -- Build datasets for pharmacovigilance research. Combine recall data with adverse event data from the openFDA Drug Event Monitor actor for comprehensive post-market surveillance analysis.
- Legal and litigation support -- Research recall history for specific drugs, companies, or time periods. The distribution pattern and product quantity fields help assess the scope and impact of each recall.
- State-level analysis -- Use the state filter and state summary statistics to identify geographic concentrations of pharmaceutical manufacturing quality issues.
Programmatic access (API)
Python:
from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("ryanclinton/fda-drug-recalls").call(run_input={
"drugName": "valsartan",
"classification": "Class I",
"maxResults": 200,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
brands = ", ".join(item.get("brandNames", []))
print(f"[{item['classification']}] {item['recallingFirm']}: {item['reasonForRecall'][:80]}")
print(f" Recall #{item['recallNumber']} | Date: {item['recallInitiationDate']} | Brands: {brands}")
print(f" Status: {item['status']} | Application #s: {item.get('applicationNumbers', [])}")
JavaScript:
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const run = await client.actor("ryanclinton/fda-drug-recalls").call({
drugName: "valsartan",
classification: "Class I",
maxResults: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const ndmaRecalls = items.filter((r) =>
r.reasonForRecall.toLowerCase().includes("ndma"),
);
console.log(`Found ${ndmaRecalls.length} NDMA-related valsartan recalls`);
for (const r of ndmaRecalls) {
console.log(` ${r.recallNumber} | ${r.recallingFirm} | ${r.brandNames.join(", ")}`);
}
cURL:
# Start a run
curl "https://api.apify.com/v2/acts/ryanclinton~fda-drug-recalls/runs" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"drugName": "valsartan",
"classification": "Class I",
"maxResults": 200
}'
# Fetch results (after run completes)
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?format=json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
How it works -- integration pipeline
Input (drugName, recallingFirm, reasonKeyword, recallNumber,
classification, status, state, dateFrom, dateTo)
|
v
+-------------------------------------------------------------+
| Query Builder |
| - drugName: OR across openfda.brand_name, |
| openfda.generic_name, product_description |
| - reasonKeyword: reason_for_recall:"keyword" |
| - recallNumber: recall_number:"D-XXXX-YYYY" |
| - recallingFirm: recalling_firm:"FIRM" |
| - classification: classification.exact:"Class I" |
| - status: status.exact:"Ongoing" |
| - state: state:"ST" (uppercased) |
| - Dates: strip dashes, wrap in [FROM+TO+TO] |
| - All clauses joined with +AND+ |
+----------------------------+--------------------------------+
|
v
+-------------------------------------------------------------+
| Paginated Fetch |
| api.fda.gov/drug/enforcement.json |
| ?search=<query>&limit=100&skip=N |
| |
| - 100 results per page (openFDA maximum) |
| - Stops at maxResults, end of data, or skip >= 1000 |
| - 404 = no matching results (returns empty) |
| - 429 = rate limited (exponential backoff retry) |
| - Up to 3 retries with exponential backoff |
+----------------------------+--------------------------------+
|
v
+-------------------------------------------------------------+
| Transform |
| - 26 output fields per record |
| - Dates: YYYYMMDD -> YYYY-MM-DD (substring slicing) |
| - classificationDescription: human-readable severity text |
| - openFDA arrays: brand_name, generic_name, |
| manufacturer_name, substance_name, route, |
| application_number -> camelCase arrays |
| - Missing fields default to empty string or [] |
+----------------------------+--------------------------------+
|
v
+-------------------------------------------------------------+
| Output & Summary |
| - Push each record to Apify dataset |
| - Log classification counts (Class I / II / III) |
| - Log status counts (Ongoing / Completed / Terminated) |
| - Log top 10 recalling firms by frequency |
| - Log reason keyword frequency (contamination, CGMP, |
| NDMA, sterility, potency, dissolution, etc.) |
| - Log top 10 states by recall count |
+-------------------------------------------------------------+
openFDA query construction
The actor maps each input field to an openFDA query fragment, then joins all fragments with +AND+:
| Input field | Query fragment | Example |
|---|---|---|
drugName | (openfda.brand_name:"D"+OR+openfda.generic_name:"D"+OR+product_description:"D") | (openfda.brand_name:"metformin"+OR+openfda.generic_name:"metformin"+OR+product_description:"metformin") |
recallingFirm | recalling_firm:"FIRM" | recalling_firm:"Aurobindo" |
reasonKeyword | reason_for_recall:"KEYWORD" | reason_for_recall:"NDMA" |
recallNumber | recall_number:"NUM" | recall_number:"D-1253-2020" |
classification | classification.exact:"CLASS" | classification.exact:"Class I" |
status | status.exact:"STATUS" | status.exact:"Ongoing" |
state | state:"ST" (uppercased) | state:"NJ" |
dateFrom / dateTo | report_date:[FROM+TO+TO] | report_date:[20230101+TO+20231231] |
The drug name field uses OR logic across three fields (the +OR+ inside parentheses), so a single search term is matched against the branded name, generic ingredient name, and the full product description text. This is more comprehensive than the device and food recall actors, which search only two fields.
Recall classification levels
FDA classifies every drug recall into one of three severity levels based on the potential health risk:
- Class I: Most serious. The product could cause serious adverse health consequences or death. Examples: contaminated injectable drugs, drugs with incorrect active ingredients, drugs with NDMA levels far exceeding acceptable daily intake limits.
- Class II: Moderate. The product may cause temporary or medically reversible adverse health consequences, or the probability of serious harm is remote. Examples: drugs with subpotent active ingredients, minor CGMP deviations, packaging defects.
- Class III: Least serious. The product is unlikely to cause adverse health consequences but still violates FDA regulations. Examples: minor labeling errors, cosmetic defects, non-critical packaging issues.
Understanding the four date fields
Each recall record contains up to four dates that represent different milestones in the recall lifecycle:
| Date field | Meaning |
|---|---|
recallInitiationDate | The date the recalling firm initiated the recall action. This is the earliest date in the recall timeline and represents when the company began removing or correcting the product. |
centerClassificationDate | The date the FDA center (CDER for drugs) officially classified the recall severity (Class I, II, or III). This typically comes days or weeks after the recall initiation and reflects how quickly the FDA assessed the risk. |
reportDate | The date the recall was reported to the FDA and entered into the enforcement database. This is the date used for date range filtering in this actor. |
terminationDate | The date the recall was terminated (closed). This field is empty for ongoing recalls and only populated when the recall has been completed and formally terminated by the FDA. |
Date handling
Input dates in YYYY-MM-DD format have their dashes stripped to produce the YYYYMMDD format required by the openFDA API. For example, an input of "2024-01-15" becomes 20240115 in the query. If only dateFrom is specified, the range extends to 20991231. If only dateTo is specified, the range starts from 19900101. The formatDate() function reverses this for output, converting raw YYYYMMDD responses back to YYYY-MM-DD using substring slicing.
openFDA enrichment
Unlike the basic recall enforcement fields, the openFDA enrichment arrays (brandNames, genericNames, manufacturerNames, substanceNames, routes, applicationNumbers) come from the FDA's drug product registration database. The openFDA system automatically cross-references each recall record against known drug products and appends matching data when available. This enrichment is what allows you to search by brand or generic name and get back NDA/ANDA application numbers without a second API call.
Data source
This actor queries the openFDA Drug Enforcement endpoint (https://api.fda.gov/drug/enforcement.json), which provides public access to FDA drug recall enforcement reports. The data comes from the FDA's Recall Enterprise System (RES) database and is updated regularly as new recalls are announced and existing recalls change status.
The database contains over 17,000 drug recall enforcement reports spanning multiple years, including:
- Class I (approximately 1,718 reports) -- Dangerous or defective products that could cause serious health problems or death
- Class II (approximately 14,020 reports) -- Products that might cause a temporary health problem or pose a slight threat of a serious nature
- Class III (approximately 1,674 reports) -- Products unlikely to cause adverse health reactions but that violate FDA regulations
By status: approximately 14,767 Terminated, 2,197 Ongoing, and 449 Completed.
The openFDA enrichment layer cross-references each recall with the FDA's drug registration database, adding brand names, generic names, manufacturer information, active substances, routes of administration, and NDA/ANDA application numbers when available.
How much does it cost to run?
| Scenario | Records | API calls | Approx. time | Est. cost |
|---|---|---|---|---|
| Quick drug name search | 100 | 1 | ~5 sec | ~$0.002 |
| Company monitoring | 200--500 | 2--5 | ~10 sec | ~$0.005 |
| NDMA contamination audit | 500 | 5 | ~15 sec | ~$0.005 |
| Maximum extraction | 1,000 | 10 | ~30 sec | ~$0.01 |
The openFDA API is completely free with no API key required. Apify's free tier includes $5 of monthly platform credits, enough for hundreds of runs of this actor.
Tips
- Track NDMA contamination across all drugs. Use
reasonKeyword: "NDMA"with no drug name filter to monitor the broad nitrosamine impurity recall wave affecting multiple therapeutic classes. TheapplicationNumbersfield lets you identify which specific NDA/ANDA approvals are impacted. - Combine with scheduling for real-time alerts. Set up a daily scheduled run with
dateFromset to 7 days ago and a webhook to Slack or email. This creates an automated early-warning system for new drug recalls matching your criteria. - Use openFDA enrichment arrays for cross-referencing. The
brandNames,genericNames,substanceNames, andapplicationNumbersarrays come from the FDA drug database, not the recall report itself. They let you connect recalls to specific approved drug products, active ingredients, and regulatory submissions. - Split large queries by date range. If you need comprehensive recall data for a broad search, split the query into yearly or quarterly date windows and combine results across multiple runs.
Limitations
- 1,000 result maximum -- The actor caps output at 1,000 records per run due to openFDA skip-based pagination limits. Use date range filters to split larger datasets across multiple runs.
- At least one filter required -- Unlike some actors in this suite, you cannot run a completely unfiltered search. Provide at least one of: drug name, recalling firm, reason keyword, recall number, classification, status, state, or date range.
- openFDA enrichment is not always present -- The
brandNames,genericNames,substanceNames,manufacturerNames,routes, andapplicationNumbersarrays depend on the openFDA cross-reference matching. Some older or less common drugs may have empty arrays for these fields. - State filter is firm location -- The
statefilter matches where the recalling firm is headquartered, not where the drug was distributed. Check thedistributionPatternoutput field for geographic distribution scope. - Date format required -- Dates must be entered in YYYY-MM-DD format. Other formats will produce incorrect API queries.
- Drug recalls only -- This actor covers the
/drug/enforcement.jsonendpoint. For medical devices, food products, or other FDA data, use the corresponding specialized actors listed below.
Responsible use
- FDA drug recall data is public information published by the U.S. Food and Drug Administration. Use it for safety monitoring, research, compliance, and consumer protection.
- Follow the openFDA Terms of Service when using the data.
- A recall does not mean a drug is always dangerous. Class III recalls address regulatory violations that are unlikely to cause harm. Always check the classification, classification description, and reason fields for context before drawing conclusions.
- When publishing or sharing recall data, provide appropriate context about recall severity and status. A terminated recall means the issue has been resolved.
- Consult healthcare professionals, pharmacists, and the FDA directly for clinical decisions. This data is for informational and research purposes.
FAQ
Do I need an API key? No. The openFDA API is completely free and requires no authentication. You only need an Apify account to run the actor.
How current is the recall data?
The openFDA database is updated regularly by the FDA. Most recalls appear within days of being officially announced. The reportDate field indicates when each recall entered the database.
What is the difference between Class I, II, and III recalls? Class I is the most serious -- the drug could cause serious health problems or death (e.g., NDMA contamination at dangerous levels). Class II means the drug may cause temporary or reversible health problems. Class III means the drug is unlikely to cause harm but still violates FDA regulations (e.g., minor labeling errors).
What are the openFDA enrichment fields?
The arrays brandNames, genericNames, manufacturerNames, substanceNames, routes, and applicationNumbers are cross-referenced from the FDA drug registration database. They provide additional context about the drug product beyond what the recall report itself contains. Not every recall record has enrichment data -- some older or less common drugs may have empty arrays.
What are NDA and ANDA application numbers?
NDA (New Drug Application) numbers identify original brand-name drug approvals. ANDA (Abbreviated New Drug Application) numbers identify generic drug approvals. The applicationNumbers field contains these identifiers, allowing you to trace recalled products back to their specific FDA approval.
Can I search for non-drug recalls?
No. This actor queries the /drug/enforcement endpoint only. For medical device recalls, see FDA Medical Device Recall Search. For food recalls, see FDA Food Recall Monitor.
What does "Terminated" status mean? A terminated recall means the FDA has determined that all reasonable efforts have been made to remove or correct the product. The issue has been resolved. An "Ongoing" recall is still active, and "Completed" means the firm has completed its correction/removal but FDA has not yet formally terminated the recall.
Can I get more than 1,000 results? The actor caps at 1,000 per run. For larger datasets, use date range filters to split queries into smaller time windows (e.g., one year at a time) and combine the results across multiple runs.
Related actors
This actor is part of a suite of FDA and regulatory data actors. Use them together for comprehensive pharmaceutical and medical product safety monitoring:
| Actor | Description | Use together for |
|---|---|---|
| FDA Drug Approval Search (Drugs@FDA) | FDA new drug approvals, NDAs, and ANDAs | Cross-reference recalled drugs with their original approval data and application numbers |
| openFDA Drug Event Monitor | FDA adverse drug event reports (FAERS) | Combine recall data with adverse event reports for full post-market drug surveillance |
| FDA Medical Device Recall Search | FDA medical device recall enforcement reports | Complete FDA recall monitoring across both drugs and devices |
| FDA 510(k) Device Clearances | FDA 510(k) premarket device clearances | Track device clearance-to-recall pipeline |
| FDA PMA Device Approvals | FDA premarket approval (PMA) for high-risk devices | Monitor high-risk device approval and recall lifecycle |
| FDA Device Adverse Events (MAUDE) | FDA device adverse event reports (MAUDE database) | Cross-reference device recalls with adverse event signals |
| FDA Food Recall Monitor | FDA food product recall enforcement reports | Multi-product FDA recall monitoring across drugs, devices, and food |
| FDA Food & Supplement Adverse Events (CAERS) | FDA food and dietary supplement adverse event reports | Comprehensive FDA safety monitoring across all product categories |
Connect with any Apify integration including Google Sheets, Zapier, Make (Integromat), Amazon S3, and custom API endpoints to build automated pharmaceutical safety monitoring workflows.
How it works
Configure
Set your parameters in the Apify Console or pass them via API.
Run
Click Start, trigger via API, webhook, or set up a schedule.
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.
Related actors
GitHub Repository Search
Search GitHub repositories by keyword, language, topic, stars, forks. Sort by stars, forks, or recently updated. Returns metadata, topics, license, owner info, URLs. Free API, optional token for higher limits.
Website Content to Markdown
Convert any website to clean Markdown for RAG pipelines, LLM training, and AI apps. Crawls pages, strips boilerplate, preserves headings, tables, and code blocks. GFM support.
Weather Forecast Search
Get weather forecasts for any location worldwide using the free Open-Meteo API. Returns current conditions, daily and hourly forecasts with temperature, precipitation, wind, UV index, and more. No API key needed.
EUIPO EU Trademark Search
Search EU trademarks via official EUIPO database. Find registered and pending trademarks by name, Nice class, applicant, or status. Returns full trademark details and filing history.
Ready to try FDA Drug Recall Search?
Start for free on Apify. No credit card required.
Open on Apify Store