FDA PMA Medical Device Approvals Scraper avatar

FDA PMA Medical Device Approvals Scraper

Pricing

Pay per event

Go to Apify Store
FDA PMA Medical Device Approvals Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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

  1. Open the actor on Apify.
  2. Set maxItems to the number of PMA records you need.
  3. Optionally add structured filters such as applicant, product code, decision date, or PMA number.
  4. Run the actor.
  5. 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:

  • applicant
  • productCode
  • pmaNumber
  • supplementType
  • decisionCode
  • decisionDateFrom
  • decisionDateTo
  • receivedDateFrom
  • receivedDateTo
  • sortBy
  • includeOpenFda

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

FieldDescription
pmaNumberFDA PMA identifier.
supplementNumberSupplement identifier when the record is a PMA supplement.
applicantApplicant or manufacturer name.
tradeNameDevice trade name.
genericNameFDA generic device name.
productCodeFDA product code.
advisoryCommitteeDescriptionFDA advisory committee description.
supplementTypePMA supplement type.
supplementReasonReason for the supplement.
dateReceivedFDA received date.
decisionDateFDA decision date.
decisionCodeFDA decision code.
docketNumberDocket number when present.
registrationNumbersopenFDA registration numbers.
apiUrlExact openFDA request URL for traceability.
scrapedAtActor 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 ApifyClient
import os
client = 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().items
print(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.

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.