# ARES Czech Business Registry Scraper (`automation-lab/ares-czech-business-registry-scraper`) Actor

🇨🇿 Search the official Czech ARES registry by company name or IČO. Export normalized company IDs, legal data, addresses, statuses, and NACE codes.

- **URL**: https://apify.com/automation-lab/ares-czech-business-registry-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## ARES Czech Business Registry Scraper

Search the official Czech ARES business registry by company name or IČO and export clean company records from Apify.

### What does ARES Czech Business Registry Scraper do?

ARES Czech Business Registry Scraper queries the Czech Ministry of Finance ARES registry API and saves normalized company data to an Apify dataset.

It supports company-name discovery and direct IČO lookup.

The actor is HTTP-only and uses the official JSON API.

It does not require a browser, login, CAPTCHA solving, or proxy configuration.

### Who is it for?

KYB and KYC teams use it to verify Czech companies before onboarding.

B2B sales teams use it to enrich Czech lead lists with official identifiers and addresses.

Procurement teams use it to clean supplier master data.

Market researchers use it to find companies matching a Czech brand, sector, or name pattern.

Data engineers use it to turn ARES responses into a repeatable dataset export.

### Why use this actor?

✅ Official source data from ARES.

✅ Search by company name or exact IČO.

✅ Normalized fields for addresses, legal form, registry status, and NACE codes.

✅ Source metadata included for audit trails.

✅ Conservative request delays for reliable batch runs.

✅ No browser overhead, so runs are fast and inexpensive.

### What data can you extract?

The actor exports one row per Czech business entity.

| Field | Description |
| --- | --- |
| `ico` | Czech company identification number |
| `businessName` | Registered business name |
| `taxId` | Czech VAT/tax identifier when available |
| `legalForm` | Legal-form code from ARES |
| `primarySource` | Primary ARES source registry |
| `registrationDate` | Company registration date |
| `updatedAt` | Last update date in the registry |
| `addressText` | Full registered address |
| `region` | Czech region |
| `municipality` | Municipality |
| `naceCodes` | CZ-NACE activity codes |
| `registrationStatuses` | Status values across ARES source registries |
| `sourceRequestBody` | Search request body used for the row |

### How much does it cost to scrape Czech ARES company data?

This actor uses pay-per-event pricing.

You pay a small start fee and a per-company result event.

The default input is intentionally small so first runs stay cheap.

Large batches should use `maxResults` and a conservative `delayMillis` value.

### Input options

Use `companyNames` for discovery searches.

Use `icos` for exact Czech company lookup.

Use both when you want to enrich known companies and find adjacent matches in one run.

Set `maxResults` to cap total unique companies.

Set `includeDetails` to true when you want the per-IČO detail endpoint.

Set `delayMillis` higher for very large jobs.

### Example input

```json
{
  "companyNames": ["skoda", "alza"],
  "icos": ["00177041"],
  "maxResults": 100,
  "includeDetails": true,
  "delayMillis": 250
}
````

### Output example

```json
{
  "ico": "00177041",
  "businessName": "Škoda Auto a.s.",
  "taxId": "CZ00177041",
  "legalForm": "121",
  "primarySource": "ros",
  "registrationDate": "1990-11-20",
  "addressText": "tř. Václava Klementa 869, Mladá Boleslav II, 29301 Mladá Boleslav",
  "region": "Středočeský kraj",
  "municipality": "Mladá Boleslav",
  "naceCodes": ["29100", "45200"],
  "sourceType": "name_search"
}
```

### How to scrape ARES by company name

1. Open the actor on Apify.

2. Add one or more values to `companyNames`.

3. Keep `includeDetails` enabled for richer output.

4. Set `maxResults` to your required limit.

5. Run the actor.

6. Export the dataset as JSON, CSV, Excel, XML, or RSS.

### How to enrich a list of IČO numbers

1. Paste identifiers into `icos`.

2. Use values with or without spaces; the actor keeps digits and pads to 8 characters.

3. Leave `companyNames` empty if you only need exact lookups.

4. Run the actor.

5. Join the output back to your CRM, warehouse, or compliance workflow by `ico`.

### Tips for reliable runs

Use short company-name terms for broad discovery.

Use exact company names or IČO values for precise enrichment.

Keep `delayMillis` at 250 ms or above for large recurring jobs.

Use `start` only when resuming name-search pagination.

Review `sourceRequestBody` when auditing why a row appeared in the dataset.

### Integrations

Send the dataset to Google Sheets for a Czech prospecting list.

Send rows to a CRM enrichment workflow by IČO.

Use Apify webhooks to notify a compliance system when a run completes.

Load the dataset into BigQuery, Snowflake, or PostgreSQL for market analysis.

Combine this actor with company website scrapers for contact discovery.

### API usage with Node.js

```js
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/ares-czech-business-registry-scraper').call({
  companyNames: ['skoda'],
  maxResults: 50,
});
console.log(run.defaultDatasetId);
```

### API usage with Python

```python
from apify_client import ApifyClient

client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('automation-lab/ares-czech-business-registry-scraper').call(run_input={
    'companyNames': ['skoda'],
    'maxResults': 50,
})
print(run['defaultDatasetId'])
```

### API usage with cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~ares-czech-business-registry-scraper/runs?token=MY-APIFY-TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"companyNames":["skoda"],"maxResults":50}'
```

### MCP integration

Use the actor from Claude Desktop or Claude Code through Apify MCP.

MCP URL:

```text
https://mcp.apify.com/?tools=automation-lab/ares-czech-business-registry-scraper
```

