VOOZH about

URL: https://apify.com/automation-lab/fda-food-recalls-scraper

โ‡ฑ FDA Food Recalls Scraper & OpenFDA Recall Monitor ยท Apify


Pricing

from $0.01 / 1,000 recall record saveds

Go to Apify Store

FDA Food Recalls Scraper

๐Ÿฅซ Monitor and export FDA/OpenFDA food recall records by product, firm, risk class, status, geography, and dates.

Pricing

from $0.01 / 1,000 recall record saveds

Rating

0.0

(0)

Developer

๐Ÿ‘ Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Export FDA/OpenFDA food recall and enforcement records for compliance monitoring, supplier risk checks, and food safety reporting.

The actor uses the official OpenFDA food enforcement API, not fragile FDA HTML pages. It returns normalized recall records with classification, status, recalling firm, product description, reason, distribution pattern, dates, geography, code information, and source links.

What does FDA Food Recalls Scraper do?

FDA Food Recalls Scraper collects food recall and enforcement records from the public OpenFDA food enforcement endpoint.

Use it to:

  • ๐Ÿฅซ Monitor new FDA food recalls by report date
  • ๐Ÿงพ Export recall evidence for compliance files
  • ๐Ÿญ Track recalls for a specific recalling firm
  • โš ๏ธ Filter Class I and Class II recalls for risk workflows
  • ๐ŸŒŽ Watch recalls by state or country
  • ๐Ÿ”Ž Search product descriptions and recall reasons by keyword
  • ๐Ÿ“Š Feed recall data into BI dashboards, data warehouses, or alerts

Who is it for?

This actor is built for teams that need repeatable recall monitoring instead of manual FDA searches.

Typical users include:

  • Food manufacturers watching related products and ingredients
  • Importers and distributors checking supplier risk
  • Grocers and restaurant groups monitoring products in their supply chain
  • Compliance consultants preparing recall reports
  • Food safety teams tracking Class I and Class II events
  • Data teams building automated recall dashboards
  • Legal and insurance teams collecting recall evidence

Why use this actor?

Manual recall monitoring is easy to miss and hard to export consistently. This actor gives you a scheduled, API-friendly workflow with structured outputs.

Benefits:

  • โœ… Official OpenFDA source
  • โœ… No login required
  • โœ… Scheduled monitoring on Apify
  • โœ… Clean dataset exports
  • โœ… Stable field names for integrations
  • โœ… Source API URL on every row
  • โœ… FDA iRES record URL when an event ID is available

Data source

The actor queries:

https://api.fda.gov/food/enforcement.json

OpenFDA food enforcement data includes recall and enforcement report records published by the FDA. Availability and updates depend on the FDA/OpenFDA source.

Input overview

You can run a broad recall feed or narrow the feed with structured filters.

Main filters:

  • productKeywords searches product descriptions and recall reasons
  • recallingFirm filters by recalling firm name
  • classifications filters risk class values
  • statuses filters recall status values
  • states and countries filter recalling-firm geography
  • reportDateFrom and reportDateTo filter FDA report dates
  • initiationDateFrom and initiationDateTo filter recall initiation dates
  • query accepts an advanced raw OpenFDA search expression
  • maxItems limits the number of records saved

Example input

{
"productKeywords":["allergen"],
"classifications":["Class I","Class II"],
"statuses":["Ongoing"],
"reportDateFrom":"2024-01-01",
"maxItems":100,
"sortBy":"report_date",
"sortDirection":"desc"
}

Advanced query input

Use query if you already know OpenFDA search syntax.

Example:

{
"query":"classification:\"Class I\" AND status:\"Ongoing\"",
"maxItems":250
}

Structured fields are easier for most users. Advanced query is there for teams that need exact OpenFDA expressions.

Output data

Each dataset item is one FDA food recall/enforcement record.

FieldDescription
recallNumberFDA recall number
eventIdFDA event ID
classificationFDA recall classification
statusRecall status
productTypeProduct type
recallingFirmFirm responsible for the recall
productDescriptionProduct description
reasonForRecallFDA reason for recall
distributionPatternDistribution details
recallInitiationDateRecall initiation date
reportDateFDA report date
centerClassificationDateFDA center classification date
terminationDateTermination date when available
voluntaryMandatedVoluntary or mandated recall indicator
initialFirmNotificationInitial firm notification method
productQuantityProduct quantity
codeInfoCode information
moreCodeInfoAdditional code information
cityFirm city
stateFirm state
countryFirm country
postalCodeFirm postal code
addressCombined address
sourceApiUrlExact OpenFDA API URL used for the page
sourceRecordUrlFDA iRES event link when possible
scrapedAtActor extraction timestamp

Example output

{
"recallNumber":"F-1234-2026",
"eventId":"98765",
"classification":"Class I",
"status":"Ongoing",
"recallingFirm":"Example Foods Inc.",
"productDescription":"Example product description",
"reasonForRecall":"Undeclared allergen",
"reportDate":"2026-06-10",
"state":"CA",
"country":"United States",
"sourceRecordUrl":"https://www.accessdata.fda.gov/scripts/ires/?Event=98765",
"scrapedAt":"2026-06-21T00:00:00.000Z"
}

How much does it cost to scrape FDA food recalls?

This actor uses pay-per-event pricing.

  • A small start event is charged once per run.
  • A result event is charged for each recall record saved.
  • You control spend with maxItems and filters.

Use a small maxItems value for the first test run. Increase it for scheduled monitoring or historical exports.

How to run

  1. Open the actor on Apify.
  2. Choose product keywords, date range, and recall classifications.
  3. Set maxItems to the number of records you need.
  4. Run the actor.
  5. Export results as JSON, CSV, Excel, XML, or RSS.

