GLEIF LEI Lookup avatar

GLEIF LEI Lookup

Pricing

$0.01 / 1,000 lei entities

Go to Apify Store
GLEIF LEI Lookup

GLEIF LEI Lookup

Look up GLEIF LEI entities by company name, LEI code, or country filters. Export legal entity data, registration dates, addresses, parent relationships, ISIN links, and deterministic KYB decision fields.

Pricing

$0.01 / 1,000 lei entities

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

🔎 GLEIF LEI lookup for company checks

Compliance, procurement, and data teams can search public GLEIF data by company name, exact LEI code, or country. Each saved row is one accepted legal entity with its official identity, registration, address, ownership, security, and deterministic decision facts. This gives you structured company data for vendor onboarding, counterparty checks, KYB review, and other business workflows.

When the same LEI appears through more than one submitted value, the Actor saves the first accepted match. The matchedInput field shows the first name, LEI code, or country code that found the saved entity.

📦 Export official GLEIF entity data

What you get

Each dataset row contains one accepted entity. GLEIF may leave fields null or arrays empty when it does not provide the data or when the selected output detail is compact.

Identity and registry facts

Rows include the LEI, the first matching input, an official GLEIF record link, legal and alternate names, entity status, category, jurisdiction, legal form, registration authority, local registration number, BIC codes, registration dates, registration status, and managing LOU.

Use these fields to check whether a known LEI is active, has an issued registration, and is current for renewal when GLEIF provides those facts.

Relationship and security context

When requested and available, rows include legal and headquarters addresses, direct and ultimate parent details, child counts, ownership transparency, relationship edges, reporting exceptions, and ISIN-linked securities.

Decision and monitoring

Decision fields include the selected policy, recommended action, risk score and band, risk factors, review flags, identity confidence and verdict, ownership transparency, onboarding complexity, and renewal state. A named watchlist can add first-seen, unchanged, or changed status with the changed fields.

Batch summary

Batch runs also write a PORTFOLIO_SUMMARY key-value output with totals, status and risk distributions, country exposure, a prioritized review queue, and watchlist change snapshots when a watchlist name is used.

▶️ Run a GLEIF company lookup

Run steps

  1. Open the Actor input.
  2. Add company names or exact LEI codes in Company names or LEI codes.
  3. Optional: add ISO country codes such as US, GB, or DE in Countries.
  4. Set Max records to limit the number of accepted entities saved. Leave it empty or set it to 0 to return all available results until the source is exhausted.
  5. Choose Entity status, Entity category, Decision policy, and Output detail.
  6. Choose relationship, securities, or graph data based on the extra context you need.
  7. Optional: add a Watchlist name or Registration number for repeat comparisons.
  8. Start the Actor and open the default dataset.

For a smaller wait and payload, choose essential output and leave optional relationship, securities, and graph data off. The structured rows keep source facts together for a CRM, warehouse, spreadsheet, or review queue.

⚙️ Input

Use queries for company names or exact LEI codes. Use countries for country-filtered discovery, or fill both to combine named lookups with a country filter. Blank status and category filters keep all values.

Input fields

FieldTypeWhat it does
queriesarray of stringsCompany names or exact 20-character LEI codes to look up.
countriesarray of stringsISO 3166-1 alpha-2 country codes for filtered discovery, such as US or GB.
maxRecordsintegerMaximum accepted LEI entities to save. Leave it empty or set it to 0 to return all available results until the source is exhausted.
entityStatusstringKeeps entities with the selected GLEIF operating status. Leave blank for all statuses.
entityCategorystringKeeps entities in the selected broad GLEIF category. Leave blank for all categories.
policyProfilestringChooses how status, renewal, identity, and ownership facts affect the deterministic decision.
outputProfilestringChooses how much source data and review context to include in each entity.
includeRelationshipsbooleanAdds parent, ultimate parent, child-count, and relationship signals when available.
includeSecuritiesbooleanAdds ISIN and security links when GLEIF provides them.
includeGraphEdgesbooleanAdds relationship data shaped for graph tools when available.
watchlistNamestringUses the same name on repeat runs to compare first-seen, unchanged, or changed entities.
registrationNumberstringCompares a local registration number with the GLEIF registration value.

Default input example

This is the public input from a successful current-beta default run:

{
"queries": [
"Apple",
"HWUPKR0MPOU8FGXBT394"
],
"countries": [
"US"
],
"maxRecords": 25,
"entityStatus": "",
"entityCategory": "",
"policyProfile": "balanced",
"outputProfile": "standard",
"includeRelationships": true,
"includeSecurities": false,
"includeGraphEdges": false
}

