Skip to main content
POST
/
api
/
v1
/
validate
POST /validate
curl --request POST \
  --url https://api.getbeta.io/api/v1/validate \
  --header 'Content-Type: application/json' \
  --data '
{
  "company": "<string>"
}
'
{
  "verified": true,
  "confidence": 123,
  "entity": {
    "entity.key": "<string>",
    "entity.name": "<string>",
    "entity.type": "<string>",
    "entity.ticker": {},
    "entity.sector": {},
    "entity.industry": {},
    "entity.publicUrl": {}
  },
  "resolution": {
    "resolution.source": "<string>",
    "resolution.confidence": 123
  },
  "message": {}
}

Use case

Resolve a company name from a customer email, chat message, or CRM record into a canonical BETA entity before calling other endpoints. /validate is a fast cache lookup — call it first to avoid wasted lookups on unknown or low-confidence inputs.

Request

company
string
required
Company name to validate. Must be 2–200 characters.

Response

verified
boolean
true if BETA resolved the input. Always check resolution.confidence alongside this — verified: true with low confidence means a fuzzy/fallback match, not a confident one.
confidence
number
Confidence score (0–1) for the entity match.
entity
object
Canonical entity record. null when verified: false.
resolution
object
Provenance metadata — see Citation Contract.
message
string | null
Present when verified: false — explanation, e.g., "Company not found in database".

Code samples

curl -X POST https://api.getbeta.io/api/v1/validate \
  -H "Authorization: Bearer $BETA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company": "Anthropic"}'

Live response

{
  "verified": true,
  "confidence": 1,
  "entity": {
    "key": "anthropic",
    "name": "Anthropic",
    "type": "private_company",
    "ticker": null,
    "sector": null,
    "industry": "technology",
    "publicUrl": "https://getbeta.io/company/anthropic"
  },
  "resolution": {
    "source": "curated",
    "confidence": 1
  }
}

Errors

StatusBodyWhen
400{"error": "Company name required"}Missing company field
400{"error": "Company name must be 2-200 characters"}Length out of range
401{"error": "API key required"}Missing Authorization header
401{"error": "Invalid API key"}Key not found or revoked
429{"error": "Daily rate limit exceeded"}Per-tier limit hit (see Pricing)

Citation pointer

See Citation Contract for how resolution.source and resolution.confidence are populated — and why verified: true with resolution.source: "sec_fallback" is not the same trust signal as resolution.source: "curated".