Domain to Legal Entity & LEI — GLEIF Company Identity Lookup
Pricing
from $67.00 / 1,000 company records
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
Maintained by CommunityActor 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

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:
| Field | Type | Default | Description |
|---|---|---|---|
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. |
domain | string | A single domain (alias for domains). | |
includeLei | boolean | true | Match each company against the public GLEIF Legal Entity Identifier register for its LEI, legal name, jurisdiction, entity/registration status, and registered head-office address. |
maxRecords | integer | 10 | Ceiling on records delivered and billed. Defaults to the number of domains supplied. You are billed only for records delivered. |
proxyConfiguration | object | {"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:
| Field | Type | Meaning |
|---|---|---|
record_id | string | Stable per-domain record id (the normalised domain). |
domain | string | Normalised company domain. |
company_name | string | Company name from the homepage (og:site_name or cleaned title). |
website_title | string | Homepage |
description | string | Homepage meta/og description; any email or phone sequence removed. |
homepage_status | integer | HTTP status of the homepage fetch. |
homepage_reachable | boolean | Whether the homepage returned a usable response. |
server | string | Server header (coarse hosting/tech hint). |
generator | string | Homepage generator meta tag (CMS/framework hint), verbatim. |
lei | string | Legal Entity Identifier from the GLEIF register. |
legal_name | string | Registered legal name from GLEIF, verbatim. |
legal_jurisdiction | string | Legal jurisdiction (ISO) from GLEIF. |
entity_status | string | GLEIF entity status (e.g. ACTIVE), verbatim. |
registration_status | string | GLEIF registration status (e.g. ISSUED), verbatim. |
hq_city | string | Registered head-office city (organisation address). |
hq_region | string | Registered head-office region (organisation address). |
hq_country | string | Registered head-office country (ISO). |
hq_postal_code | string | Registered head-office postal code (organisation address). |
lei_match | string | How the LEI was matched: exact_name, fuzzy, or none. |
has_lei | boolean | Whether an LEI was matched. |
success | boolean | Whether the domain resolved to a homepage or an LEI. |
error | string | Reason when nothing resolved; null otherwise. |
source | string | Data sources used. |
source_url | string | Primary source URL (the company homepage). |
licence | string | Licence and reformatting notice. |
attribution | string | Required attribution string. |
disclaimer | string | Scope and person-data disclaimer. |
observed_at | string | UTC retrieval timestamp. |
Related actors
- 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.