The form starts with Apple, HWUPKR0MPOU8FGXBT394, US, and 25 as prefilled values.

Decision and output detail

Use policyProfile to choose the posture for deterministic decision fields. Use outputProfile to choose the amount of detail:

  • essential: core identity, status, dates, addresses, and compact decision fields.
  • decision: decision evidence, registration-number comparison, and watchlist changes.
  • standard: alternate names, legal and registration labels, BIC codes, and parent basics.
  • full: requested relationship and ISIN/security arrays when available.

Use the relationship, securities, and graph switches only when you need those extra fields. Use the same watchlistName on later runs to compare an entity with its earlier snapshot.

🧾 Output

All four output profiles use the same entity-row shape. Essential and decision profiles may leave optional source fields null or arrays empty. Standard and full profiles keep more available source detail. The table below lists every public dataset field, including nested fields.

Dataset link

The Actor output exposes a results link to successful GLEIF entity rows in the default dataset.

Entity row fields

FieldTypeWhat it does
leistringOfficial 20-character Legal Entity Identifier from GLEIF.
matchedInputstringFirst submitted name, LEI code, or country code that found this entity.
recordUrlstring (URL)Link to the entity's official GLEIF record.
legalNamestringOfficial legal entity name from GLEIF.
otherNamesarray of stringsOther, former, or transliterated names from GLEIF.
entityobjectLegal entity type and registry facts.
entity.statusstring or nullOperating status from GLEIF.
entity.categorystring or nullBroad entity category from GLEIF.
entity.subcategorystring or nullEntity subcategory when available.
entity.jurisdictionstring or nullLegal jurisdiction code from GLEIF.
entity.legalFormobject or nullLegal form code and name.
entity.legalForm.codestring or nullLegal form code from GLEIF.
entity.legalForm.namestring or nullLegal form name from GLEIF.
entity.registeredAsstring or nullLocal registration number from GLEIF.
entity.registrationAuthorityobject or nullRegistration authority code and name.
entity.registrationAuthority.idstring or nullRegistration authority ID.
entity.registrationAuthority.namestring or nullRegistration authority name.
entity.bicCodesarray of stringsBIC or SWIFT codes linked to the entity.
registrationobjectLEI registration dates and status.
registration.statusstring or nullLEI registration status from GLEIF.
registration.initialRegistrationDatedate or nullDate when GLEIF first registered this LEI.
registration.lastUpdateDatedate or nullDate when GLEIF last updated the LEI record.
registration.nextRenewalDatedate or nullNext LEI renewal date from GLEIF.
registration.managingLoustring or nullLocal Operating Unit that manages the LEI record.
registration.registrationNumberMatchstring or nullWhether the supplied local number matched the GLEIF value: matched, different, or not_available.
legalAddressobject or nullOfficial legal address from GLEIF.
legalAddress.linesarray of stringsAddress lines from GLEIF.
legalAddress.citystring or nullCity in the legal address.
legalAddress.regionstring or nullRegion, state, or subdivision in the legal address.
legalAddress.postalCodestring or nullPostal code in the legal address.
legalAddress.countrystring or nullISO country code in the legal address.
headquartersAddressobject or nullOfficial headquarters address from GLEIF.
headquartersAddress.linesarray of stringsAddress lines from GLEIF.
headquartersAddress.citystring or nullCity in the headquarters address.
headquartersAddress.regionstring or nullRegion, state, or subdivision in the headquarters address.
headquartersAddress.postalCodestring or nullPostal code in the headquarters address.
headquartersAddress.countrystring or nullISO country code in the headquarters address.
parentsobjectDirect and ultimate parent facts.
parents.directobject or nullDirect accounting parent when GLEIF reports one.
parents.direct.leistring or nullLEI of the direct parent when available.
parents.direct.legalNamestring or nullLegal name of the direct parent when available.
parents.ultimateobject or nullUltimate accounting parent when GLEIF reports one.
parents.ultimate.leistring or nullLEI of the ultimate parent when available.
parents.ultimate.legalNamestring or nullLegal name of the ultimate parent when available.
parents.childCountinteger or nullNumber of known child entities from GLEIF.
parents.ownershipOpacitystring or nullOwnership transparency signal based on GLEIF relationship data.
relationshipsarray of objectsGLEIF relationship records for this entity. It is empty when not requested or unavailable.
relationships[].relationshipTypestring or nullRelationship type from GLEIF.
relationships[].relatedLeistring or nullLEI of the related entity when available.
relationships[].relatedNamestring or nullLegal name of the related entity when available.
relationships[].directionstringDirection from this entity: parent, child, or other.
relationships[].statusstring or nullRelationship status from GLEIF.
relationships[].reportingExceptionstring or nullGLEIF reason given when relationship details are unavailable.
securitiesarray of objectsISIN-linked securities from GLEIF. It is empty when not requested or unavailable.
securities[].isinstringInternational Securities Identification Number linked to the LEI.
securities[].namestring or nullSecurity name from GLEIF when available.
decisionobjectDeterministic decision signals based on GLEIF facts and the selected policy.
decision.policyProfilestringPolicy used for this entity.
decision.recommendedActionstringNext action suggested by the selected policy.
decision.riskScoreintegerRisk score from 0 to 100 based on source facts.
decision.riskBandstringRisk group for sorting and review.
decision.riskFactorsarray of stringsSource facts that add to the risk score.
decision.reviewFlagsarray of stringsFlags that may need human review.
decision.identityConfidenceintegerMatch signal from 0 to 100 for the submitted target.
decision.identityVerdictstringReadable identity match result.
decision.ownershipTransparencystringReadable view of ownership data coverage.
decision.onboardingComplexitystringSuggested onboarding effort for this entity.
decision.renewalStatestringRenewal state based on GLEIF registration dates.
watchlistobject or nullWatchlist comparison when a watchlist name is supplied.
watchlist.namestringName used for the watchlist comparison.
watchlist.changeStatusstringComparison status: first_seen, unchanged, or changed.
watchlist.changesarray of objectsSource facts that changed since the previous snapshot.
watchlist.changes[].fieldstringName of the changed public field.
watchlist.changes[].previousstring, number, boolean, or nullEarlier value from the watchlist snapshot.
watchlist.changes[].currentstring, number, boolean, or nullCurrent value from this run.

