FDA 510(k) Scraper - Device Clearances Data
Pricing
from $4.00 / 1,000 clearances
FDA 510(k) Scraper - Device Clearances Data
Scrape FDA 510(k) medical device clearances from openFDA with the actual review time in days, plus the applicant's address and contact. Filter by product code, company, decision date, state and decision. Track competitors' clearances and regulatory timelines.
Pricing
from $4.00 / 1,000 clearances
Rating
0.0
(0)
Developer
Tom Awake
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
What does FDA 510(k) Scraper do?
Every FDA 510(k) medical device clearance — with the actual review time in days, and the applicant's address and named contact.
No login. No API key. No proxies.
The number openFDA has but never gives you
openFDA publishes date_received and decision_date on every 510(k). It
never subtracts them. So the one question every regulatory affairs team asks
before filing — how long will this actually take in my product code? — has
no published answer.
This Actor does the subtraction, on every row, and reports the distribution.
Measured on real data:
| Scope | Median | 90th percentile |
|---|---|---|
| All 2026 clearances | 131 days | 274 days |
| Product code QJP (neurovascular catheters) | 164 days | 258 days |
| Medtronic, 2024-2026 | 93 days | 216 days |
A large sponsor clears in 93 days where the category takes 164. That gap is competitive intelligence, and it is not in any export you can buy off the shelf.
Coverage is excellent: in testing, 100 % of rows had a review time, an address and a named contact.
Output
One row per clearance:
| Field | Example |
|---|---|
kNumber | K261549 |
applicant | MicroVention, Inc., d/b/a Terumo Neuro |
deviceName | BOBBY Balloon Guide Catheter |
productCode | QJP |
dateReceived | 2026-05-11 |
decisionDate | 2026-06-09 |
reviewDays | 29 |
decisionCode, decisionDescription | SESE, Substantially equivalent |
clearanceType, expeditedReview, thirdPartyReview | |
advisoryCommittee | Cardiovascular |
contact, address, city, state, postalCode, country | |
fdaUrl | direct link to the FDA record |
reviewDays is left empty rather than guessed when a date is missing or
inconsistent — a negative duration is a source error, not a fast review.
expeditedReview is almost always empty, and that is correct
Counted across the whole openFDA 510(k) database on 17 September 2026:
expedited_review_flag is set to Y on 28 records out of 176,070 —
0.016%. You will not see it in a sample, and its absence is not a
failure of the extraction. It is kept because those 28 records are
exactly what someone auditing expedited pathways is looking for; search
for them directly rather than expecting them to turn up.
For routing information that is actually populated, use clearanceType,
which is present on every record:
clearanceType | Records |
|---|---|
| Traditional | 156,757 |
| Special | 16,144 |
| Abbreviated | 2,600 |
| Direct | 379 |
| Post-NSE | 110 |
| Dual Track | 80 |
Input
{"decisionFrom": "2026-01-01","decisionTo": "2026-12-31","productCode": "QJP","maxItems": 500}
| Field | Default | Notes |
|---|---|---|
decisionFrom / decisionTo | 2026 | Decision date range |
productCode | — | The sharpest filter — see below |
applicant | — | Company name |
deviceName | — | Free text on the device name |
decisionCode | — | SESE, STNE, STWD and others |
state, country | — | Applicant location |
maxItems | 500 | Up to 25,000 |
Use productCode. A market-wide median is a vanity number; the
three-letter FDA code isolates your actual pathway, and that median is the
one you can plan against.
Use cases
- Regulatory planning — the real review-time distribution for your product code, not a market average.
- Competitive monitoring — who cleared what, when, in your category.
- Benchmarking — compare your review times against the category and against named competitors.
- Consulting and BD — companies actively clearing devices in a category, with address and contact.
- Market entry — which foreign manufacturers are entering the US market and through which codes.
Running this as a scheduled watch
Clearances are a competitive signal: a device cleared in your category
is a product about to reach the market, and reviewDays tells you how
long the pathway took.
{"productCode": "QJP","decidedWithinDays": 30,"maxItems": 200}
Thirty days rather than seven: the FDA publishes in batches, and a seven-day window is often empty.
Why not fixed decisionFrom / decisionTo? A schedule replays the
same input every time. A fixed range returns the same clearances at
every run. decidedWithinDays overrides both and moves on its own.
Limits, honestly
- openFDA refuses to paginate beyond 25,000 results. Deeper history needs a narrower period or a product code; the Actor warns instead of looping silently.
- Review time measures calendar days from receipt to decision. It includes any hold or additional-information cycle, which is usually what you want to plan against, but it is not the FDA's internal review clock.
- Contact and address are as filed with the submission, so they can be years old for older clearances.
- 510(k) only. PMA and De Novo pathways are different datasets.
- Requests are paced out of courtesy to a free public service.
- Not affiliated with the FDA.
How much does it cost?
You pay per clearance returned: $0.006 each, that is $6.00 per 1,000. There is no start fee, and subscription plans pay less per clearance.
The example input below asks for up to 200 clearances, so it costs $1.20 at most.
If a run reaches the spending limit you set, the output stops at that limit and never goes past it. You are never charged for rows that were not delivered.
Use FDA 510(k) Scraper as an API
Call it from your own code with the Apify client, here in Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("DataIO/openfda-510k-device-clearances").call(run_input={'decisionFrom': '2026-01-01','decisionTo': '2026-12-31','maxItems': 200,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
It also works from JavaScript, Make, Zapier, n8n, and from AI agents through the Apify MCP server.
Other actors you might like
- FDA Recalls Scraper: openFDA Enforcement
- NPI Registry Scraper: US Healthcare Providers
- CMS Open Payments Scraper: Physician Payments
FAQ
Is it legal to use this data?
The actor reads public data from its official source, without logging in and without bypassing any access control. What you do with the data, for example contacting people listed in it, is your responsibility under the laws that apply to you, such as GDPR in Europe.
Can I run it on a schedule?
Yes. See Running this as a scheduled watch above: use the rolling-window setting so each run returns only what is new.
Can AI agents use it?
Yes. It is available through the Apify MCP server, and every input field is described in its input schema, so an agent can call it directly.