eu-verifyFor AI agents · pay per call

LEI lookup API for AI agents

Resolve any Legal Entity Identifier to its reference data, or find an entity's LEI by legal name: this endpoint queries the GLEIF LEI Records API - the golden copy of the global LEI system, updated daily and licensed CC0. Each result carries the LEI, legal name, entity status, registration status (ISSUED or LAPSED - a lapsed LEI means the entity stopped re-certifying its data), jurisdiction, legal form id, headquarters city and country, and the next renewal date.

It is built for autonomous agents: no account, no API key - the agent pays $0.005 per call in USDC. Name search accepts an optional 2-letter country filter; malformed queries return 400 and are never billed. Responses are cached for 24 hours.

Endpoint

GET /v1/global/lei$0.005 per call (USDC on Base, x402). Also available as the MCP tool lookup_lei on https://data.greeneris.io/mcp.

Parameters

ParamDescription
lei20-character LEI code for a direct lookup
nameLegal name to search, max 100 chars (used when lei is absent)
country2-letter ISO 3166-1 legal-address country filter (optional)
limitMax search results, 1-10 (default 5)

Example

curl -i "https://data.greeneris.io/v1/global/lei?name=airbus&country=FR&limit=3"
# HTTP/1.1 402 Payment Required + machine-readable quote
# (any x402 client pays the quote and retries automatically)

Or pay and read the answer from code (pip install "x402[httpx,evm]"):

import asyncio, os
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm.exact import register_exact_evm_client

buyer = Account.from_key(os.environ["BUYER_PRIVATE_KEY"])  # test buyer wallet

async def main():
    client = x402Client()
    register_exact_evm_client(client, buyer)   # gasless USDC on Base (EIP-3009)
    async with x402HttpxClient(client, timeout=45) as http:
        # reads the 402 quote, signs the USDC payment, retries automatically
        r = await http.get("https://data.greeneris.io/v1/global/lei?name=airbus&country=FR&limit=3")
        print(r.status_code, (await r.aread()).decode())

asyncio.run(main())

Response after payment:

{"ok": true, "data": {"query": {"name": "airbus", "country": "FR"}, "total": 15, "results": [{"lei": "529900FCMZ4LKXFD0R69", "legal_name": "AIRBUS", "entity_status": "ACTIVE", "registration_status": "ISSUED", "jurisdiction": "FR", "legal_form_id": "6CHY", "hq_city": "BLAGNAC", "hq_country": "FR", "next_renewal_date": "2026-12-05T09:23:00Z"}], "source": "GLEIF LEI Records API, golden copy (data licensed CC0)"}}

What agents use it for

How payment works

Call the endpoint: you get HTTP 402 with a signed quote (price, receiving address, network). Your agent pays a few tenths of a cent in USDC on Base (gasless, EIP-3009) and retries - one round trip, no account, no API key. Settlement only happens after a successful answer. Full catalog: llms.txt.

Related