A Lithuanian company has two identifiers that look alike and are issued by different bodies: a 9-digit company code from the register and a VAT number from the tax inspectorate. Here is how to check both.
The company code (juridinio asmens kodas, or įmonės kodas) is exactly 9 digits and is issued by the Register of Legal Entities (JAR), run by Registrų centras; for example 110053842 is Lietuvos geležinkeliai. Its ninth digit is a check digit, so a code that fails it is not a Lithuanian company code. The VAT number (PVM mokėtojo kodas) is LT followed by 9 or 12 digits, issued by the State Tax Inspectorate (VMI), for example LT100538411. It cannot be computed from the company code, and not every company has one, only those that are VAT payers.
That is why a Lithuanian VAT check is really two lookups: find the company by its code, then read the VAT number the tax inspectorate's list holds for it, or start from a VAT number and find the company it belongs to. The same two codes appear on the sales and purchase invoices that Lithuanian VAT payers report to VMI in their i.SAF files, and an invoice with a mistyped counterparty code is a common error. Prometiam does not file or validate i.SAF files; it checks the counterparty against the register.
# by company code (the check digit is enforced) curl 'https://api.prometiam.com/functions/v1/risk-api/companies/search?country=LT&company_number=301844044' \ -H 'Authorization: Bearer rk_live_...' # by VAT number, from the VMI list curl 'https://api.prometiam.com/functions/v1/risk-api/companies/search?country=LT&vat=LT100004278519' \ -H 'Authorization: Bearer rk_live_...' # is the VAT number valid in the EU right now (VIES) curl 'https://api.prometiam.com/functions/v1/risk-api/vat/LT100004278519' \ -H 'Authorization: Bearer rk_live_...'
The first two return the same company: AB "Ignitis grupė", with vat_number set to LT100004278519 and vat_number_source set to register, because the number comes from the VMI list. For a company that is not on the list vat_number is null. GET /vat/{number} is a separate check against the EU VIES service, which answers whether the number is currently valid for intra-EU trade; a number can be on the VMI list and still need the VIES answer for a specific cross-border sale.
import requests
BASE = "https://api.prometiam.com/functions/v1/risk-api"
H = {"Authorization": "Bearer rk_live_..."}
def lt_counterparty(company_code):
r = requests.get(f"{BASE}/companies/search", headers=H,
params={"country": "LT", "company_number": company_code})
data = r.json().get("data", [])
if not data:
return None
c = data[0]
return c["company_name"], c["status"], c.get("vat_number")
print(lt_counterparty("301844044"))
# ('AB "Ignitis grupė"', 'active', 'LT100004278519')
| Field | What it holds |
|---|---|
company_name, company_number | Legal name and the 9-digit company code |
legal_form, legal_form_full | The legal form, such as UAB, AB or MB |
status, local_status | Standard status and the register's own wording, including liquidation, bankruptcy and restructuring |
address, city, region | Registered address and county |
nace_code, evrk_code | The NACE Rev. 2.1 class (EVRK 2.1) and the 6-digit national code |
capital_amount | Share capital, for UAB and AB only |
vat_number, vat_number_source | VAT number from the VMI list, or null |
status.Contains data from the Register of Legal Entities (JAR), Registrų centras, the State Data Agency (Statistics Lithuania) and the State Tax Inspectorate (VMI), CC BY 4.0. Adapted by Prometiam.
Starter is EUR 9.99/month (1,000 credits), Professional EUR 29.99 (10,000 credits), Scale EUR 99.99 (50,000 credits) and Enterprise is priced to order. A company record costs 1 credit, about EUR 0.01 on Starter and from EUR 0.002 on Scale; error responses cost nothing. The 14-day free trial includes 500 credits, needs a card, charges nothing during the trial and then continues as Starter unless you cancel. Prices are public and there is no sales call. See pricing.
Start your 14-day free trial · API documentation
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.