Example entity row

The following shortened row comes from a successful current-beta full run. The real securities array has more entries and is shown as "..." here only to keep the example small; the other shown values are from that row.

{
"lei": "HWUPKR0MPOU8FGXBT394",
"matchedInput": "HWUPKR0MPOU8FGXBT394",
"recordUrl": "https://api.gleif.org/api/v1/lei-records/HWUPKR0MPOU8FGXBT394",
"legalName": "Apple Inc.",
"otherNames": [
"Apple Computer, Inc."
],
"entity": {
"status": "ACTIVE",
"category": "GENERAL",
"subcategory": null,
"jurisdiction": "US-CA",
"legalForm": {
"code": "H1UM",
"name": "For-Profit Corporation General Stock"
},
"registeredAs": "806592",
"registrationAuthority": {
"id": "RA000598",
"name": "Secretary of State - Business Entity Records"
},
"bicCodes": [
"APLEUS66XXX"
]
},
"registration": {
"status": "ISSUED",
"initialRegistrationDate": "2012-06-06",
"lastUpdateDate": "2026-03-03",
"nextRenewalDate": "2027-03-08",
"managingLou": "5493001KJTIIGC8Y1R12",
"registrationNumberMatch": "different"
},
"legalAddress": {
"lines": [
"C/O C T Corporation System",
"330 N. Brand Blvd",
"Suite 700"
],
"city": "Glendale",
"region": "US-CA",
"postalCode": "91203",
"country": "US"
},
"headquartersAddress": {
"lines": [
"One Apple Park Way"
],
"city": "Cupertino",
"region": "US-CA",
"postalCode": "95014",
"country": "US"
},
"parents": {
"direct": null,
"ultimate": null,
"childCount": 8,
"ownershipOpacity": "medium"
},
"relationships": [
{
"relationshipType": "IS_DIRECTLY_CONSOLIDATED_BY",
"relatedLei": "549300MF6CNUB2URPE58",
"relatedName": null,
"direction": "child",
"status": "ACTIVE",
"reportingException": null
},
{
"relationshipType": "IS_DIRECTLY_CONSOLIDATED_BY",
"relatedLei": "549300UJWEUFNYXPJ620",
"relatedName": null,
"direction": "child",
"status": "ACTIVE",
"reportingException": null
},
{
"relationshipType": "IS_DIRECTLY_CONSOLIDATED_BY",
"relatedLei": "549300YX4S1LLSMK2627",
"relatedName": null,
"direction": "child",
"status": "ACTIVE",
"reportingException": null
},
{
"relationshipType": "IS_DIRECTLY_CONSOLIDATED_BY",
"relatedLei": "5493004SYPRAVRVNK561",
"relatedName": null,
"direction": "child",
"status": "ACTIVE",
"reportingException": null
},
{
"relationshipType": "IS_DIRECTLY_CONSOLIDATED_BY",
"relatedLei": "5493006LHHR4CLPX4Q79",
"relatedName": null,
"direction": "child",
"status": "ACTIVE",
"reportingException": null
},
{
"relationshipType": "IS_DIRECTLY_CONSOLIDATED_BY",
"relatedLei": "549300G81RQKP7XW2N18",
"relatedName": null,
"direction": "child",
"status": "ACTIVE",
"reportingException": null
},
{
"relationshipType": "IS_DIRECTLY_CONSOLIDATED_BY",
"relatedLei": "5493004QI6E3PJNCEB09",
"relatedName": null,
"direction": "child",
"status": "ACTIVE",
"reportingException": null
},
{
"relationshipType": "IS_DIRECTLY_CONSOLIDATED_BY",
"relatedLei": "2549008YU9EOMHFUA249",
"relatedName": null,
"direction": "child",
"status": "ACTIVE",
"reportingException": null
}
],
"securities": "...",
"decision": {
"policyProfile": "investment",
"recommendedAction": "review_with_checks",
"riskScore": 43,
"riskBand": "medium",
"riskFactors": [
"active entity",
"issued LEI registration",
"current renewal",
"no parent relationship reported"
],
"reviewFlags": [
"registration number differs"
],
"identityConfidence": 98,
"identityVerdict": "strong_match",
"ownershipTransparency": "limited",
"onboardingComplexity": "enhanced",
"renewalState": "current"
},
"watchlist": {
"name": "qa-watchlist",
"changeStatus": "first_seen",
"changes": []
}
}

