FDA contract manufacturers, in one clean CSV.
openFDA has the data — assembling it is the painful part. I pulled the contract-manufacturer slice, merged the duplicate registrations, and flattened it to one row per manufacturer: product codes, 510(k)s, device class, specialty, country.
One-time CSV · 7,130 manufacturers · instant download · or try a free 25-row sample first.
| reg_no | name | state | country | product_codes | class |
|---|---|---|---|---|---|
| 3000170817 | Acero Precision | PA | US | KWQ; KWP; NKB | 2 |
| 3009631939 | Red Star Contract Mfg Inc. | IN | US | JDR; HXX; HWC | 2 |
| 3013595964 | Hony Medical Co., Ltd | — | CN | EYJ; PUI; KGX | 1; 2 |
| 3005383620 | Integer Holdings | NY | US | DXY; LWS; MAF | 2; 3 |
| 3010998765 | Sanyo Precision | — | JP | FMF; KGX | 2 |
Built for people who sell into, source from, or map device makers.
Sourcing & supplier discovery
Find every contract manufacturer for a given product code or device type — without paging through openFDA by hand.
Regulatory & supply-chain mapping
RA/QA teams: see which establishments hold which clearances, classes and specialties in one table.
Sales lead lists & market research
Selling services into device manufacturers? Segment the market by code, class and country in minutes.
11 structured columns, one row per manufacturer.
Delivered as a single UTF-8 CSV — opens straight in Excel, Google Sheets, Python or your CRM.
nameManufacturer namecountryISO country codestateState / regionaddressFull registered addressreg_noFDA registration / FEI numberproduct_codesAll FDA product codes (semicolon-separated)device_namesDevice names produceddevice_classFDA device class (1 / 2 / 3)specialtyMedical specialtyk_numbers510(k) clearance numbers (where present)sourceData source (openFDA)—Deduplicated & normalized — no duplicate establishmentsCan't I just pull this myself?
You can — the source is public, and for a few hundred records it's easy. The full set is where it gets tedious: openFDA's skip paging caps out around 25,000 records, and the same establishment shows up across dozens of listing documents. Assembling everything means slicing by country to get past the paging cap, then deduplicating 65,049 registrations down to 7,130 unique manufacturers, unioning product codes and 510(k)s per manufacturer. That work — and a monthly re-pull — is what you're paying for. Not the data itself, which stays CC0.
Get the full dataset.
- Complete CSV — 7,130 rows × 11 columns
- Deduplicated, normalized, ready for Excel / Python
- CC0 — use commercially, no attribution required
- One free question about the data after purchase
Pre-launch: the snapshot is available now. A monthly-refreshed subscription and API access are on the roadmap — tell me below if you'd want either.
Questions before you buy.
What format is it, and how do I get it?
A single UTF-8 CSV (~2.6 MB), 7,130 rows × 11 columns. After checkout on Gumroad you get an instant download link plus an emailed copy. Opens directly in Excel, Google Sheets, Python (pandas), or any CRM that imports CSV.
Can I see it before I pay?
Yes — grab the free 25-row sample below, or browse the 1,000-row sample on Kaggle. The paid file is the complete, deduplicated 7,130-manufacturer set.
How fresh is the data, and is it accurate?
Built from openFDA's device registration & listing data and re-pulled monthly. It's a single source (openFDA) — not cross-verified against a second registry — and registry data can lag reality, so verify before relying on it for compliance decisions. I don't overstate it as "verified."
Is there any personal data in here?
No. Business / establishment records only — company name, address, registration number, product codes. Source is U.S. public domain (CC0), so commercial use and redistribution are permitted. Not affiliated with or endorsed by the FDA.
What about the $49 subscription and $99 API?
Those aren't live yet — only the $29 one-time snapshot is for sale today. A monthly-refreshed subscription and API access are planned. If you'd want either, say so in the form below and you'll be first to know.
Refunds?
If the dataset doesn't match what this page describes, email me within 14 days and I'll refund it. Contact: kimcomplete8888@gmail.com.
Prefer to see the data first?
No payment, no account. I'll email you a 25-row sample and follow up if the full set is useful — and you can tell me what you'd actually pay for.