GET https://api.gleif.org/api/v1/lei-records?filter[entity.legalName]={encoded_name}&filter[entity.jurisdiction]=US-DE&filter[entity.status]=ACTIVE&page[size]=10
Iterate response.data[] array; each element contains id (the LEI), attributes.entity.legalName.name, attributes.entity.registeredAt.id (registration authority), and attributes.entity.registeredAs (local registration number)
Handle pagination via response.links.next URL until all pages are consumed or a sufficiently precise match is found
Score name matches client-side using normalized Levenshtein distance against the submitted name to rank candidates
Confirm the best match by cross-referencing attributes.entity.legalAddress.addressLines and attributes.entity.registeredAddress fields
Use the BIC-LEI mapping endpoint GET /api/v1/search/gleif?filter[type]=BIC&filter[value]={bic} when starting from a bank identifier code instead of a name
Known gotchas
The filter[entity.legalName] parameter performs a starts-with search, not full fuzzy match; partial trade names or abbreviations often return zero results
Jurisdiction codes follow ISO 3166-2 subdivision format (e.g., US-DE for Delaware); using bare country codes like 'US' returns all US entities and can yield very large result sets
The GLEIF API is free and has no published hard rate limit, but GLEIF recommends bulk consumers use their Golden Copy file downloads rather than paging through the full dataset via API
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp