⚖️ FDA Warning Letters Scraper
Pricing
from $10.00 / 1,000 results
⚖️ FDA Warning Letters Scraper
Extract public FDA warning letters to discover actionable legal and consulting leads. Build targeted watchlists for compliance subjects and track enforcement dates.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
太郎 山田
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
FDA Warning Letters Digest | Summary-First Feed
Monitor public FDA warning letters with one summary-first digest row per configured feed. Import alerts and GovDelivery remain optional advanced sources but stay off by default in v1.
Store Quickstart
- Leave
feedsempty to use the default FDA Warning Letters feed. - Keep
lookbackDays=30,delivery=dataset, and reuse the samesnapshotKeyon recurring runs. - Add
watchTermswhen you wantaction_neededonly for matched companies, subjects, or offices.
Key Features
- 🏛️ Government-sourced — Pulls directly from official agency feeds — no third-party aggregators
- ⏱️ Timely digests — Daily/weekly rollups of new filings, rulings, or actions
- 🔍 Keyword watchlists — Flag items matching your compliance/legal watch terms
- 📊 Structured metadata — Agency, date, docket, document type, link — all dataset-ready
- 📡 Webhook alerts — Push to legal/compliance teams the moment new items match watchlist
Use Cases
| Who | Why |
|---|---|
| Developers | Automate recurring data fetches without building custom scrapers |
| Data teams | Pipe structured output into analytics warehouses |
| Ops teams | Monitor changes via webhook alerts |
| Product managers | Track competitor/market signals without engineering time |
Input
| Field | Type | Default | Description |
|---|---|---|---|
| feeds | array | — | One entry per monitored feed or watchlist. Leave empty to use the default public warning_letters_latest feed. import_ale |
| watchTerms | string | — | Applied to every feed in addition to any feed-level watchTerms. Matching new/changed items trigger action_needed. |
| lookbackDays | integer | 30 | How far back to look for warning-letter posting dates, import-alert publish dates, or bulletin send dates. |
| maxItemsPerFeed | integer | 50 | Upper bound on normalized items per feed. Lower values keep recurring runs maintenance-light. |
| maxPagesPerFeed | integer | 5 | Only used for warning_letters feeds. Stop after this many public datatables requests even if the lookback window is broa |
| maxDetailFetchesPerFeed | integer | 25 | Cap on detail-page enrichment for import_alerts feeds. |
| delivery | string | "dataset" | dataset writes digest rows to the Apify dataset; webhook POSTs the digest payload to webhookUrl. |
| webhookUrl | string | — | POST target for the digest payload. |
Input Example
{"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}
Output
| Field | Type | Description |
|---|---|---|
meta | object | |
errors | array | |
digests | array | |
digests[].feedId | string | |
digests[].feedName | string | |
digests[].source | string | |
digests[].checkedAt | timestamp | |
digests[].windowStart | timestamp | |
digests[].lookbackDays | number | |
digests[].isInitial | boolean | |
digests[].status | string | |
digests[].changedItemCount | number | |
digests[].newItemCount | number | |
digests[].updatedItemCount | number | |
digests[].totalItemCount | number | |
digests[].watchTermHitCount | number | |
digests[].changedSinceLastRun | boolean | |
digests[].actionNeeded | boolean | |
digests[].recommendedAction | string | |
digests[].signalTags | array | |
digests[].changeTypeBreakdown | object | |
digests[].topIssuingOffices | array | |
digests[].watchTermHits | array | |
digests[].changedItems | array | |
digests[].items | array | |
digests[].error | null |
Output Example
{"digests": [{"feedId": "cder-warning-letters","status": "action_needed","changedItemCount": 1,"watchTermHitCount": 1,"recommendedAction": "Review 1 changed warning letter item(s) matching watch terms (Acme Sterile)."}]}
API Usage
Run this actor programmatically using the Apify API. Replace YOUR_API_TOKEN with your token from Apify Console → Settings → Integrations.
cURL
curl -X POST "https://api.apify.com/v2/acts/taroyamada~fda-warning-letter-digest/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{ "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 }'
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("taroyamada/fda-warning-letter-digest").call(run_input={"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})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('taroyamada/fda-warning-letter-digest').call({"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});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Tips & Limitations
- Run daily for active watchlists; weekly for passive monitoring.
- Webhook delivery works well for compliance team Slack channels — include docket URL for 1-click access.
- Use
watchKeywordsgenerously — false positives are cheap to triage, false negatives miss filings. - Pair with
regulatory-change-monitorfor cross-agency coverage. - Archive Dataset rows weekly for long-term compliance evidence retention.
FAQ
How far back does history go?
This actor monitors forward-only — new items since first run. For historical data, use the agency's own search tool.
What timezones are used?
All timestamps are UTC. Use your downstream pipeline to convert to agency-local time if needed.
Does it translate non-English content?
No — original language is preserved. Use downstream translation services if needed.
Is the data official?
Yes — sourced directly from official government websites and feeds. Not a third-party aggregator.
Can I use this for legal research?
For alerting and monitoring, yes. For litigation research, cross-verify with primary sources (agency websites) — this actor is a monitoring tool, not a legal database.
Related Actors
Government & Regulatory cluster — explore related Apify tools:
- EPA Enforcement Digest | ECHO Compliance Risk Monitor — Monitor EPA ECHO all-media facility search, corporate compliance screener, and enforcement case feeds with one summary-first digest row per watched company, facility, or case feed.
- Federal Register Digest | Agency Rule & Notice Monitor — Monitor Federal Register documents — rules, proposed rules, and notices — per configured agency feed.
- Government Contract Award Monitor | Award & Competitor Watch — Monitor public-sector contract award notices for new wins, notable awardees, incumbent recompetes, and competitor signals — one digest row per configured feed without brittle broad crawling.
- Grants.gov Funding Digest | Opportunity Watch & Signal Digest — Monitor Grants.
- NHTSA Vehicle Recall Digest | Recalls + Complaints Watch — Monitor official NHTSA vehicle recall and complaint endpoints for watched model-family, VIN, and manufacturer feeds.
- Product Safety Recall Digest | CPSC + openFDA Alerts — Monitor CPSC saferproducts.
- Regulatory Change Monitor API — Monitor official regulator update feeds, government bulletin pages, and public compliance notices with one action-oriented digest row per monitored source.
- OFAC Sanctions Change Digest | SDN List Monitor — Monitor the OFAC SDN (Specially Designated Nationals) sanctions list for additions and removals.
- Tariff Trade Change Digest | Federal Register + HTS Monitor — Monitor U.
- Treasury Fiscal Data Digest | Debt, Rates & Budget Monitor — Monitor the U.
- USPTO Patent Monitor API | JSON + Webhook — Search and monitor US patent filings with multi-source fallback.
- Campaign Finance & Lobbying Digest | FEC + LDA Watch — Monitor official FEC OpenFEC committee reports and LDA.
Cost
Pay Per Event:
actor-start: $0.01 (flat fee per run)dataset-item: $0.003 per output item
Example: 1,000 items = $0.01 + (1,000 × $0.003) = $3.01
No subscription required — you only pay for what you use.