Two ways to query, both CORS-enabled and read-only. All data is
regenerated from the monthly FIDO MDS blob and the community provider list.
1 · REST API (paginated)
GET /api/v1/authenticators | Paginated list |
GET /api/v1/authenticators/{id} | Full entry by AAGUID / AAID / key id |
GET /api/v1/meta | Blob number, next update, counts |
Query parameters for the list endpoint
search | Fuzzy match on name or AAGUID |
page | Page number, default 1 |
per_page | Items per page, default 20, max 100 |
source | community (passkey providers) or mds (FIDO devices) |
type | fido2, u2f, or uaf |
status | FIDO_CERTIFIED or NOT_FIDO_CERTIFIED |
Examples
Response fields (every entry, list and detail alike)
id | Always present. The AAGUID for FIDO2 and passkey providers; the attestation certificate key id for U2F; the AAID for UAF. |
name | Always present. Curated display name (community name preferred, else the MDS friendly name). |
icon | Always present. Path to a static image under data/, e.g. icons/{id}.png. null only when the vendor never published an icon (4 of 557 entries). |
iconDark | Dark-theme icon path; non-null for community-sourced providers. |
type, source, status, timeOfLastStatusChange | Protocol family, data source (mds / community / both), latest certification status (null for community-only entries), and its date. |
Detail responses for MDS entries additionally nest the raw
metadataStatement and statusReports from the blob, unmodified
except that icons are extracted to files.
2 · Static files (works on any static host)
data/index.json | Every authenticator: id, name, type, source, status, icon paths |
data/entries/{id}.json | Full metadata for one authenticator |
data/icons/{id}.png|svg | Icon (community providers: {id}-light.svg / {id}-dark.svg) |
data/meta.json | Blob metadata and counts |
Response entries carry a source field:
mds (FIDO Alliance MDS), community (passkey provider list),
or both (merged).