Skip to content
TruePointTruePointData

API reference

Match a company

Resolve a domain to a company we hold, with nothing else attached. Free, and intended to be called constantly.

Beta
GET/api/v1/public/company/match

Free. Identity resolution is plumbing: an integration calls it on every inbound record to decide whether enriching is worth a credit, so metering it would tax the step that keeps your spend efficient while earning us almost nothing. It is rate-limited per key instead. A miss answers 200 with matched:false and charges nothing — it is an outcome, not an error.

Parameters

NameTypeDescription
domainstringRequiredA registrable domain. A full URL or a leading www. is accepted and normalised — send what you have.

Returns

FieldTypeDescription
matchedbooleanWhether a company was found.
company.domainstringThe canonical registrable domain. This is the identifier every other call takes.
company.namestringCanonical company name.
credits_chargednumberAlways 0 for this endpoint.

Example

bash
curl "https://api.truepoint.in/api/v1/public/company/match?domain=acme.com" \
  -H "Authorization: Bearer $TRUEPOINT_API_KEY"
json
{
  "matched": true,
  "company": { "domain": "acme.com", "name": "Acme" },
  "credits_charged": 0
}

Errors

StatusTypeMeaning
422validation_errorThe request failed validation — a missing identifier, or a value we could not parse. 422 rather than 400: the request was well-formed, its contents were not.
401invalid_tokenMissing, malformed, unknown or revoked API key. All four answer identically on purpose — the endpoint must not confirm which keys exist.
403insufficient_scopeThe key is valid but was not minted with the scope this endpoint requires.
402insufficient_creditsThe balance cannot cover this call. Nothing was charged and nothing was returned. Carries `balance` and `required`.
429rate_limitedToo many requests for this key. Carries `retryAfterSeconds`. Retries are safe and are not billed.
500internalSomething failed on our side. Nothing was charged. Retry with backoff.