FDA PMA Medical Device Approvals Scraper
Pricing
Pay per event
FDA PMA Medical Device Approvals Scraper
Export FDA PMA approvals and supplement records from openFDA for regulatory monitoring, medtech intelligence, and device research.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
What does FDA PMA Medical Device Approvals Scraper do?
FDA PMA Medical Device Approvals Scraper exports public FDA Premarket Approval (PMA) and PMA supplement records from the openFDA device PMA API. It turns FDA approval data into a clean Apify dataset with PMA numbers, applicants, device names, product codes, decision dates, supplement details, and openFDA registration identifiers.
Use it to monitor medical device approvals, enrich regulatory datasets, and build repeatable compliance research workflows.
- ✅ Public openFDA PMA API source
- ✅ Structured Apify dataset output
- ✅ Built for recurring compliance and market intelligence workflows
Who is it for?
This actor is built for regulatory affairs teams, medtech strategy teams, healthcare investors, compliance analysts, data engineers, and product-intelligence teams that need FDA PMA approval data in a repeatable dataset instead of one-off manual searches.
- Regulatory affairs teams can monitor PMA and supplement activity.
- Competitive intelligence teams can track device makers and product lines.
- Investors can follow approval momentum across medtech categories.
- Data teams can load openFDA PMA records into warehouses and dashboards.
Who is this FDA PMA scraper for?
Regulatory affairs teams can monitor approval activity. Medtech strategy teams can track competitors and product lines. Investors and analysts can follow device approval momentum. Data teams can normalize openFDA PMA records into warehouses, dashboards, and CRM enrichment pipelines.
- ✅ Public openFDA PMA API source
- ✅ Structured Apify dataset output
- ✅ Built for recurring compliance and market intelligence workflows
Why use this actor?
The actor wraps the public openFDA PMA endpoint with Apify-friendly inputs, pagination, retries, dataset output, and pay-per-result charging.
You do not need to write API pagination code, remember openFDA query syntax, or manually convert PMA records into CSV or JSON exports.
- ✅ Handles paged openFDA requests
- ✅ Retries transient API failures
- ✅ Saves normalized rows to the default dataset
What FDA PMA data can you extract?
Each record can include PMA number, supplement number, applicant, address, trade name, generic name, product code, advisory committee, supplement type, supplement reason, expedited review flag, received date, decision date, decision code, docket number, FDA registration numbers, source API URL, and scrape timestamp.
- ✅ Device names
- ✅ FDA identifiers
- ✅ Applicant details
- ✅ Decision and received dates
How much does it cost to scrape FDA PMA approvals?
This actor uses pay-per-event pricing. You pay a small run start fee and a per-record fee for each FDA PMA approval or supplement record saved. Keep maxItems low for quick monitoring jobs, then increase it for full exports or historical backfills.
Pricing is visible on the Apify actor page and may vary by Apify subscription tier.
How to scrape FDA PMA approval records
- Open the actor on Apify.
- Set
maxItemsto the number of PMA records you need. - Optionally add structured filters such as applicant, product code, decision date, or PMA number.
- Run the actor.
- Download the dataset as JSON, CSV, Excel, XML, or HTML.
Input options
Use search for raw openFDA expressions such as trade_name:"CARDIO" AND decision_code:APPR.
Use structured fields for simpler filtering:
applicantproductCodepmaNumbersupplementTypedecisionCodedecisionDateFromdecisionDateToreceivedDateFromreceivedDateTosortByincludeOpenFda
Output example
A typical item contains:
{"pmaNumber": "P220016","supplementNumber": null,"applicant": "Hepquant, LLC","tradeName": "HepQuant SHUNT® Liver Diagnostic Test","genericName": "Liver function test","productCode": "SIO","decisionDate": "2026-06-18","decisionCode": "APPR","apiUrl": "https://api.fda.gov/device/pma.json?...","scrapedAt": "2026-07-06T06:04:56.000Z"}
Dataset fields table
| Field | Description |
|---|---|
pmaNumber | FDA PMA identifier. |
supplementNumber | Supplement identifier when the record is a PMA supplement. |
applicant | Applicant or manufacturer name. |
tradeName | Device trade name. |
genericName | FDA generic device name. |
productCode | FDA product code. |
advisoryCommitteeDescription | FDA advisory committee description. |
supplementType | PMA supplement type. |
supplementReason | Reason for the supplement. |
dateReceived | FDA received date. |
decisionDate | FDA decision date. |
decisionCode | FDA decision code. |
docketNumber | Docket number when present. |
registrationNumbers | openFDA registration numbers. |
apiUrl | Exact openFDA request URL for traceability. |
scrapedAt | Actor scrape timestamp. |
Tips for better FDA PMA searches
Use decisionDateFrom for monitoring recent approvals. Combine productCode with decisionCode: APPR for focused regulatory analysis. Use applicant names carefully because FDA applicant spelling can vary.
For full historical exports, run by date range chunks instead of requesting everything at once.
Monitoring workflows
Create a saved task with decisionDateFrom set to the beginning of your monitoring period and maxItems tuned to expected volume. Run it on a schedule and compare new PMA numbers with previous dataset exports.
Apify webhooks can notify a Slack channel, trigger a warehouse load, or start a downstream enrichment workflow when the actor finishes.
Integrations
Send FDA PMA records to Google Sheets for lightweight monitoring, to a warehouse for analytics, to Slack for approval alerts, or to CRM/company intelligence tools for medtech account enrichment.
Common workflow patterns:
- FDA PMA approval monitor → Slack alert
- PMA applicant export → CRM enrichment
- Product-code export → market map dashboard
- Monthly approval feed → warehouse table
API Usage
You can run this actor programmatically with the Apify API, Apify client libraries, or Apify MCP.
Node.js API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/fda-pma-medical-device-approvals-scraper').call({decisionCode: 'APPR',decisionDateFrom: '2024-01-01',maxItems: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 3));
Python API example
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/fda-pma-medical-device-approvals-scraper').call(run_input={'decisionCode': 'APPR','decisionDateFrom': '2024-01-01','maxItems': 100,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items[:3])
cURL API example
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~fda-pma-medical-device-approvals-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"decisionCode":"APPR","decisionDateFrom":"2024-01-01","maxItems":100}'
MCP section
Use the Apify MCP server with Claude Code or Claude Desktop and enable this actor as a tool.
Claude Code setup:
$claude mcp add apify https://mcp.apify.com/?tools=automation-lab/fda-pma-medical-device-approvals-scraper
Claude Desktop JSON configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=automation-lab/fda-pma-medical-device-approvals-scraper"}}}
Example prompts:
- "Find approved FDA PMA records for cardiac devices since 2024 and summarize applicants."
- "Export recent FDA PMA supplements for Medtronic and identify product codes."
- "Build a dataset of PMA approvals since 2020 for a medtech market map."
Data quality notes
openFDA data is public and useful for research, but openFDA warns that results should be treated as unvalidated. Always verify critical regulatory decisions against official FDA sources and source documents.
Legality and responsible use
The actor uses a public U.S. government API and does not bypass login, paywalls, or anti-bot systems. Respect openFDA terms, use reasonable limits, and avoid high-frequency runs that could stress public infrastructure.
Troubleshooting
If you get zero results, remove exact applicant or product-code filters and test a broader decision date range.
If an openFDA search expression fails, try structured fields first, then add raw search syntax gradually.
If you need every historical record, split runs by date range to keep each run predictable.
FAQ
Can I export all FDA PMA records?
Yes, but chunk large historical jobs by date ranges and respect maxItems.
Does this actor need proxies?
No. The data source is the public openFDA API.
Does this include every FDA device database?
No. This actor focuses on PMA and supplement records from device/pma.json.
Can I filter by company?
Yes. Use the applicant field, but remember FDA applicant naming can vary across records.
Related scrapers
For adjacent regulatory and healthcare workflows, check other automation-lab actors on Apify for company enrichment, healthcare provider data, product intelligence, and public-record extraction.
Use this PMA actor as the approval-record component in a broader medtech intelligence stack.
Additional workflow note
- Use focused date ranges, exact PMA identifiers, or product codes to keep exports fast and affordable.
- Save common filters as Apify tasks for recurring monitoring.
- Connect finished runs to webhooks for notifications and ETL.
- Keep official FDA validation in your review process for regulated decisions.