Batch runs also write the PORTFOLIO_SUMMARY key-value output described above. The default dataset remains the place to read the complete entity rows.

💳 Pricing

This Actor uses pay-per-event pricing. You pay once for each accepted LEI entity saved to the dataset. The current event price is $0.00001 per accepted entity.

What is charged

Optional relationship, security, watchlist, and decision fields are part of the saved entity. They do not create extra charge events. A run that saves no entity creates no LEI entity event.

Limits and scope

Leave Max records empty or set it to 0 to return all available results until the source is exhausted. A positive value caps the accepted entities saved in the run. Relationship and securities enrichment can add wait time on large exports, and GLEIF may not provide every address, parent, relationship, ISIN, BIC, or watchlist value. Decision fields are deterministic indicators from GLEIF facts, not legal, compliance, or financial advice.

This Actor uses public GLEIF data. It does not provide sanctions, PEP, adverse media, OFAC, SEC, OpenCorporates, Companies House, or legal advice.

🔌 Integrations

Use the Apify API to start runs and read the default dataset. Export saved rows as JSON, CSV, Excel, XML, RSS, or HTML. Apify can also schedule repeat runs and send run data to supported webhooks and integrations.

Tutorial

❓ FAQ

What happens when the same entity matches more than one input?

The first accepted match is saved. Later matches for the same LEI are ignored, and matchedInput keeps the first name, LEI code, or country code that found the entity.

Can I look up a known LEI code?

Yes. Add the exact 20-character code to queries. The saved row includes the LEI, legal name, registration facts, addresses, and an official GLEIF record link when the source returns a match.

Can I use the output through the Apify API?

Yes. Start the Actor through the Apify API, then read the default dataset or export its saved rows for your workflow.

What happens when I leave Max records empty?

The Actor returns all available results until the source is exhausted. Setting maxRecords to 0 has the same meaning. A positive value limits the number of accepted entities saved.

Why are some fields null or empty?

GLEIF does not expose every relationship, security, address detail, or code label for every entity. Optional fields can also stay empty when the related input switch is off. The Actor keeps unavailable source data empty instead of inventing values.

Do I need a GLEIF API key?

No. The Actor uses public GLEIF data and does not ask for GLEIF credentials, cookies, or a private source account.

No. It uses GLEIF data only. Use a separate source for sanctions, PEP, adverse media, or other risk lists, and get professional advice for legal or compliance decisions.

📝 Changelog

2.0: Streamlined LEI entity results

  • Each saved entity now identifies the input that matched it and includes a direct link to its official GLEIF record.
  • Broad searches can return all available matching entities when Max records is left empty or set to 0.

v1.0

  • Lowered the price for each accepted LEI entity.
  • Added relationship, securities, decision, watchlist, and portfolio-summary data to the public output.

v0.0

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré