Czech ARES Company Registry Scraper avatar

Czech ARES Company Registry Scraper

Pricing

Pay per event

Go to Apify Store
Czech ARES Company Registry Scraper

Czech ARES Company Registry Scraper

Look up Czech companies in the official ARES registry by IČO or free-text business name — identity, registered address, NACE activity codes, and active registry sub-sources, as clean, flattened JSON/CSV/Excel rows for KYC, AML, and B2B lead-gen workflows.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Categories

Share


🎯 What this scrapes

The Czech Ministry of Finance publishes company records through ARES (Administrativní registr ekonomických subjektů), a keyless, unauthenticated JSON API with a documented, generous 500-requests/minute ceiling and both ID-lookup and name-search in the same API. No visible rival currently holds a Czech ARES-specific listing on the Apify Store. This Actor takes a batch of IČOs and/or free-text business names, flattens each match into a single typed row, and lets you pick exactly which sections you need so you never pay transfer for data you didn't ask for.

🔥 What we handle for you

  • 🧊 Flattens ARES's nested JSON envelope into one clean row — identity, address, NACE codes, and active registrations, picked via a Sections filter so you only pay transfer for what you need.
  • 🔢 IČOs stay strings, always — leading zeros never get stripped by a spreadsheet export or an overeager number cast.
  • 🔁 We retry transient 429/5xx responses with exponential backoff, honouring Retry-After when ARES sends one.
  • 🩹 Per-item fault isolation — one bad IČO or missing sub-key logs a warning and moves on; it never crashes the run.
  • 🧱 Honest not-found handling — an unknown IČO or a zero-match search still finishes SUCCEEDED with found: false, never a crashed run.
  • 💰 Pay-Per-Event pricing — a delivered answer (found or not) still costs you $0.01; invalid input costs nothing.
  • 🧱 Rate-limit-aware pacing — concurrency capped well under ARES's documented 500-requests/minute ceiling, so a big batch never trips the Ministry's throttle.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, ready for JSON / CSV / Excel export straight from the Apify Console.

💡 Use cases

  • Run a KYC/AML check on a Czech counterparty by IČO before onboarding.
  • Build a Czech B2B prospect list from a batch of business names.
  • Verify NACE activity codes and active registrations for a due-diligence file.
  • Screen a supplier or partner list for companies missing from the register.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
icosarrayno['27074358', '45317054', '00000000']Czech IČO company IDs to look up directly via the detail endpoint. Normalized to exactly 8 digits (zero-padded string,…
searchQueriesarrayno[]Free-text business names to search via the name-search endpoint. Up to 50 per run, 200 chars each.
enrichWithDetailbooleannoFalseFor search-mode hits only: follow up each match with a detail lookup (adds VAT ID, founding date, NACE codes, active…
resultsPerQueryintegerno20Page size per search query. v1 fetches one page per query; total_matches on each row tells you if more exist.
sectionsarrayno['identity', 'address', 'nace', 'registrations']Which flattened sections to project per row — the fewer you request, the leaner (and cheaper to transfer) each row is.
proxyConfigurationobjectno{'useApifyProxy': False}ares.gov.cz is a public keyless government JSON API with no anti-bot observed — leave this off unless your account…

Example input

{
"icos": [
"27074358",
"45317054",
"00000000"
],
"searchQueries": [],
"enrichWithDetail": false,
"resultsPerQuery": 20,
"sections": [
"identity",
"address",
"nace",
"registrations"
],
"proxyConfiguration": {
"useApifyProxy": false
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
query_typestringWhich input list produced this row: 'ico' or 'search'.
icostring8-digit IČO — the input value (ico-mode) or the matched company's IČO (search-mode).
ico_idstringARES's alternate id for entities lacking a plain ico (search-mode only).
search_querystringThe free-text query that produced this row (search-mode only).
total_matchesintegerpocetCelkem for this query (search-mode only).
foundbooleanFalse for a 404'd IČO or a zero-match search query — not a failure.
warningstringPopulated when found is false, a lookup failed after retries, or a requested section degraded.
namestringRegistered entity name (identity section).
legal_form_codestringLegal form code (identity section).
founding_datestringISO YYYY-MM-DD, detail-only (identity section).
vat_idstringVAT ID, detail-only (identity section).
tax_officestringTax office, search-mode-only field (identity section).
last_updatedstringLast-updated date (identity section).
address_streetstringRegistered street (address section).
address_house_numberstringRegistered house number (address section).
address_orientation_numberstringRegistered orientation number (address section).
address_citystringRegistered city (address section).
address_postal_codestringRegistered postal code (address section).
address_country_namestringRegistered country name (address section).
address_country_codestringRegistered country code (address section).
address_full_textstringFull registered address as a single string (address section).
nace_codesarrayNACE business-activity codes, detail-only (nace section) — empty list when not requested or none on file.
active_registrationsarraySimplified names of registry sub-sources currently active, detail-only (registrations section) — empty list when not…
source_urlstringThe exact detail or search URL queried for this row.
scraped_atstringISO 8601 UTC timestamp when this row was recorded.

Example output

{
"query_type": "ico",
"ico": "27074358",
"ico_id": null,
"search_query": null,
"total_matches": null,
"found": true,
"warning": null,
"name": "Asseco Central Europe, a.s.",
"legal_form_code": "121",
"founding_date": "2004-06-25",
"vat_id": "CZ27074358",
"tax_office": null,
"last_updated": "2026-08-30",
"address_street": "Bud\u011bjovick\u00e1",
"address_house_number": "778",
"address_orientation_number": "3",
"address_city": "Praha",
"address_postal_code": "14000",
"address_country_name": "\u010cesk\u00e1 republika",
"address_country_code": "CZ",
"address_full_text": "Bud\u011bjovick\u00e1 778/3, 14000 Praha",
"nace_codes": [
"6201Z",
"6202Z"
],
"active_registrations": [
"Obchodn\u00ed rejst\u0159\u00edk",
"Registr pl\u00e1tc\u016f DPH"
],
"source_url": "https://ares.gov.cz/ekonomicke-subjekty-v-be/rest/ekonomicke-subjekty/27074358",
"scraped_at": "2026-09-08T12:00:00+00:00"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.2One-off warm-up charge per run
result-scraped$0.01Per unique dataset item

Example: 1 000 results at the rates above ≈ $10.20. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

  • No auto-pagination across multiple search pages per query in v1 — resultsPerQuery caps at 100 and total_matches tells you if more exist.
  • Search is by business name only — not by IČO substring, VAT ID, or address.
  • Only current-state data is returned; no historical/change-log data.
  • ARES documents a 500-requests/minute ceiling in the Ministry of Finance's open-data docs — we keep concurrency well under it by default, so very large batches take proportionally longer rather than risking a throttle.

❓ FAQ

Do I need an API key?

No. ares.gov.cz is a public Czech Ministry of Finance API and needs no credentials — leave the proxy setting off too.

What happens if an IČO doesn't exist?

The row comes back with found: false and a warning describing what was queried — the run still finishes SUCCEEDED, you're never billed for a failed run just because one IČO was wrong.

Can I search by VAT ID or address instead of a name?

Not in v1 — ARES's keyless search endpoint takes a business name only. Look up the IČO first if you only have a VAT ID or address.

Why do some fields come back null in search mode?

Search rows are lighter than detail records. Set enrichWithDetail to true to fetch the full detail record for each match, or look the company up directly by IČO.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.