Skip to main content
POST
Returns the US Food and Drug Administration’s identification record for a medical device, by the device identifier or GS1 barcode text on its label: brand, model, labeler, package levels, distribution status, product codes, premarket submission numbers and labeling flags such as sterility, latex and MRI safety. Device naming terms and contacts are excluded.

Authentication

Requires x402 payment in the payment-signature header.

Request Body

string
The device identifier (DI) printed on the label, for example 04063006002252. For HIBCC labels, leave out the leading + and the trailing check character.
string
The full UDI text from a GS1 label, human-readable such as (01)00357599000172(17)250531(10)ABC123 or as scanned. 16 to 200 characters.

Response (200 OK)

Top-level envelope: success (boolean) and data (object). All fields below are nested under data.
string
Durable job ID for audit and lookup
string
Job status: completed
string
Always product_device_identifier
object
The answer, described under Result below
object
Where the answer came from and when
string
The public body the data comes from. Always US Food and Drug Administration.
string
public when the data comes from a public body, commercial otherwise
string
When the lookup was made, as an ISO 8601 UTC time
string | null
When the source says the fact was last updated, or null when the source gives no date

Result

Nested under data.result.
boolean
Whether the identifier is in the database.
string
The identifier that was searched, after normalisation.
integer
How many records hold the identifier; only the first is returned.
string | null
Which level of the record matched: Primary, Package, Unit of Use, Secondary or Direct Marking. null when the source gives no value.
string | null
The primary device identifier of the record. null when the source gives no value.
string | null
The issuing agency of the primary identifier: GS1, HIBCC or ICCBBA. null when the source gives no value.
object[]
Every identifier level of the record.
string
The identifier.
string | null
The identifier level. null when the source gives no value.
string | null
The issuing agency. null when the source gives no value.
string | null
The identifier of the unit this package contains. null when the source gives no value.
number | null
How many units the package holds. null when the source gives no value.
string | null
The package type. null when the source gives no value.
string | null
The package distribution status. null when the source gives no value.
string | null
When the package was discontinued. null when the source gives no value.
string | null
The brand name. null when the source gives no value.
string | null
The version or model number. null when the source gives no value.
string | null
The catalog number. null when the source gives no value.
string | null
The labeler. null when the source gives no value.
string | null
The device description. null when the source gives no value.
string | null
The commercial distribution status. null when the source gives no value.
string | null
When commercial distribution ended. null when the source gives no value.
string | null
The record status. null when the source gives no value.
number | null
The published version of the record. null when the source gives no value.
string | null
When the published version was released. null when the source gives no value.
string | null
When the record was first published. null when the source gives no value.
number | null
How many devices the base package holds. null when the source gives no value.
object[]
The FDA product codes of the device.
string | null
The FDA product code. null when the source gives no value.
string | null
The product code name. null when the source gives no value.
string | null
The classification device name. null when the source gives no value.
string | null
The device class. null when the source gives no value.
string | null
The regulation number. null when the source gives no value.
string | null
The medical specialty. null when the source gives no value.
object[]
The premarket submissions of the device.
string | null
The submission number; 510(k) numbers start with K and can be looked up in Device Clearances. null when the source gives no value.
string | null
The supplement number. null when the source gives no value.
boolean | null
Whether the device is exempt from premarket submission. null when the source gives no value.
boolean | null
Whether the device is prescription only. null when the source gives no value.
boolean | null
Whether the device is sold over the counter. null when the source gives no value.
boolean | null
Whether the device is single use. null when the source gives no value.
boolean | null
Whether the device is a kit. null when the source gives no value.
boolean | null
Whether the device is a combination product. null when the source gives no value.
boolean | null
Whether the device contains human cells, tissues or cellular or tissue-based products. null when the source gives no value.
boolean | null
Whether the device is exempt from direct marking. null when the source gives no value.
boolean | null
Whether the label says it contains natural rubber latex. null when the source gives no value.
boolean | null
Whether the label says it is made without natural rubber latex. null when the source gives no value.
string | null
The MRI safety statement. null when the source gives no value.
boolean | null
Whether the device is supplied sterile. null when the source gives no value.
boolean | null
Whether the device must be sterilized before use. null when the source gives no value.
object | null
Which production identifiers the label carries; null when the identifier is not found.
boolean | null
Whether the label carries a lot or batch number. null when the source gives no value.
boolean | null
Whether the label carries a serial number. null when the source gives no value.
boolean | null
Whether the label carries a manufacturing date. null when the source gives no value.
boolean | null
Whether the label carries an expiration date. null when the source gives no value.
boolean | null
Whether the label carries a donation identification number. null when the source gives no value.
See Pricing for this tool’s price. A wallet (x402) call receives it in the 402 quote before anything is charged; a call paid from prepaid credits is charged when the API accepts the request and answers 200.

Notes

  • Supply exactly one of device_identifier or udi; udi reads GS1 labels only.
  • A package identifier returns the device inside it; matched_type says which level matched.
  • Lot, serial and dates on a label are not in the database and are not returned.
  • An unknown identifier returns found: false.
  • The source refreshes weekly.
  • Results return inline. The finished job stays available at /v1/requests/{request_id}