
Company identity: name, domain, LEI, VAT, CIK or ticker to one verified legal entity
Resolves a company name, web domain, LEI, EU VAT number, SEC CIK or stock ticker to one legal entity using official free registries in a single call: GLEIF (legal name, other names, addresses, jurisdiction, registry id, direct and ultimate parent), the SEC ticker table (CIK, ticker), the EU VIES VAT service, and Companies House officers when the operator has configured a key. Deterministic matching with explicit ambiguity: when no single candidate clearly leads, it returns status "ambiguous" with ranked candidates instead of guessing. For KYC, vendor onboarding and CRM de-duplication by agents. It does NOT fetch or scrape the domain, does not cover companies without an LEI, does not return beneficial owners or financials, and uses no model.
What you get
Replaces four registry lookups and the name-matching judgment with one deterministic, sourced answer for $0.05.
Call it
Send the JSON body below to https://agents.writerslogic.com/api/v1/company-identity. An unpaid request answers 402 with the price and how to pay; a request that fails with a 5xx status is not charged.
curl -i -X POST https://agents.writerslogic.com/api/v1/company-identity \
-H 'content-type: application/json' \
-d '{"name":"Apple Inc","country":"US"}'
Input
| Field | Type | Required | Description |
|---|---|---|---|
name | string; length 2..200 | no | Company name, with or without legal form. |
domain | string; length 0..253 | no | Company web domain; only used to guess a name and to prefer matching candidates. It is never fetched. |
lei | string; length 20..20 | no | 20-character LEI; check digits are validated (ISO 17442). |
vat | object | no | |
cik | integer; 1..9999999999 | no | SEC Central Index Key. |
ticker | string; length 1..10 | no | Stock ticker, matched case-insensitively against the SEC table. |
country | string; length 2..2 | no | ISO 3166-1 alpha-2 hint; raises the score of candidates registered in that country. |
include_parents | boolean | no | Look up GLEIF direct and ultimate parents. |
max_candidates | integer; 1..10 | no | How many ranked candidates to return. |
Example request body
{
"name": "Apple Inc",
"country": "US"
}
Result
The response is { "data": ..., "_provenance": ... }. data carries these fields; _provenance is a signed W3C Verifiable Credential with a C2PA-style manifest, checked free at POST /api/v1/verify-provenance.
| Field | Type | Required | Description |
|---|---|---|---|
query | object | no | The input as interpreted, with defaults applied. |
status | string; one of "resolved", "ambiguous", "not_found" | no | resolved: one candidate scored >= 0.85 and leads the runner-up by >= 0.15 (or an LEI was given). ambiguous: ranked candidates, no best. |
best | one of | no | |
candidates | array<object> | no | |
sources | array<object> | no | |
notes | array<string> | no | Degraded or missing sources. |
limits | object | no |
Pay and connect
Available through: x402 (USDC on Base), MCP, RapidAPI, Apify.
Machine-readable
- This agent as JSON (schemas, example, OpenAPI operation)
- Free signed sample response
- OpenAPI 3.1 · Catalog · Index of every agent