GET /companies/by-identifier?type=vat&value=<number> returns the company record the number belongs to; GET /vat/{number} asks the EU VIES service whether the number is valid. Both work with the demo key.
curl 'https://api.prometiam.com/functions/v1/risk-api/companies/by-identifier?type=vat&value=ESA15075062' \ -H 'Authorization: Bearer rk_live_demo_publichn'
Answer of 10 November 2026, shortened (one company object under data, about 60 fields in all):
{
"data": {
"id": 1741526,
"country": "ES",
"company_number": "A15075062",
"company_name": "INDUSTRIA DE DISEÑO TEXTIL, S.A",
"identifiers": [ { "type": "nif", "value": "A15075062" }, { "type": "vat", "value": "ESA15075062" } ],
"vat_number": "ESA15075062",
"vat_number_source": "rule",
"lei": "549300TTCXZOGZM2EY83",
"status": "active",
...
},
"meta": { "resolved_by": "vat_prefix", "country": "ES", ... }
}
The country prefix of the number (ES) chose the register. For a number without a prefix, add country=ES.
curl 'https://api.prometiam.com/functions/v1/risk-api/vat/ESA15075062' \ -H 'Authorization: Bearer rk_live_demo_publichn'
{
"data": {
"vat_number": "ESA15075062",
"country_code": "ES",
"number": "A15075062",
"is_valid": true,
"name": null,
"address": null,
"request_date": "2026-11-09T23:20:56.509Z",
"source": "VIES — VAT Information Exchange System (European Commission)",
"registry_match": {
"company_id": 1741526,
"company_name": "INDUSTRIA DE DISEÑO TEXTIL, S.A",
"address": "AV. DIPUTACIÓN SIN EDIFICIO INDITEX, 15142, ARTEIXO, LA CORUÑA, 15142, ARTEIXO",
"register": "BORME (Registro Mercantil)"
}
},
"meta": { "query_ms": 524, ... }
}
VIES returned no name and no address for this number. registry_match is the company our register data holds under that number, so you still get the name.
| Field | What it tells you |
|---|---|
vat_number | The VAT number of the company, on every company object, also in identifiers as vat. |
vat_number_source register | The register publishes the number, or confirms the registration and the number is the law's format of its identifier. |
vat_number_source rule | The number is built from the company's identifier (Spain: ES plus the NIF). The format is right; the registration is not confirmed. |
is_valid | VIES's answer: true when the number is registered for intra-EU trade. |
registry_match | The company in the register data behind the number, or null if none. |
meta.resolved_by | How the country was found: vat_prefix when the number starts with a country code. |
The two calls answer different questions. Call 1 says which company has the number in the register data; call 2 says whether the tax authority's system currently holds the number as valid. For a rule number, run both.
Each call costs 1 credit, 2 credits for the pair. Errors are free. Starter EUR 9.99 includes 1,000 credits a month, Professional EUR 29.99 10,000, Scale EUR 99.99 50,000.
vat_number is null. That is the case for countries such as GB, IE, DE and US. A search by VAT number is then refused with a 400.rule number is a well-formed guess from the identifier, not proof that the company is registered for VAT.validation_error: the number is malformed for its country. Fetched on 10 November 2026 for ESA1507506: "vat for country=ES is a Spanish company VAT number: ES plus a valid NIF (for example ESA28015865), or the NIF alone".GET /vat/{number} with a malformed number answers 200 with is_valid false and registry_match null.The free trial lasts 14 days and includes 500 credits. A card is required and nothing is charged during the trial; it then continues as Starter (EUR 9.99/month) unless you cancel.