Domain to Legal Entity & LEI — GLEIF Company Identity Lookup avatar

Domain to Legal Entity & LEI — GLEIF Company Identity Lookup

Pricing

from $67.00 / 1,000 company records

Go to Apify Store
Domain to Legal Entity & LEI — GLEIF Company Identity Lookup

Domain to Legal Entity & LEI — GLEIF Company Identity Lookup

Resolve a website domain to its registered legal entity and GLEIF LEI — legal name, jurisdiction and active status for KYC, onboarding and counterparty checks.

Pricing

from $67.00 / 1,000 company records

Rating

0.0

(0)

Developer

NexGen Signal

NexGen Signal

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

13 hours ago

Last modified

Categories

Share

Official source. No API key. Pay per record.

Who this is for and the decision it supports

KYC, compliance, onboarding and counterparty-risk teams who need to resolve a website domain to a registered legal entity and its GLEIF Legal Entity Identifier (LEI).

One record answers: what is the registered legal entity behind this domain, does it hold an LEI, and is that entity active — the identity check that gates onboarding, payments, or vendor approval.

Sample output

Sample output — Domain to Legal Entity & LEI — GLEIF Company Identity Lookup

Real rows from a live run of this actor (first 5 rows, selected columns).

One full record from the same run, exactly as delivered:

{
"record_id": "stripe.com",
"domain": "stripe.com",
"company_name": "Stripe",
"website_title": "Stripe | Financial Infrastructure to Grow Your Revenue",
"description": "Stripe is a financial services platform that helps all types of businesses accept payments, build flexible billing models and manage money movement.",
"homepage_status": 200,
"homepage_reachable": true,
"server": "nginx",
"generator": null,
"lei": "894500EDC64T52PGFL08",
"legal_name": "STRIPE",
"legal_jurisdiction": null,
"entity_status": "ACTIVE",
"registration_status": "ISSUED",
"hq_city": "Hoeilaart",
"hq_region": "BE-VBR",
"hq_country": "BE",
"hq_postal_code": "1560",
"lei_match": "exact_name",
"has_lei": true,
"success": true,
"error": null,
"source": "company homepage + GLEIF LEI register",
"source_url": "https://stripe.com",
"licence": "Firmographics are assembled from each company's own public homepage and the public GLEIF Level 1 LEI reference data (Global Legal Entity Identifier Foundation, CC0). Registry values are reproduced verbatim; homepage-derived fields are extracted, not editorialised.",
"attribution": "Sources: the company's public homepage and GLEIF public LEI reference data (gleif.org).",
"disclaimer": "Company-level firmographics from public homepage metadata and the public GLEIF LEI register. Entity and registered-office data only; no officer, director, or contact-person data is collected or emitted. Verify against the primary registry before relying on it.",
"observed_at": "2026-09-25T17:19:30Z"
}

What one record is

Each record is one domain resolved to: homepage identity (company name, title, server), and a GLEIF match (LEI, registered legal name, jurisdiction, entity status, registration status, HQ location) with a match-quality flag.

Your first run

Paste this input and run it:

{
"domains": [
"stripe.com",
"shopify.com"
]
}

Give one or more domains and get back the legal entity and LEI per domain in seconds. Here is a real record from that exact input:

{
"record_id": "stripe.com",
"domain": "stripe.com",
"company_name": "Stripe",
"website_title": "Stripe | Financial Infrastructure to Grow Your Revenue",
"description": "Stripe is a financial services platform that helps all types of businesses accept payments, build flexible billing models and manage money movement.",
"homepage_status": 200,
"homepage_reachable": true,
"server": "nginx",
"generator": null,
"lei": "894500EDC64T52PGFL08",
"legal_name": "STRIPE",
"legal_jurisdiction": null
}

What the sample costs: Billed per run start plus $0.05 per company delivered. The 2-domain sample costs the run-start event plus 2 records.

Pulling in bulk

Feed up to 1,000 domains per run (raise the ceiling for more); each is enriched independently. A buyer feeds 1,000-10,000 domains from a CRM, vendor list or payment file to attach an LEI and legal-entity status to each in one pass.

To expand from the sample: raise Maximum records, and widen any filters shown in the input. You are billed only for records actually delivered, so a sample stays cheap and a full pull is predictable.

When to run it again

Entity status and LEI registration change over time; re-run a domain list to refresh legal-entity status for ongoing monitoring.

Update schedule: GLEIF republishes the LEI reference file daily; the homepage read is live at run time. Verified live: stripe.com resolved to an ACTIVE GLEIF LEI with an ISSUED registration status at run time.

How this is different

This is NOT a sales-firmographics tool. It resolves LEGAL-ENTITY IDENTITY (GLEIF LEI, registered legal name, jurisdiction, status) for KYC/compliance. For industry, headcount, funding and detected tech stack, use NexGenData's Company Enrichment API (nexgendata/company-enrichment-tool) instead — a different job.

