Latvia Company Registry Scraper avatar

Latvia Company Registry Scraper

Pricing

from $12.75 / 1,000 results

Go to Apify Store
Latvia Company Registry Scraper

Latvia Company Registry Scraper

Look up Latvian companies by name or registration number and export their full profile: legal form, status, registered address, board members and officers, beneficial owners, shareholders and equity capital. Export to JSON, CSV or Excel.

Pricing

from $12.75 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

Latvia Company Registry Scraper

Latvia Company Registry Scraper

Here is one real result, with every field the actor returns:

{
"name": "Akciju sabiedrība \"Kurzemes degviela\"",
"regNumber": "40003229495",
"status": "Active",
"legalForm": "Akciju sabiedrība",
"legalFormCode": "AS",
"registerType": "Komercreģistrs",
"registeredDate": "1994-11-22",
"terminatedDate": null,
"address": "Saldus nov., Saldus pag., \"Torņi\"",
"postalIndex": "3862",
"sepaCode": "LV92ZZZ40003229495",
"officerCount": 1,
"primaryOfficerName": "Lūsiņš Argods",
"primaryOfficerRole": "Chair Of Board",
"officers": ["Lūsiņš Argods - Chair Of Board"],
"beneficialOwnerCount": 2,
"primaryBeneficialOwner": "Argods Lūsiņš",
"primaryBeneficialOwnerNationality": "LV",
"beneficialOwners": ["Argods Lūsiņš - LV", "Antra Lūsiņa - LV"],
"shareholderCount": 0,
"shareholders": [],
"capitalAmount": 2176655.4,
"capitalCurrency": "EUR",
"capitalType": "Apmaksātais pamatkapitāls",
"financialYear": null,
"employees": null,
"revenue": null,
"profitBeforeTax": null,
"netIncome": null,
"financialsCurrency": null,
"matchedBy": "registrationNumber",
"sourceQuery": "40003245752, 40003229495",
"source": "Latvia Enterprise Register",
"observedAt": "2026-07-16T16:45:46.109Z",
"error": null
}

Note: in the source, each officers and beneficialOwners string joins the name and role/nationality with a long dash (for example Lūsiņš Argods [dash] Chair Of Board). It is shown here as a hyphen (-); the names and roles are unchanged. This company had no annual report on file, so the financial fields are genuinely null.

The most complete Latvia company registry scraper available. It returns every field the Latvian Enterprise Register exposes per company, including officers, beneficial owners (UBO), shareholders, share capital and the latest annual-report financials, plus optional contact enrichment, searchable by name or registration number.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor searches the Latvian Enterprise Register (Uzņēmumu reģistrs) for each company name or registration number you pass, and writes one normalized record per company to the run's dataset. Each record includes the legal name, registration number, status, legal form, register type, registered and terminated dates, address and SEPA creditor ID, plus the full officer list, beneficial owners (UBO) with nationality, shareholders, share capital, and the latest annual-report financials (year, employees, revenue, profit before tax, net income). Missing source values are returned as null.

An optional contact-enrichment add-on (enrichContacts, paid) attempts to find a public business email and contact person for results without one, billed only when an email is found.

Quickstart

Open the actor, paste this into the input, and press Run. It looks up Swedbank in the Latvian register.

{
"companyNames": ["Swedbank"],
"maxCompanies": 10
}

For exact, fast lookups pass registration numbers directly in registrationNumbers (for example 40003245752). You can combine names and registration numbers in a single run.

Input reference

FieldTypeRequiredDefaultDescription
companyNamesstring[]no["Swedbank"]Company names or name fragments to search for. One run searches every name in the list.
registrationNumbersstring[]no(empty)Exact Latvian registration numbers (regcode) to fetch, for example 40003245752. Fastest and most precise.
maxCompaniesintegerno20Maximum companies to return across the whole run.
enrichContactsbooleannofalsePaid add-on. For results without an email, attempt to find a public business email and contact name. Billed per attempt, plus extra when an email is found.
enrichContactsMaxintegerno50Cap how many results the enrichment add-on tries. Free Apify accounts are capped at 3.

Output reference

One dataset item per company. Types: string, integer, number, string[], or null when the source value is absent.

