Skip to content

GET /v1/firms/resolve

Call GET /v1/firms/resolve
Price free
Scope index:read
Operation id resolveFirm

Turn a domain, name (with country), LEI, CIK, CRD or Companies House number into Verdict’s firm id and identifier crosswalk. Give exactly one reference parameter. Call it to dedupe companies or to get a firm_id before other calls; qualify_firm resolves on its own, so you do not need it first. Free. Unresolved references return a provisional firm (matched_on: provisional). Scope: index:read.

Copy it as curl. Set VERDICT_API_KEY first; uuidgen makes a fresh Idempotency-Key.

Request
curl -X GET 'https://api.askverdict.io/v1/firms/resolve?domain=northfieldcapital.com&country=US&lei=549300ABCDEF12345678&cik=1601234&crd=298765&companies_house=09876543' \
-H "Authorization: Bearer $VERDICT_API_KEY"

200: The resolved firm.

200 response
{
"firm": {
"id": "frm_01JC3Z4Y8R9K2M5N7P1Q3S5T7V",
"name": "Northfield Capital Advisors LLC",
"domain": "northfieldcapital.com",
"identifiers": {
"crd": "298765",
"lei": "549300ABCDEF12345678"
},
"type": "investment_adviser",
"size_band": "small",
"hq": {
"country": "US",
"region": "MA",
"city": "Boston"
},
"status": "active",
"provisional": false,
"crosswalk": [
{
"kind": "crd",
"value": "298765",
"source": "sec_edgar",
"observed_at": "2026-10-28"
},
{
"kind": "lei",
"value": "549300ABCDEF12345678",
"source": "gleif",
"observed_at": "2026-11-02"
},
{
"kind": "domain",
"value": "northfieldcapital.com",
"source": "sec_edgar",
"observed_at": "2026-10-28"
},
{
"kind": "name_variant",
"value": "Northfield Capital",
"source": "wikidata",
"observed_at": "2026-10-30"
}
],
"created_at": "2026-09-14T08:12:00Z",
"updated_at": "2026-11-02T06:40:00Z"
},
"matched_on": "domain"
}
Name In Type Required Description
domain query string no Resolve by web domain.
name query string no Resolve by name; add country to disambiguate.
country query string no Country hint for name.
lei query string no Resolve by LEI.
cik query string no Resolve by SEC CIK.
crd query string no Resolve by CRD number.
companies_house query string no Resolve by Companies House number.
x-verdict-version header string no API version to use, a date. Defaults to the version current when the key was created. The current version is 2026-11-01.

Schema ResolveFirmResponse.

Field Type Required Description
firm Firm yes A canonical firm with its public facts and identifier crosswalk.
firm.id string yes The firm id.
firm.name string yes Canonical firm name.
firm.domain string or null yes Primary web domain, if known.
firm.identifiers object yes Registry identifiers, by kind.
firm.identifiers.lei string no Legal Entity Identifier.
firm.identifiers.cik string no SEC Central Index Key.
firm.identifiers.crd string no CRD number.
firm.identifiers.companies_house string no UK Companies House number.
firm.identifiers.wikidata string no Wikidata item id.
firm.type enum: “operating_company”, “investment_adviser”, “broker_dealer”, “investment_fund”, “nonprofit”, “public_body”, “other”, “unknown” yes Coarse firm type.
firm.size_band enum: “micro”, “small”, “medium”, “large”, “enterprise”, “unknown” yes Employee-count size band.
firm.hq object yes Headquarters location.
firm.hq.country string or null yes ISO 3166-1 alpha-2 country.
firm.hq.region string or null yes State, county or region, as the registry gives it.
firm.hq.city string or null yes City.
firm.status enum: “active”, “inactive”, “dissolved”, “unknown”, “merged” yes Registry status.
firm.provisional boolean yes True when the firm was created from an unresolved reference and awaits nightly reconciliation.
firm.crosswalk array of object yes Every known identifier, including name variants and secondary domains, with its source.
firm.crosswalk[].kind enum: “domain”, “lei”, “cik”, “crd”, “companies_house”, “wikidata”, “name_variant” yes Identifier kind.
firm.crosswalk[].value string yes Identifier value.
firm.crosswalk[].source enum: “sec_edgar”, “gleif”, “companies_house”, “wikidata”, “request” yes Source that reported the identifier: an index source, or request when it came from a caller’s reference (provisional firms).
firm.crosswalk[].observed_at string (date) yes Date the source last reported the identifier.
firm.created_at string (date-time) yes When the firm entered the index.
firm.updated_at string (date-time) yes When the firm’s record last changed.
matched_on enum: “identifier”, “domain”, “name_and_country”, “match_decision”, “provisional” yes How the reference was matched.

Errors are RFC 9457 problem details and are never billed. Branch on type. See Errors.

Status Meaning
400 Invalid request: malformed JSON, an unknown field, a failed constraint or a size limit (invalid_request).
401 Missing, malformed, revoked or expired API key, or a bad webhook signature (unauthorized).
403 The key lacks the scope this operation needs (forbidden_scope).
429 Rate limited (rate_limited). Wait Retry-After seconds.
500 Unexpected server error (internal). Not billed; retry with the same Idempotency-Key.

Open the interactive reference to send this request from the browser. The full document is at /openapi.json.