FDA Warning Letter Scraper — Remediation Intel
Pricing
Pay per usage
Go to Apify Store
FDA Warning Letter Scraper — Remediation Intel
Scrape FDA warning letters with recipient names, titles, company addresses, violation types, and remediation urgency scoring. Two-stage pipeline: bulk listing via XLSX export, then detail page fetch for full recipient data.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Saad Belcaid
Maintained by Community
Actor stats
1
Bookmarked
9
Total users
8
Monthly active users
7 days ago
Last modified
Categories
Share
Scrape FDA warning letters with recipient names, titles, company addresses, violation types, and remediation urgency scoring. 300 leads in under 2 minutes.
Use Cases
- FDA remediation consultants: Find manufacturers that just got hit with a warning letter and need CGMP rescue work NOW
- Quality/compliance firms: Identify drug makers and API plants with open violations and no response filed
- Medtech consulting: Spot device manufacturers under active FDA scrutiny
- Legal services: Track companies facing regulatory enforcement with ticking clocks
Output Fields
| Field | Example | Why It Matters |
|---|---|---|
| company_name | "OraLabs, Inc." | Your target |
| recipient_full_name | "Mr. Gary Schlatter" | The person who received the letter — usually the CEO or President |
| recipient_first_name | "Gary" | For personalized outreach |
| recipient_last_name | "Schlatter" | For email lookup and LinkedIn search |
| recipient_title | "CEO" | Confirms decision-maker authority |
| issue_date | "2026-03-11" | When the letter was issued |
| days_since_issue | 12 | Recency = urgency. Under 30 days = active remediation window |
| subject | "CGMP/Finished Pharmaceuticals/Adulterated" | What they got hit for |
| product_type | "Drugs" | Drugs, Medical Devices, Food & Beverages, etc. |
| urgency | "critical" | Pre-calculated priority. Critical + High = call first |
| opportunity_signal | "Warning letter issued 12 days ago for CGMP... no response filed" | The one-sentence pitch |
| city | "Parker" | Company location |
| state | "CO" | For geographic targeting |
| street_address | "18685 East Plaza Drive" | Full mailing address |
| zip | "80134-9061" | Zip code |
| issuing_office | "CDER" | Which FDA center issued it (CDER = drugs, CDRH = devices) |
| response_letter | "" | Empty = no response filed = still in crisis |
| letter_url | "https://www.fda.gov/..." | Direct link to the full warning letter |
| company_size | "201-500" | Employee count range (requires Apollo API key) |
| company_domain | "oralabs.com" | Company website (requires Apollo API key) |
Quick Start
- Click Start in the Apify Console
- Wait ~2 minutes
- Click Export → CSV or JSON
- You have 300 leads with names, titles, and addresses
No coding required.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| maxResults | number | 300 | How many leads to return |
| subjectFilter | string | (all) | Only include letters matching this text. Examples: CGMP, Adulterated, Drug, Device |
| issuingOfficeFilter | string | (all) | Filter by FDA center: CDER (drugs), CDRH (devices), CBER (biologics) |
| fetchDetailPages | boolean | true | Get recipient names, titles, addresses. Turn off for faster listing-only scrape |
| detailConcurrency | number | 5 | Parallel detail page fetches (1-10) |
| detailDelayMs | number | 500 | Delay between batches in ms |
| apolloApiKey | string | (none) | Your Apollo.io API key. Adds company size and domain. Free tier works |
How Urgency Scoring Works
Three factors combined into one label:
| Factor | Weight | Logic |
|---|---|---|
| Recency | 40pts | ≤30 days = 40, ≤60 = 35, ≤90 = 30, ≤180 = 20 |
| Violation severity | 30pts | CGMP/Adulterated = 30, Data Integrity = 28, Unapproved = 22 |
| Response status | 20pts | No response = 20, Response filed = 5 |
| Score | Label | What it means |
|---|---|---|
| ≥70 | critical | Active remediation window — call now |
| ≥50 | high | Recent violation, likely still responding |
| ≥30 | medium | Older or less severe — still worth outreach |
| <30 | low | Resolved or old — low priority |
Data Source
FDA Warning Letters Database — public, updated weekly, ~3,400 letters total.
How It Works
- Opens the FDA warning letters page with a real browser (Playwright)
- Sets the table to show 100 rows per page
- Paginates through the DataTable, extracting rows + letter URLs
- Fetches each letter's detail page (5 at a time) for recipient name, title, address
- Scores urgency and generates "why call today" signals
- Optionally enriches with Apollo for company size and domain