FieldTypeDescription
namestringCompany name.
regNumberstringRegistration number (regcode).
statusstringCompany status, for example Active, Terminated.
legalFormstringLegal form name.
legalFormCodestringLegal form code, for example AS, SIA, FIL.
registerTypestringRegister the company sits in, for example Komercreģistrs.
registeredDatestringRegistration date (YYYY-MM-DD).
terminatedDatestringTermination date, or null if active.
addressstringRegistered address.
postalIndexstringPostal index.
sepaCodestringSEPA creditor ID, or null.
officerCountintegerNumber of officers / board members.
primaryOfficerNamestringPrimary officer name.
primaryOfficerRolestringPrimary officer role.
officersstring[]Officers / board members (name and role).
beneficialOwnerCountintegerNumber of beneficial owners (UBO).
primaryBeneficialOwnerstringPrimary beneficial owner name.
primaryBeneficialOwnerNationalitystringPrimary beneficial owner nationality (ISO code).
beneficialOwnersstring[]Beneficial owners (name and nationality).
shareholderCountintegerNumber of shareholders.
shareholdersstring[]Shareholders.
capitalAmountnumberShare capital amount, or null.
capitalCurrencystringShare capital currency, for example EUR.
capitalTypestringCapital type.
financialYearintegerYear of the latest filed annual report, or null.
employeesintegerEmployees in the latest annual report, or null.
revenuenumberNet turnover for the latest reported year, or null.
profitBeforeTaxnumberIncome before taxes for the latest reported year, or null.
netIncomenumberNet income (profit or loss) for the latest reported year, or null.
financialsCurrencystringCurrency of the reported financials.
matchedBystringHow the record matched: companyName or registrationNumber.
sourceQuerystringThe query that produced this record.
sourcestringData source. Always the Latvia Enterprise Register.
observedAtstringISO 8601 timestamp of when the record was collected.
enrichedEmailstringPublic business email found by the enrichment add-on, or null.
enrichedContactNamestringContact person name found, or null.
enrichedJobTitlestringContact job title, or null.
enrichedEmailStatusstringEmail confidence: verified, likely, guessed, or not_found.
enrichedSourcestringWhere the enriched contact was found, or null.
enrichedConfidencenumberEnrichment confidence score, or null.
errorstringnull on success. On a failed run, a single item with a populated error field is written instead.

Example output record

Real record from a live run (input {"companyNames":["airBaltic"],"registrationNumbers":["40003245752","40003229495"],"maxCompanies":10}). The officers and beneficialOwners strings joined name and role with a long dash in the source; shown here as a hyphen.

{
"name": "Akciju sabiedrība \"Kurzemes degviela\"",
"regNumber": "40003229495",
"status": "Active",
"legalForm": "Akciju sabiedrība",
"legalFormCode": "AS",
"registerType": "Komercreģistrs",
"registeredDate": "1994-11-22",
"terminatedDate": null,
"address": "Saldus nov., Saldus pag., \"Torņi\"",
"postalIndex": "3862",
"sepaCode": "LV92ZZZ40003229495",
"officerCount": 1,
"primaryOfficerName": "Lūsiņš Argods",
"primaryOfficerRole": "Chair Of Board",
"officers": ["Lūsiņš Argods - Chair Of Board"],
"beneficialOwnerCount": 2,
"primaryBeneficialOwner": "Argods Lūsiņš",
"primaryBeneficialOwnerNationality": "LV",
"beneficialOwners": ["Argods Lūsiņš - LV", "Antra Lūsiņa - LV"],
"shareholderCount": 0,
"shareholders": [],
"capitalAmount": 2176655.4,
"capitalCurrency": "EUR",
"capitalType": "Apmaksātais pamatkapitāls",
"matchedBy": "registrationNumber",
"sourceQuery": "40003245752, 40003229495",
"source": "Latvia Enterprise Register",
"observedAt": "2026-07-16T16:45:46.109Z",
"error": null
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~latvia-companies-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"registrationNumbers":["40003245752"],"maxCompanies":10}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~latvia-companies-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"companyNames":["Air Baltic","Swedbank"],"maxCompanies":50}'

Apify CLI:

apify call scrapers_lat/latvia-companies-scraper \
--input '{"companyNames":["Swedbank"],"maxCompanies":10}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per company record returned (result event). See the pricing tab for the current per-result price.
  • Add-on billed separately. Contact enrichment is billed per attempt plus extra when an email is found.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run, and contact enrichment is capped at 3 attempts. Upgrade for higher maxCompanies and full enrichment.

FAQ and troubleshooting

A run returned 0 records. Why? The name or registration number matched nothing in the register. Check spelling, try a shorter name fragment, or use the exact regcode. Zero-result runs are not charged.

What is the fastest way to pull specific companies? Pass their registration numbers in registrationNumbers. This skips the name search and matches exactly.

Do I get beneficial owners (UBO)? Yes. beneficialOwners, beneficialOwnerCount, primaryBeneficialOwner and the nationality are captured for KYB and compliance workflows.

Why are the financial fields null? The company had no annual report on file for a recent year. Financials populate when a filed annual report is available. Missing values are returned as null, never invented.

Can I get a contact email? Turn on enrichContacts (paid). For each result without an email, the add-on attempts to find a public business email and contact name, with an enrichedEmailStatus confidence label.

Is this an official register tool? No. This actor is independent and has no affiliation with the Latvian Enterprise Register. It reads only data the register publishes publicly. Use it in accordance with the register's terms.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with the Latvian Enterprise Register. Accesses only publicly available register data. Use in accordance with the register's terms.