Claude Code setup:

```bash
claude mcp add apify-ares-czech https://mcp.apify.com/?tools=automation-lab/ares-czech-business-registry-scraper
```

Claude Desktop JSON configuration:

```json
{
  "mcpServers": {
    "apify-ares-czech": {
      "url": "https://mcp.apify.com/?tools=automation-lab/ares-czech-business-registry-scraper"
    }
  }
}
```

Example prompts:

- "Find Czech companies matching Skoda and summarize their registered addresses."

- "Enrich these IČO numbers with official ARES company names and NACE codes."

- "Create a CSV-ready Czech supplier master-data table from ARES."

### Legality and compliance notes

ARES is an official public business registry.

Use exported data in accordance with applicable Czech, EU, and internal compliance rules.

Do not use registry data for spam, harassment, or unlawful profiling.

For regulated KYB/KYC use cases, keep the `scrapedAt`, `sourceUrl`, and source request metadata fields.

### FAQ and troubleshooting

#### Why did I get fewer rows than expected?

ARES may have fewer matching companies than your `maxResults`, or duplicate IČO values may be removed across inputs.

Try a broader company-name term or increase `start` only when resuming a search.

#### Why is a legal form a code?

ARES returns legal-form codes. Keep the code for machine joins, or map it in your downstream system if you need localized labels.

#### Can I run thousands of records?

Yes, but keep the delay conservative and split very large enrichment lists into scheduled runs if needed.

### Related scrapers

Explore other automation-lab actors for business enrichment workflows:

- https://apify.com/automation-lab/website-contact-finder

- https://apify.com/automation-lab/google-maps-lead-finder

- https://apify.com/automation-lab/company-domain-finder

- https://apify.com/automation-lab/linkedin-company-scraper

### Data quality notes

The actor preserves ARES-provided codes and text.

It does not invent missing values.

When detail enrichment fails for one search hit, the actor keeps the search result instead of failing the full run.

Rows are de-duplicated by IČO.

### Performance notes

The actor is API-based and normally runs quickly.

No proxy is required.

No browser memory is required.

The default memory is 256 MB.

### Changelog

Initial version:

- Company-name search.

- Direct IČO lookup.

- Detail enrichment.

- Normalized dataset schema.

- Source metadata fields.

# Actor input Schema

## `companyNames` (type: `array`):

Czech company or organization names to search in the official ARES registry.

## `icos` (type: `array`):

Optional Czech company identification numbers (IČO). Non-digits are removed and values are padded to 8 digits.

## `maxResults` (type: `integer`):

Maximum unique company records to save across all name searches and ICO lookups.

## `start` (type: `integer`):

Starting offset for company-name searches. Keep 0 for normal use; increase to resume deeper pages.

## `includeDetails` (type: `boolean`):

Fetch the per-ICO detail endpoint for each search hit to fill all available registry fields.

## `delayMillis` (type: `integer`):

Conservative pause between ARES API requests. Increase if you run very large batches.

## Actor input object example

```json
{
  "companyNames": [
    "skoda",
    "alza"
  ],
  "icos": [
    "00177041"
  ],
  "maxResults": 20,
  "start": 0,
  "includeDetails": true,
  "delayMillis": 250
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "companyNames": [
        "skoda",
        "alza"
    ],
    "icos": [
        "00177041"
    ],
    "maxResults": 20,
    "start": 0,
    "includeDetails": true,
    "delayMillis": 250
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/ares-czech-business-registry-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "companyNames": [
        "skoda",
        "alza",
    ],
    "icos": ["00177041"],
    "maxResults": 20,
    "start": 0,
    "includeDetails": True,
    "delayMillis": 250,
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/ares-czech-business-registry-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "companyNames": [
    "skoda",
    "alza"
  ],
  "icos": [
    "00177041"
  ],
  "maxResults": 20,
  "start": 0,
  "includeDetails": true,
  "delayMillis": 250
}' |
apify call automation-lab/ares-czech-business-registry-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=automation-lab/ares-czech-business-registry-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "ARES Czech Business Registry Scraper",
        "description": "🇨🇿 Search the official Czech ARES registry by company name or IČO. Export normalized company IDs, legal data, addresses, statuses, and NACE codes.",
        "version": "0.1",
        "x-build-id": "wNoHLJHEA9OU23V9R"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~ares-czech-business-registry-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-ares-czech-business-registry-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/automation-lab~ares-czech-business-registry-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-ares-czech-business-registry-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/automation-lab~ares-czech-business-registry-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-ares-czech-business-registry-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "companyNames": {
                        "title": "Company names",
                        "type": "array",
                        "description": "Czech company or organization names to search in the official ARES registry.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "icos": {
                        "title": "ICO numbers",
                        "type": "array",
                        "description": "Optional Czech company identification numbers (IČO). Non-digits are removed and values are padded to 8 digits.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Maximum companies",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum unique company records to save across all name searches and ICO lookups.",
                        "default": 20
                    },
                    "start": {
                        "title": "Search offset",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Starting offset for company-name searches. Keep 0 for normal use; increase to resume deeper pages.",
                        "default": 0
                    },
                    "includeDetails": {
                        "title": "Enrich with detail endpoint",
                        "type": "boolean",
                        "description": "Fetch the per-ICO detail endpoint for each search hit to fill all available registry fields.",
                        "default": true
                    },
                    "delayMillis": {
                        "title": "Delay between API requests (ms)",
                        "minimum": 0,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Conservative pause between ARES API requests. Increase if you run very large batches.",
                        "default": 250
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
