Start with Middesk: POST /v1/businesses with legal name, EIN, and registered address; await webhook resolution to get SOS registration status and watchlist results
Use the EIN or legal name from Middesk response to query OpenCorporates: GET https://api.opencorporates.com/v0.4/companies/search?q={name}&jurisdiction_code=us_de&api_token=YOUR_TOKEN
Extract the OpenCorporates company_number and use it to search GLEIF: GET https://api.gleif.org/api/v1/lei-records?filter[entity.registeredAs]={company_number}&filter[entity.jurisdiction]=US-DE
If a GLEIF LEI is found, retrieve parent relationships via the direct-parent-relationship endpoint to identify any corporate group structure
Merge the three data sets by legal name, registered address, and EIN/company number into a canonical entity object; flag any field conflicts for manual review
Store the Middesk business id, OpenCorporates canonical URL, and GLEIF LEI as linked identifiers in your entity record
Known gotchas
Not all U.S. companies have LEIs; GLEIF coverage is strongest for financial institutions and publicly-traded companies — absence of an LEI record is not a red flag for small businesses
Name matching across the three systems is error-prone due to punctuation, suffix variation, and abbreviation differences; use normalized name comparison and fall back to EIN or registration number as the primary join key
Rate limits apply independently across all three APIs; parallel calls at high volume require separate back-off logic per service
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