apyhub
DATA VALIDATION · MARKETING

Company KYB Lookup API

What it does

Company KYB Lookup helps you verify and enrich business records from a few identifiers. Send a company lei, vat, name, country, and an optional limit, and get back a JSON envelope with a numeric code, a success flag, and module blocks in the response body.

Use it when you need to check whether a business is real, match a customer record against known company identifiers, or reduce manual review in onboarding and compliance flows. Because the endpoint accepts either an LEI, VAT number, or company name, you can start with whatever identifier you already have in your system.

The response is wrapped in a simple envelope, so you can branch on success and code before reading the returned module data. That makes it a fit for KYB checks, vendor onboarding, account verification, and internal lookup tools where you need a structured company result without building your own registry search layer.

Set limit when you want to control how many matches are returned, up to 25.

GET
Company / KYB Lookup
https://api.eu.apyhub.com/quadlem/company-kyb-lookup

QUICKSTART

GUIDE

Quickstart

Use the following request to search for companies by name and retrieve matching business registration details from supported registries.

curl -X GET "https://api.eu.apyhub.com/quadlem/company-kyb-lookup?name=Acme%20Corporation&limit=10" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

A successful request returns the search query, the number of matched companies, the registries that were searched, and details for each matching entity.

{
  "success": true,
  "code": 200,
  "query": {
    "name": "Acme Corporation",
    "country": null,
    "vat": null,
    "lei": null,
    "limit": 10
  },
  "count": 6,
  "sources_checked": [
    "gleif"
  ],
  "results": [
    {
      "legal_name": "ACME CORPORATION",
      "registration_number": "08ABRPG5470E2ZH",
      "lei": "894500MZLORSA869H350",
      "country": "IN",
      "status": "ACTIVE",
      "address": {
        "city": "JAIPUR",
        "postal_code": "302006",
        "country": "IN"
      },
      "match_confidence": 1
    }
  ]
}

Note: The results array is truncated in this example. The full response returns up to the specified limit of matching companies across all supported registries that were searched.

TRY ITLIVE · 40 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Looks up business/company records by name, VAT number, or LEI across trusted registries (GLEIF, EU VIES, France recherche-entreprises, UK Companies House), returning matched legal entities with registration details, address, and a match-confidence score.

Query Parameter(s)

AttributeTypeMandatoryDescription
nameStringNoBusiness/legal name. Provide at least one of name, vat, lei.
countryStringNoISO alpha-2 country code — narrows the search.
vatStringNoVAT number (country prefix + digits).
leiStringNoLegal Entity Identifier.
limitIntegerNoMaximum number of results. Default: 10. Max: 25.

Response

AttributeTypeDescription
successBooleanWhether the request succeeded.
codeIntegerNumeric response code.
queryObjectThe submitted search parameters.
countIntegerNumber of results returned.
sources_checkedArrayRegistries queried (e.g. gleif, vies).
resultsArrayMatched company records.
results[].legal_nameStringRegistered legal name.
results[].other_namesArrayKnown alternate/trading names.
results[].registration_numberStringLocal company registration number.
results[].leiStringLegal Entity Identifier, if available.
results[].vatString or nullVAT number, if matched.
results[].vat_validBoolean or nullWhether the VAT number is valid.
results[].country / jurisdictionStringCountry and legal jurisdiction.
results[].legal_formStringRegistry legal-form code.
results[].statusStringEntity status (e.g. ACTIVE).
results[].registration_statusStringLEI registration status (e.g. ISSUED, LAPSED).
results[].incorporation_dateStringDate of incorporation.
results[].addressObjectRegistered address.
results[].officersArray or nullKnown officers, where available.
results[].source_urlStringLink to the source registry record.
results[].match_confidenceNumberConfidence the record matches the query (0–1).
results[].sourcesArrayRegistries this record was found in.
model_versionStringCompany lookup model version.

Query parameters

Name
Type
Description
leiOPTIONAL
string
vatOPTIONAL
string
nameOPTIONAL
string
limitOPTIONAL
integer
DEFAULT 10
countryOPTIONAL
string
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.