FDA warning letters

FDA warning-letter and import-alert digests from public agency feeds

This Actor monitors public FDA warning-letter and import-alert metadata from official sources and emits source-linked digest rows. Leave feeds empty for the default warning-letters feed, or add issuing offices and watch terms.

Informational only. Not legal, regulatory, or medical advice. Not a prospecting list or outreach tool. Not ClinicalTrials.gov and not HHS OCR breach notices.

from $8.00 / 1,000 FDA warning letter digest row ($0.008 per delivered apify-default-dataset-item). No Actor Start. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE.

Open FDA Warning Letters Scraper on Apify

FDA Warning Letters Scraper, not a neighboring Actor

Use this page for this Actor’s job. Use ClinicalTrials.gov Sponsor Pipeline Scraper for Clinical trial records; Use HHS Healthcare Data Breach Change Scraper for HHS OCR breaches; Use EPA ECHO Enforcement Scraper for EPA ECHO records.

This ActorClinicalTrials.gov Sponsor Pipeline ScraperHHS Healthcare Data Breach Change ScraperEPA ECHO Enforcement Scraper
Intent FDA Warning Letters ScraperClinical trial recordsHHS OCR breachesEPA ECHO records
Primary input see schemasponsor/condition watchesportal watchtargets[]
What it reads Public sources listed on the Store pageClinicalTrials.govHHS OCREPA ECHO public pages
Primary output Dataset rows billed per live PPEtrial change rowsbreach change rowsECHO digest rows
Not this job Informational only. Not legal, regulatory, or medical advice. Not a prospecting list or outreach tool. Not ClinicalTrials.gov and not HHS OCR breach notices.Not FDA warning lettersNot FDA warning lettersNot FDA warning letters

Store ID: taroyamada/fda-warning-letter-digest. Respect source terms, robots.txt, and rate limits.

Use cases

How is FDA Warning Letters Scraper different from ClinicalTrials.gov Sponsor Pipeline Scraper and HHS Healthcare Data Breach Change Scraper?

FDA Warning Letters Scraper (taroyamada/fda-warning-letter-digest): This Actor monitors public FDA warning-letter and import-alert metadata from official sources and emits source-linked digest rows. Leave feeds empty for the default warning-letters feed, or add issuing offices and watch terms. Informational only. Not legal, regulatory, or medical advice. Not a prospecting list or outreach tool. Not ClinicalTrials.gov and not HHS OCR breach notices. ClinicalTrials.gov Sponsor Pipeline Scraper is for Clinical trial records (input sponsor/condition watches; ClinicalTrials.gov; trial change rows). Not FDA warning letters. HHS Healthcare Data Breach Change Scraper is for HHS OCR breaches (input portal watch; HHS OCR; breach change rows). Not FDA warning letters. EPA ECHO Enforcement Scraper is for EPA ECHO records (input targets[]; EPA ECHO public pages; ECHO digest rows). Not FDA warning letters.

What input is required?

Live required fields: none listed (see live fields). Published exampleRunInput is shown below. Quickstart: leave feeds empty to monitor the default public FDA warning letters feed, set lookbackDays=30, keep delivery=dataset, and reuse the same snapshotKey for scheduled runs

