FDA Food Recall Intelligence
Pricing
from $3.00 / 1,000 results
FDA Food Recall Intelligence
Official openFDA food enforcement data for recall monitoring, supplier risk, API integrations, schedules, and compliance workflows.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Skootle
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
FDA Food Recall Intelligence

Search public FDA food recall data for marketplace compliance, supplier screening, retail risk, insurance research, product monitoring, and agent workflows. Run it from the Apify Console, the Apify API, or a scheduled automation. Each run starts with a summary and then returns normalized recall records with official openFDA provenance retained.
What does FDA Food Recall Intelligence return?
The Actor queries the official openFDA food enforcement endpoint and turns each enforcement report into a predictable dataset row. It is designed for teams that need recall numbers, classifications, statuses, product descriptions, recall reasons, recalling firms, report dates, distribution patterns, quantities, code information, locations, and provenance without building their own openFDA client.
The first row is a summary, which reports the applied search, recall number, optional date range, returned count, source status, classCounts, topFirms, ongoingCount, nationalDistributionCount, and a warning that the official endpoint is queried through openFDA. Each following recall row contains a stable id, recall number, classification, status, product description, recall reason, firm, report dates, distribution pattern, quantity, code information, and firm location, source URL, retrieval timestamp, completeness score, and agentMarkdown.
The live E2E and Cloud checks queried ongoing Class I food recalls with limit: 3. Every run returned one summary row and three useful recall rows. Verified record keys include schemaVersion, recordType, id, sourceUrl, retrievedAt, fieldCompletenessScore, recallNumber, classification, status, productDescription, reasonForRecall, recallingFirm, reportDate, distributionPattern, productQuantity, codeInfo, location fields, and agentMarkdown.
If this actor saved review time, please leave a short review after the run: FDA Food Recall Intelligence reviews.
Why use this for product compliance and monitoring?
The Actor builds a bounded openFDA server-side query from the selected product or reason phrase, firm, classification, status, state, report-date range, and limit. It paginates only when the requested limit exceeds one API page. The summary preserves the applied filters, record count, class counts, top recalling firms, ongoing count, and nationwide-distribution signal.
Use it to identify records that deserve review. It does not decide whether an item in your inventory is affected, whether a listing must be removed, or whether a customer remedy is owed. Those decisions require matching official product identifiers, dates, model details, and the controlling recall notice.
Input reference
| Field | Type | Default | What it controls |
|---|---|---|---|
search | string, up to 160 characters | "" | Server-side openFDA phrase match across product descriptions and recall reasons. |
recallingFirm | string, up to 120 characters | "" | Optional recalling-firm phrase. |
classification | enum | ALL | Filter to Class I, II, or III. |
status | enum | Ongoing | Filter to ongoing, completed, or terminated recalls. |
state | two-letter string | "" | Filter by recalling-firm state. |
startDate | YYYY-MM-DD | omitted | Include recalls on or after this official recall date. |
endDate | YYYY-MM-DD | omitted | Include recalls on or before this official recall date. |
limit | integer, 1 to 250 | 25 | Maximum number of matching recall records returned. |
The date range is validated: startDate cannot be after endDate. A concise category-monitoring input looks like this:
{"search": "allergen","classification": "Class I","status": "Ongoing","startDate": "2026-01-01","endDate": "2026-12-31","limit": 25}
For a narrow current-risk screen, combine status, classification, firm, state, or dates with a low limit. recallNumber is an output field and stable external reference, not an input field in this version.
Output reference
All rows carry schemaVersion: "1.0", a recordType, a stable actor id, sourceUrl, retrievedAt, fieldCompletenessScore, and agent-ready markdown. The following shows the verified shape, using illustrative values rather than asserting that a particular product currently has these facts:
{"schemaVersion": "1.0","recordType": "recall","id": "fda-food-recall-F-1170-2024","sourceUrl": "https://api.fda.gov/food/enforcement.json?...","retrievedAt": "2026-07-20T18:50:00.000Z","fieldCompletenessScore": 92,"recallNumber": "F-1170-2024","classification": "Class I","status": "Ongoing","productDescription": "Example food product","reasonForRecall": "Possible contamination","recallingFirm": "Example Foods","reportDate": "2026-07-01T00:00:00.000Z","distributionPattern": "Nationwide","productQuantity": "100 cases","codeInfo": "Lot A","state": "GA","country": "United States"}
The summary row tells an automation how the run behaved before it processes recalls:
{"recordType": "summary","query": "allergen","recallingFirm": null,"classification": "Class I","status": "Ongoing","startDate": "2026-01-01","endDate": "2026-12-31","count": 3,"sourceStatus": "ok","classCounts": {"Class I": 3, "Class II": 0, "Class III": 0},"topFirms": [{"firm": "Example Foods", "count": 1}],"ongoingCount": 3,"nationalDistributionCount": 1,"warnings": ["Verify current recall instructions with FDA and the recalling firm."]}
Counts in the examples are deliberately illustrative. Read the current summary for the real returned count and coverage indicators. Empty arrays and null values preserve what is available from the official feed, they do not mean a product is safe or unaffected.
Tutorial: monitor a product category safely
- Choose one meaningful product-description or recall-reason phrase for
search, or userecallingFirmfor a firm-focused screen. - Add a date range when your workflow is concerned with a period. Keep the range valid and begin with a low
limitwhile reviewing relevance. - Run the actor and inspect the first summary row. Confirm
sourceStatus: "ok", note the returnedcount, and retain the openFDA warning in your audit record. - For each
recall, sendrecallNumber,classification,status,productDescription,reasonForRecall,recallingFirm,reportDate,distributionPattern, andsourceUrlto a review queue. - Verify the current FDA enforcement report and recalling-firm instructions before a supplier, inventory, or customer action.
- Save
idor the outputrecallNumberas the deduplication key, and retainretrievedAtas the observation timestamp.
The Actor writes AGENT_BRIEFING.md to the key-value store with the applied filters, returned count, Class I count, ongoing count, and source status.
Worked examples from the verified output contract
1. Look up a specific official recall
Input:
{"status":"Ongoing","classification":"Class I","limit":3}
The live E2E and Cloud tests used this input and returned three useful recall rows plus the run summary. Each row carries the FDA recall number, classification, status, product description, recall reason, firm, dates, distribution, provenance, and a stable ID of the form fda-food-recall-<recall number>.
2. Watch a product category
Input:
{"search":"allergen","startDate":"2026-01-01","endDate":"2026-12-31","limit":25}
The Actor sends the phrase to openFDA across product_description and reason_for_recall, then applies report-date boundaries on the server. Use summary.classCounts, summary.ongoingCount, and each record’s reason and distribution fields to prioritize review.
3. Screen a supplier name
Input:
{"recallingFirm":"Example Foods","status":"ALL","limit":50}
Use recallingFirm for firm-focused queries. Store recallingFirm, productDescription, classification, status, reportDate, reasonForRecall, and sourceUrl with the supplier record. A phrase match is a research lead, not proof that every affiliate or product line is affected.
4. Build a marketplace compliance queue
Input:
{"search":"salmonella","limit":100}
For each returned record, use recallNumber as the external reference and include productDescription, reasonForRecall, classification, status, recallingFirm, distributionPattern, codeInfo, and the source URL. Add a manual comparison step for SKU, lot, code, date, and distribution before an enforcement action.
5. Monitor recent recall activity
Input:
{"startDate":"2026-01-01","endDate":"2026-12-31","limit":100}
This returns a bounded current-period set after openFDA server-side filtering. Use reportDate, recallInitiationDate, centerClassificationDate, and retrievedAt to distinguish FDA reporting, recall initiation, classification, and collection timing.
6. Handle an expected no-match
Input:
{"search":"unlikely exact phrase","limit":25}
An expected no-match succeeds with a zero-count summary. A malformed response, non-OK HTTP response, empty upstream feed, or invalid row shape fails instead of appearing as a reassuring empty result. Your monitor should treat those two outcomes differently.
Agent workflows and monitoring
For ongoing marketplace or supplier monitoring, run one fixed query per product family or supplier at a defined cadence. Store the summary separately from recall rows. Alert when a run fails, when a normally populated query returns an unexpected zero, or when a new output recallNumber appears.
A practical review path is:
- Schedule an actor run daily or weekly with a fixed input and a small enough
limitto review. - Deduplicate returned records on
idorrecallNumber. - Create a review item for new records, carrying the source URL, product description, recall reason, classification, status, distribution, and retrieval timestamp.
- Ask a human or a product-matching service to compare the official notice against the actual SKU, model, date, and market.
- Record the decision outside this actor, including the official source and reviewer rationale.
An AI agent can summarize agentMarkdown, rank classifications and recall reasons, or prepare a review checklist. It must not treat a text match as authorization to remove products, issue notices, or give safety or legal advice without a controlled verification step.
Limitations and data handling
- The official endpoint is currently retrieved as a bounded openFDA JSON response. Filtering is local, so broad searches may take longer than a server-filtered API request.
- Search is text matching, not SKU, barcode, manufacturer-entity, or model-number resolution. Matching words can produce false positives or miss differently worded notices.
- The data reflects the public FDA feed at collection time. It does not replace the full official recall notice, manufacturer communications, retailer records, or a product-specific inspection.
- Some fields may be absent or incomplete in an enforcement report. A null quantity, code, address, or distribution field does not establish that the information is unavailable elsewhere.
- Date filtering uses
report_date. The output keeps recall initiation and classification dates separately because they describe different operational events. - The actor provides public-data research support only. It is not legal, food-safety, insurance, or compliance advice.
Buyer FAQ
Is this actor affiliated with the FDA?
No. This independent actor reads public FDA data. It is not affiliated with, endorsed by, sponsored by, or operated by the U.S. Food and Drug Administration.
Why does a run download a large response?
The official openFDA endpoint supports the bounded server-side search used here. The Actor exposes the applied filters in the summary and fails on malformed or unexpectedly empty successful responses.
Does a result prove my SKU is recalled?
No. A result identifies a recall record that may warrant review. Compare model numbers, products, manufacturing dates, locations, remedy terms, and the official notice before any inventory, customer, or compliance action.
Can I filter by an exact recall number?
Not as an input in this version. recallNumber is preserved on every output row and can be used to deduplicate or join downstream. Use product, reason, firm, class, status, state, or date filters for collection.
What does a zero-result run mean?
For a valid query, it means no records matched the openFDA filters and the summary has count: 0. A source or parser problem fails the run, so it is not silently represented as a no-match.
Can I use the image and official URLs in my workflow?
They are normalized from the public response for reference. Follow the relevant source terms, keep the official notice as the controlling reference, and do not imply that FDA assets or links endorse your product or service.
What should I use as a deduplication key?
Use id or the output recallNumber. Preserve retrievedAt separately because FDA source content can change after the first observation.
Can an AI agent act on the output automatically?
An agent can triage, summarize, or create a human-review task. Product or supplier actions, safety notices, refunds, and legal conclusions should require verification against the official notice and your own product records.
Pricing
Pricing is $0.01 per Actor start plus $0.003 per dataset result, displayed as $3.00 per 1,000 results. Apify platform usage is included rather than billed separately. Use limit and your Apify run-charge controls to keep recall monitoring within budget.
Legal and non-affiliation
FDA Food Recall Intelligence is an independent data-processing tool. FDA names, data, images, and links belong to their respective owners. Use public sources according to their applicable terms and policies. You are responsible for validating data for your situation and for meeting the legal, food-safety, privacy, retention, and internal-control requirements that apply to your organization.
Related actors
- FDIC Bank Intelligence: enrich public bank-institution research with certificates, status, financial fields, regulators, and official source URLs.
- NHTSA Vehicle Safety Intelligence: add vehicle-recall and complaint research when a product, fleet, or marketplace workflow includes automotive goods.
Support and feedback
For a reproducible source-shape or output issue, open the actor's Issues tab with the input, sourceUrl, timestamp, actor run ID, and error text. Do not include confidential inventory, customer, or credential data. For a product request or a successful workflow, use the feedback section or leave a review. Specific examples of the expected recall field and the public source make feedback actionable.
Public proof artifact
The release evidence includes a rendered 1600 by 600 hero, a 1024 icon, three consecutive Apify Cloud runs, dataset IDs, row counts, record types, run costs, and a live Store screenshot. This evidence is retained with the factory receipt so buyers and operators can distinguish tested behavior from listing claims.
Why choose this Actor?
Generic recall feeds expose raw enforcement rows. FDA Food Recall Intelligence adds a stable schema, numeric completeness scores, ISO dates, normalized status and classification fields, per-record agentMarkdown, a run-level summary, top-firm counts, class counts, national-distribution signals, honest no-match behavior, and explicit source provenance. It fails on malformed or unexpectedly empty upstream payloads rather than presenting source failure as a reassuring zero.