Limitations (source coverage vs product coverage)

  • GLEIF matching is name-based: a domain can match a same-named but different legal entity (the match-quality flag tells you how it matched). Treat an exact_name match as a candidate to confirm, not a guaranteed identity.
  • Not all companies hold an LEI; has_lei=false is a real answer, not a failure.
  • Homepage fields come from the site's own public metadata; a site that blocks or hides metadata returns fewer fields.
  • No headcount, funding, industry code, or tech stack — those are a different product (see differentiation).

FAQ

Does this give headcount, revenue or funding?

No. It resolves the legal entity and LEI. For firmographics use NexGenData's Company Enrichment API.

Why did stripe.com match a Belgian entity?

GLEIF matched on legal name; a same-named entity in another jurisdiction can match. Always confirm with the match-quality flag and jurisdiction.

What does an empty/failed record mean?

The homepage was unreachable, or no GLEIF entity matched the name — has_lei=false is returned, not an error.

How much does it cost? You pay $0.1 per company record delivered to your dataset (less on higher Apify plans). Set the record limit in the input to cap what a run can cost. Records that are not delivered are never charged.

How do I get the data out? Every run saves its records to an Apify dataset. You can download it as JSON, CSV, Excel, XML or HTML from the run page, or read it through the Apify API.

Can I run it on a schedule? Yes. Use Apify Schedules to run it daily, weekly or monthly, with the same input each time.

Can I call it from my own code? Yes. Call nexgensignal/company-data-enrichment-api through the Apify API or the Apify Python and JavaScript clients, pass the same JSON input as the form, and read the dataset when the run finishes.

Input fields

Every input this actor accepts, read from its input schema:

FieldTypeDefaultDescription
domains (required)array["stripe.com", "shopify.com"]One or more company domains (e.g. stripe.com). Full URLs are accepted and normalised to the bare domain.
domainstringA single domain (alias for domains).
includeLeibooleantrueMatch each company against the public GLEIF Legal Entity Identifier register for its LEI, legal name, jurisdiction, entity/registration status, and registered head-office address.
maxRecordsinteger10Ceiling on records delivered and billed. Defaults to the number of domains supplied. You are billed only for records delivered.
proxyConfigurationobject{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}Proxy used for homepage and register requests. Residential is recommended for reliable homepage reads.

Output fields

Every field in each delivered record, read from its output schema:

FieldTypeMeaning
record_idstringStable per-domain record id (the normalised domain).
domainstringNormalised company domain.
company_namestringCompany name from the homepage (og:site_name or cleaned title).
website_titlestringHomepage
descriptionstringHomepage meta/og description; any email or phone sequence removed.
homepage_statusintegerHTTP status of the homepage fetch.
homepage_reachablebooleanWhether the homepage returned a usable response.
serverstringServer header (coarse hosting/tech hint).
generatorstringHomepage generator meta tag (CMS/framework hint), verbatim.
leistringLegal Entity Identifier from the GLEIF register.
legal_namestringRegistered legal name from GLEIF, verbatim.
legal_jurisdictionstringLegal jurisdiction (ISO) from GLEIF.
entity_statusstringGLEIF entity status (e.g. ACTIVE), verbatim.
registration_statusstringGLEIF registration status (e.g. ISSUED), verbatim.
hq_citystringRegistered head-office city (organisation address).
hq_regionstringRegistered head-office region (organisation address).
hq_countrystringRegistered head-office country (ISO).
hq_postal_codestringRegistered head-office postal code (organisation address).
lei_matchstringHow the LEI was matched: exact_name, fuzzy, or none.
has_leibooleanWhether an LEI was matched.
successbooleanWhether the domain resolved to a homepage or an LEI.
errorstringReason when nothing resolved; null otherwise.
sourcestringData sources used.
source_urlstringPrimary source URL (the company homepage).
licencestringLicence and reformatting notice.
attributionstringRequired attribution string.
disclaimerstringScope and person-data disclaimer.
observed_atstringUTC retrieval timestamp.
  • nexgendata/company-enrichment-tool — firmographics: industry, headcount, funding, tech (the sales-enrichment counterpart)
  • world-bank-project-records — public-sector counterparties and projects
  • eu-regulatory-change-records — EU legal acts for compliance monitoring

Source, licence and how it is built

Source and licence are carried on every record (source, licence, attribution, observed_at). The actor reads only the official public endpoint, honours the source's robots and licence terms, and emits values unmodified with full provenance. Records are keyed on a stable id so re-runs upsert cleanly into a table you keep. Row delivery and billing are exactly equal: you are charged once per record delivered (push-then-charge), so an empty run costs nothing.

Part of NexGen Signal — official-source data products.