Monitoring workflow

For recall monitoring, schedule the actor daily or weekly.

Recommended monitoring setup:

  • Set reportDateFrom to a recent date
  • Filter statuses to Ongoing
  • Filter classifications to Class I and Class II
  • Use a moderate maxItems, such as 100 or 500
  • Connect the dataset to a webhook, Slack alert, data warehouse, or dashboard

Supplier risk workflow

For supplier checks, use recallingFirm with date filters.

Example use cases:

  • Check a supplier before onboarding
  • Monitor a high-risk vendor
  • Review recent recalls during audits
  • Export firm-specific recall history for compliance files

Product keyword workflow

Use productKeywords for ingredients, product categories, contaminants, or allergens.

Examples:

  • peanut butter
  • milk
  • salmonella
  • listeria
  • undeclared allergen
  • foreign material

Tips for better results

  • Use exact FDA terms when possible.
  • Start broad, then narrow with classification and date filters.
  • Use reportDateFrom for recurring monitoring.
  • Use recallInitiationDateFrom for operational recall timelines.
  • Use the advanced query field only if you know OpenFDA syntax.
  • Keep maxItems low during testing.

Integrations

You can integrate this actor with:

  • Google Sheets for recall watchlists
  • Airtable for compliance tracking
  • Snowflake or BigQuery for analytics
  • Slack or email alerts through Apify webhooks
  • CRM or supplier-risk platforms
  • Internal food safety dashboards
  • MCP-compatible AI workflows

API usage with Node.js

import{ ApifyClient }from'apify-client';
const client =newApifyClient({token: process.env.APIFY_TOKEN});
const run =await client.actor('automation-lab/fda-food-recalls-scraper').call({
productKeywords:['allergen'],
classifications:['Class I','Class II'],
statuses:['Ongoing'],
reportDateFrom:'2024-01-01',
maxItems:100,
});
const{ items }=await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/fda-food-recalls-scraper').call(run_input={
'productKeywords':['allergen'],
'classifications':['Class I','Class II'],
'statuses':['Ongoing'],
'reportDateFrom':'2024-01-01',
'maxItems':100,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

API usage with cURL

curl-X POST "https://api.apify.com/v2/acts/automation-lab~fda-food-recalls-scraper/runs?token=$APIFY_TOKEN"\
-H'Content-Type: application/json'\
-d'{"productKeywords":["allergen"],"classifications":["Class I","Class II"],"statuses":["Ongoing"],"reportDateFrom":"2024-01-01","maxItems":100}'

MCP usage

Use this actor from MCP-enabled tools through Apify MCP.

MCP URL:

https://mcp.apify.com/?tools=automation-lab/fda-food-recalls-scraper

Add it to Claude Code:

$claude mcp add apify-fda-food-recalls https://mcp.apify.com/?tools=automation-lab/fda-food-recalls-scraper

Example MCP server configuration:

{
"mcpServers":{
"apify-fda-food-recalls":{
"url":"https://mcp.apify.com/?tools=automation-lab/fda-food-recalls-scraper"
}
}
}

Example prompts:

  • "Find the latest ongoing Class I food recalls involving allergens."
  • "Export FDA food recall records for this supplier since 2024."
  • "Summarize recent FDA food recalls by state and classification."

Legality and responsible use

This actor uses publicly available OpenFDA data. You are responsible for how you use the exported records and for complying with your organization's regulatory, legal, and data-retention requirements.

OpenFDA data can change over time. Always verify high-impact compliance decisions against the original FDA record.

FAQ

Why did I get zero results?

Your filters may be too narrow. Try removing recallingFirm, widening the date range, or using fewer keywords.

Why does the actor use the OpenFDA API instead of FDA web pages?

The official API is more stable, structured, and automation-friendly. FDA HTML pages may be protected or change without notice.

Why are some fields empty?

OpenFDA records do not always contain every field. The actor keeps optional fields as null when the source does not provide them.

Related scrapers

Related Apify actors from Automation Lab may include public-data, compliance, and regulator monitoring actors as the portfolio grows:

Changelog

  • 0.1 โ€” Initial FDA/OpenFDA food recalls actor with structured filters and normalized recall output.

Support

If you need a new filter, field, or integration pattern, open an issue through the Apify actor page.

Summary

FDA Food Recalls Scraper turns public OpenFDA food enforcement data into a repeatable monitoring and export workflow for food safety, compliance, and supply-chain risk teams.

You might also like

FDA Recall Scraper - Drug, Device & Food Enforcement

oriented_wallpaper/fda-recall-scraper

Scrape FDA drug, device & food recalls from the official openFDA API โ€” recall number, severity (Class I/II/III), status, recalling firm, brand, reason, dates & location. Filter by type/severity/status/date, monitor new recalls. Export CSV/JSON/Excel. No API key.

FDA Food Recall Enforcement Reports Scraper

compute-edge/fda-food-recalls-scraper

Extract FDA food recall enforcement reports from the OpenFDA API. Search by recall classification (Class I/II/III), recalling firm, state, status, date range, and keywords. Covers 28,000+ food safety recall actions.

openFDA Food Recall Scraper

scrapers_lat/openfda-food-recalls-scraper

Scrape FDA food recall and enforcement actions from the official openFDA API. Filter by classification, state, status, reason or date. Export to JSON, CSV, Excel.

FDA Recalls Database Scraper

crawlerbros/fda-recalls-scraper

Scrape FDA recalls from the openFDA REST API. Search food, drug, device, biologics, cosmetics, and veterinary recalls by keyword, product type, firm name, or classification. No API key required.