openfda_device_clearances
Search and filter FDA 510(k) premarket-notification clearances for medical devices by applicant, device name, clearance number, and more.
Instructions
Search openFDA 510(k) DEVICE CLEARANCES — the FDA's premarket-notification (510(k)) clearances for medical devices, with the applicant/manufacturer, device name, clearance number (K-number), decision (date + description), clearance type, product code, advisory committee, and geography (openFDA /device/510k.json; api.fda.gov). KEYLESS (an OPTIONAL free OPENFDA_API_KEY only RAISES the rate limit — keyless works at ~1000 requests/day; it NEVER throws for a missing key; get one at https://open.fda.gov/apis/authentication/; call api_key_status to see every source's key requirement). Input: STRUCTURED filters — applicant (→applicant), deviceName (→device_name), productCode (→product_code), clearanceType (→clearance_type, e.g. Traditional/Special/Abbreviated), kNumber (→k_number, e.g. 'K123456'), state (2-letter, e.g. 'CA') — the tool safely assembles + escapes these into the openFDA search= Lucene string (NO raw passthrough — injection-safe), plus limit (1..100, default 25) and skip (offset ≥0). Returns { clearances:[{ applicant, deviceName, kNumber, decisionDate, decisionDescription, clearanceType, productCode, advisoryCommittee, state }] } + honest _meta. HONESTY: totalAvailable is openFDA's EXACT meta.results.total (skip/limit pagination via hasMore/nextOffset — never results.length); every scalar (dates included, decision_date is a YYYY-MM-DD string) is null-never-empty-string. ★A no-match query returns openFDA HTTP 404 NOT_FOUND ⇒ an HONEST EMPTY (returned:0, totalAvailable:0), NOT an error; a 400 syntax error ⇒ invalid_input surfacing openFDA's message; a 5xx ⇒ THROWS; a 200 non-JSON ⇒ schema_drift. The optional key rides ONLY the &api_key= query param — never logged or echoed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Row offset for pagination (default 0). Page with _meta.pagination.nextOffset. | |
| limit | No | Max clearance records to return (default 25, max 100). Offset-paginated via skip. | |
| state | No | 2-letter US state/territory postal code filter (→ state), e.g. 'CA'. Validated ^[A-Za-z]{2}$. | |
| kNumber | No | 510(k) clearance number (K-number) filter (→ k_number), e.g. 'K123456'. Matched as an escaped Lucene phrase. | |
| applicant | No | Applicant / manufacturer name filter (→ applicant), e.g. 'medtronic'. Matched as an escaped Lucene phrase. | |
| deviceName | No | Device name filter (→ device_name), e.g. 'catheter'. Matched as an escaped Lucene phrase. | |
| productCode | No | FDA product code filter (→ product_code), e.g. 'DXN'. Matched as an escaped Lucene phrase. | |
| clearanceType | No | 510(k) clearance type filter (→ clearance_type), e.g. 'Traditional', 'Special', 'Abbreviated'. Matched as an escaped Lucene phrase. |