Field Type Default Notes
feeds object[] empty Feeds to monitor. One entry per monitored feed or watchlist. Leave empty to use the default public warning_letters_latest feed. import_alerts and govdelivery are optional advanced feeds and are not enabled by default in v1. Each item supports id, name, source, searchQuery, watchTerms, lookbackDays, maxItems, maxPages, issuingOffices, alertNumbers, bulletinUrls, includeDetailPages, detailFetchLimit. item required: source
watchTerms string empty Global watch terms (comma-separated). Applied to every feed in addition to any feed-level watchTerms. Matching new/changed items trigger action_needed.
lookbackDays integer 30 Global lookback window (days). How far back to look for warning-letter posting dates, import-alert publish dates, or bulletin send dates. min=1 max=365
maxItemsPerFeed integer 50 Max items per feed. Upper bound on normalized items per feed. Lower values keep recurring runs maintenance-light. min=1 max=200
maxPagesPerFeed integer 5 Max warning-letter datatables pages. Only used for warning_letters feeds. Stop after this many public datatables requests even if the lookback window is broader. min=1 max=50
maxDetailFetchesPerFeed integer 25 Max import alert detail pages per feed. Cap on detail-page enrichment for import_alerts feeds. min=0 max=100
delivery string enum dataset Delivery mode. dataset writes digest rows to the Apify dataset; webhook POSTs the digest payload to webhookUrl. enum: dataset, webhook
webhookUrl string empty Webhook URL (required when delivery=webhook). POST target for the digest payload.
datasetMode string enum all Dataset output mode. all emits every digest row. action_needed emits only feeds with changed items matching watch terms (plus errors). changed_only emits only feeds with new or updated items (plus errors). enum: all, action_needed, changed_only
snapshotKey string fda-warning-letter-digest-state Snapshot key for recurring state. Stable key used to persist prior signatures per record so new and updated warning letters/import alerts can be detected across scheduled runs.
notifyOnNoNew boolean true Emit stable digest rows in delivery outputs. When false, delivery outputs omit feeds with no new or updated items unless the feed errored. Local output/results.json still contains the full payload.
requestTimeoutSeconds integer 30 HTTP request timeout (seconds). Timeout for each public source request. min=5 max=120
batchDelayMs integer 0 Delay between feeds (ms). Milliseconds to wait between feed fetches. min=0 max=10000
warningLettersApiUrl string https://www.fda.gov/datatables/views/ajax Warning letters datatables API URL. Advanced override for the public FDA warning letters datatables endpoint.
importAlertsIndexUrl string https://www.accessdata.fda.gov/cms_ia/iapublishdate.html Import alerts index URL. Advanced override for the public import alerts by publish date page.
dryRun boolean false Dry run (skip snapshot writes and delivery). Fetch and assemble the digest without persisting state or posting webhooks.
nowIso string empty Override current time (ISO string, for testing). Set to a fixed ISO timestamp to make runs deterministic against fixture data.

Published Store example run input (omitted fields take schema defaults):

{
  "feeds": [
    {
      "id": "cder-warning-letters",
      "name": "CDER Warning Letters",
      "source": "warning_letters",
      "issuingOffices": "Center for Drug Evaluation and Research",
      "maxItems": 25
    }
  ],
  "watchTerms": "Acme, sterile, cGMP",
  "lookbackDays": 30,
  "delivery": "dataset",
  "datasetMode": "all",
  "snapshotKey": "fda-warning-letters-prod",
  "dryRun": false
}

Run FDA Warning Letters Scraper on Apify

How do dataset, webhook, and dry-run delivery work?

delivery defaults to dataset on the live schema. Dataset output is the billable surface when rows are written. webhookUrl is used when delivery is webhook (and typically not during dryRun). dryRun true validates or samples without the usual dataset/webhook side effects described on the Store schema. datasetMode can limit emits to changes_only / changed_only / action_needed versus all. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE.

What does a result contain?

Published README Output Example / Sample Output JSON. Treat README samples as illustrations, not a live coverage guarantee. There is no published output JSON schema on the Store page.

How is FDA Warning Letters Scraper priced?

Billing is pay per event. The live Store card is from $8.00 / 1,000 FDA warning letter digest row ($0.008 per delivered apify-default-dataset-item). No Actor Start. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE. Current PPE:

Event Price Emitted when
apify-default-dataset-item (FDA warning letter digest row) $0.008 Charged only when an FDA warning letter digest row is delivered.

The published README Cost block is stale versus the live Store pricing tab. README Cost still quotes actor-start $0.01. README Cost quotes dataset-item $0.003; live primary is $0.008 (FDA warning letter digest row). Live: FDA warning letter digest row $0.008. This page quotes live PPE only.

from $8.00 / 1,000 FDA warning letter digest row ($0.008 per delivered apify-default-dataset-item). No Actor Start. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE.

See FDA Warning Letters Scraper pricing on Apify

Limits to keep in mind

Open FDA Warning Letters Scraper on Apify

Related pages