None
GET /v1/search
Search the public register by UDI-DI, SRN, trade name, or catalogue reference. Optional status, risk, and page. Not a dump.
No auth. Query q. This reads the copy we store. It does not call EUDAMED. Optional status (on, off, not-eu), risk (i, iia, iib, iii, a, b, c, d), and page. A query or a filter is required. source is stored. When q is one UDI-DI or one SRN, refresh is set and the app may then call GET /v1/refresh?q= for that code only.
curl -sS "$BASE/v1/search?q=16977660098955"
{
"results": [{
"udi": "16977660098955",
"trade_name": "suction Catheter",
"manufacturer_name": "JianLin Medical Import&Export Co.,LTD",
"manufacturer_srn": "CN-MF-000042120",
"status": "On the market",
"status_code": "refdata.device-model-status.on-the-market",
"risk_class": "Class I"
}],
"total": 1,
"match": "udi",
"error": null
}
match is udi, srn, name, or reference. total is the upstream count when the filter was accepted. An exact filter that claims more than 100,000 rows is discarded. Search rows do not include certificate dates. Fetch the device for those. Eight rows come back on a name search. Limit: 40 calls per IP per minute.

UdiWatch