# Austria WKO Business Directory Scraper (`regdata/wko-business-directory-scraper`) Actor

Scrape 620,000+ Austrian businesses from WKO Firmen A-Z - the official Chamber of Commerce directory. Get names, addresses, phones, emails, websites and industry codes.

- **URL**: https://apify.com/regdata/wko-business-directory-scraper.md
- **Developed by:** [getregdata](https://apify.com/regdata) (community)
- **Categories:** Lead generation, Automation, Agents
- **Stats:** 44 total users, 8 monthly users, 81.5% runs succeeded, 2 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 1,000 company records

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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Austria WKO Business Directory Scraper | Firmenverzeichnis der Wirtschaftskammer

Extract structured company data from Austria's official Chamber of Commerce directory (**WKO Firmen A-Z**) - **620,000+ businesses** with contact details, trade licenses, and industry classifications - as structured JSON, in bulk, beyond what the directory's manual search allows. Search by industry (Branche), state (Bundesland), district, or keyword. There is no official API for this data.

**No login, no API key, no proxy needed** - a query in, clean JSON out.

### What data do you get?

One record per business:

```json
{
  "companyName": "Tech Solutions GmbH",
  "address": "Mariahilfer Strasse 45",
  "postalCode": "1060",
  "city": "Wien",
  "bundesland": "Wien",
  "phone": "+43 1 234 5678",
  "email": "office@techsolutions.at",
  "website": "https://www.techsolutions.at",
  "branche": "IT-Dienstleistung",
  "firmaId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "sourceUrl": "https://firmen.wko.at/tech-solutions-gmbh/wien/?firmaid=..."
}
```

| Field | Description |
|-------|-------------|
| `companyName` | Official business name as registered with WKO |
| `address` / `postalCode` / `city` / `bundesland` | Parsed address (street, PLZ, city, state) |
| `phone` / `email` / `website` | Contact details from the company detail page |
| `branche` | Industry / trade classification (echoes the search term) |
| `firmaId` / `sourceUrl` | WKO internal identifier (UUID) and profile URL |

> **Not returned.** `tradeLicenses`, `memberSince`, `certifications` and `fax` are emitted as
> empty/null placeholders only. The actor reads WKO listing pages and does not fetch the
> per-company detail page where those values live.

### How much does it cost?

**Pay per result** - you are not charged for Apify platform usage, only per company. The price drops on higher Apify subscription tiers.

| Volume | Cost |
|--------|------|
| Start cost | $0.00005 |
| Per result | $0.005 |
| ~100 results | ~$0.50 |
| ~1,000 results | ~$5.00 |
| ~10,000 results | ~$50.00 |

**A run that returns nothing costs nothing.** If the search is rejected for unusable input, or the district you asked for has no listing, the run stops with an explanation and the only charge is the $0.00005 start fee. You pay per company record, and nothing else.

No subscription, no minimum. The Apify free plan includes $5/month in platform credits - around 1,000 records - so you can validate the data before committing to anything.

### Is it legal, and where does the data come from?

Data comes from **firmen.wko.at**, the official business directory of the Austrian Federal Economic Chamber (Wirtschaftskammer Osterreich), a public-law institution under the Austrian Economic Chamber Act. It covers 620,000+ Austrian businesses with active trade licenses, and it is public (no login). It contains business contact information, not personal data beyond what companies choose to publish. You are responsible for complying with GDPR/DSG when using the data.

### How do I use it?

Click **Try it** and paste this input:

```json
{ "branche": "IT-Dienstleistung", "bundesland": "Wien", "maxResults": 50 }
```

Search by keyword across all of Austria (`{ "searchQuery": "Steuerberater", "maxResults": 200 }`), or narrow to a district. No proxy setup is needed - leave Proxy configuration empty.

### Input options

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `searchQuery` | string | No | - | Keyword search for company name or service |
| `branche` | string | No | - | Industry/trade classification (e.g. "Gastronomie") |
| `bundesland` | string | No | All | Austrian state (Wien, Niederosterreich, Oberosterreich, Steiermark, Tirol, Salzburg, Karnten, Burgenland, Vorarlberg) |
| `bezirk` | string | No | - | District within the selected Bundesland |
| `maxResults` | integer | No | 100 | Max companies to return (1-10,000) |
| `proxyConfiguration` | object | No | None | Optional. The directory is reachable without a proxy; set one only if you want runs routed through your own IPs. |

At least one of `searchQuery`, `branche`, or `bundesland` must be provided.

### What you can do with it

- **B2B lead generation** - find companies by industry and location with verified contact data (phone, email, website).
- **Market-entry research** - map the competitive landscape before entering the Austrian market.
- **Supplier discovery** - find certified suppliers and service providers by trade classification.
- **Competitive analysis** - measure industry concentration by region and spot market gaps.
- **Sales prospecting** - build targeted prospect lists by industry, location, and trade licence.

### Run it from code

```bash
## cURL - start a run and get the dataset back
curl -X POST "https://api.apify.com/v2/acts/regdata~wko-business-directory-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "branche": "IT-Dienstleistung", "bundesland": "Wien", "maxResults": 50 }'
```

```javascript
// Node.js - apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('regdata/wko-business-directory-scraper').call({ branche: 'IT-Dienstleistung', bundesland: 'Wien', maxResults: 50 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

```python
## Python - apify-client
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("regdata/wko-business-directory-scraper").call(run_input={"branche": "IT-Dienstleistung", "bundesland": "Wien", "maxResults": 50})
items = client.dataset(run["defaultDatasetId"]).list_items().items
```

### Integrations

Runs anywhere Apify does: call it from the **REST API**, **schedule** recurring list builds, pipe results into **n8n / Make / Zapier** or your CRM, or use it from any **MCP client** (Claude, Cursor) via [mcp.apify.com](https://mcp.apify.com).

### FAQ

**Is it legal to scrape the WKO directory?** Yes. It is the official public business directory of the Austrian Economic Chamber. It contains business contact information; you remain responsible for GDPR/DSG compliance when using it.

**Do I need an account, API key, or proxy?** None of the three. The actor talks to the public directory directly and retries transient issues automatically.

**Can I filter by industry and region?** Yes. Use `branche` (trade classification) and `bundesland` / `bezirk` (state / district). At least one search filter is required.

**What export formats are supported?** JSON, CSV, Excel, or XML, or read live via the API.

### Limitations

- The directory pages 10 results at a time, so very large pulls take a while - roughly 3 seconds per 10 records. Narrow with `branche`, `bundesland`, and `bezirk` for faster, more targeted runs.
- Company profiles vary; some businesses list only name and address. Phone, email, and website are present only where the business published them to WKO.
- The directory reflects current WKO membership status only (no historical data).
- Content is in German, as published by WKO.

### Related actors

Part of a suite of official government registry actors - **no public API to build or maintain**, pay per result, nothing to configure.

| Country | Actors |
|---|---|
| Poland | [BDO](https://apify.com/regdata/bdo-waste-registry-scraper) · [CRBR](https://apify.com/regdata/crbr-beneficial-owners-scraper) · [KRS (financials)](https://apify.com/regdata/poland-krs-financial-scraper) · [EKW](https://apify.com/regdata/ekw-ksiegi-wieczyste-scraper) · [KNF](https://apify.com/regdata/knf-registry-scraper) · [KRS (board)](https://apify.com/regdata/krs-fullnames-scraper) · [KRZ](https://apify.com/regdata/krz-debtor-scraper) · [MSiG](https://apify.com/regdata/msig-scraper) · [KYB check](https://apify.com/regdata/poland-kyb-check) · [PEP (Sejm)](https://apify.com/regdata/poland-parliamentary-pep-scraper) · [REGON (sites)](https://apify.com/regdata/polish-premises-prospector) · [REGON](https://apify.com/regdata/polish-regon-scraper) · [UOKiK](https://apify.com/regdata/uokik-clauses-scraper) |
| Germany | [Insolvenzbekanntmachungen](https://apify.com/regdata/germany-insolvency-scraper) · [Handelsregister](https://apify.com/regdata/germany-handelsregister-scraper) |
| Spain | [BORME](https://apify.com/regdata/borme-corporate-acts-scraper) · [Registro Mercantil](https://apify.com/regdata/spain-company-directory-scraper) · [Registro Público Concursal](https://apify.com/regdata/spain-concursal-scraper) |
| Italy | [INI-PEC](https://apify.com/regdata/italy-pec-lookup) · [Registro Imprese](https://apify.com/regdata/italy-registro-imprese-scraper) |
| Austria | [Ediktsdatei](https://apify.com/regdata/austria-ediktsdatei-scraper) · **WKO (this actor)** |
| France | [Societe.com](https://apify.com/regdata/societe-com-scraper) |
| Belgium | [KBO / BCE](https://apify.com/regdata/belgium-kbo-company-scraper) |
| Czechia | [ISIR](https://apify.com/regdata/czech-isir-insolvency-scraper) |
| Slovakia | [RPVS](https://apify.com/regdata/slovakia-rpvs-ubo-scraper) |
| Cyprus | [DRCOR](https://apify.com/regdata/cyprus-drcor-company-scraper) |
| Ireland | [CRO](https://apify.com/regdata/ireland-cro-company-scraper) |
| Portugal | [Publicações MJ](https://apify.com/regdata/portugal-corporate-acts-scraper) |
| Nigeria | [CAC](https://apify.com/regdata/nigeria-cac-company-scraper) |
| Colombia | [RUES](https://apify.com/regdata/colombia-rues-company-scraper) |
| USA | [California SoS](https://apify.com/regdata/california-sos-business-scraper) · [California UCC](https://apify.com/regdata/california-ucc-lien-scraper) |
| UAE | [ADGM](https://apify.com/regdata/uae-adgm-public-register-scraper) |
| Global | [Adverse media](https://apify.com/regdata/adverse-media-screener) |

**Common combinations:** company register -> [UBO](https://apify.com/regdata/crbr-beneficial-owners-scraper) -> [insolvency/debtors](https://apify.com/regdata/krz-debtor-scraper) -> [adverse media](https://apify.com/regdata/adverse-media-screener) is the standard KYB/onboarding chain.

For Poland that whole chain is one call: [Poland KYB Risk Check](https://apify.com/regdata/poland-kyb-check) takes a NIP or KRS and returns identity, beneficial owners and insolvency - screened against the company **and every beneficial owner** - as a single verdict. The component registry lookups it runs bill as usual, plus a small orchestration fee.

> Full suite: [apify.com/regdata](https://apify.com/regdata) · Callable from any MCP client via [mcp.apify.com](https://mcp.apify.com)

### Informationen auf Deutsch

#### Was ist dieses Tool?

Dieser Apify Actor extrahiert Unternehmensdaten aus dem offiziellen **WKO Firmen A-Z** Verzeichnis (firmen.wko.at) der Wirtschaftskammer Osterreich - strukturierte Daten zu uber 620.000 osterreichischen Unternehmen mit Firmenname, Adresse, Kontaktdaten, Gewerbeberechtigungen, Branche und Zertifizierungen. Keine offizielle API, keine Anmeldung.

#### Fur wen?

Fur **B2B-Leadgenerierung**, **Marktanalyse**, **Lieferantensuche** und **Vertriebsunterstutzung**. Kein Proxy, keine Anmeldung, keine Abos - Sie zahlen nur pro Ergebnis.

***

### WKO Firmen A-Z - Osterreichische Firmensuche

Automatisierter Zugriff auf das WKO Firmenverzeichnis der Wirtschaftskammer Osterreich. Uber 620.000 osterreichische Unternehmen mit Firmennamen, Adressen, Telefonnummern, E-Mail, Websites, Branchencodes und Gewerbescheinen. Keine offizielle API. Ideal fur B2B-Leadgenerierung, Marktforschung und Unternehmensrecherche in Osterreich.

# Actor input Schema

## `searchQuery` (type: `string`):

Keyword search for company name or service (e.g., 'Software', 'Gastronomie', 'Steuerberater'). Supply this OR bundesland at minimum - 'branche' is an accepted synonym, so filling either one is enough.

## `branche` (type: `string`):

Industry or trade classification to search for (e.g., 'IT-Dienstleistung', 'Gastronomie', 'Tischlerei', 'Elektrotechnik'). Synonym of searchQuery and used as the primary search term on firmen.wko.at - set either one, not both.

## `bundesland` (type: `string`):

Austrian federal state to filter results. Leave empty for all of Austria.

## `bezirk` (type: `string`):

Optional district filter, e.g. 'Linz-Land', 'Hallein', 'Moedling'. For Vienna use a district name or its number ('Innere Stadt', 'Landstrasse', or '3'). Needs a searchQuery alongside it - a district on its own returns nothing. Replaces the Bundesland filter rather than adding to it.

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

Maximum number of company records to return. The actor pages through the directory until it reaches this limit or runs out of matches. Default: 100.

## `proxyConfiguration` (type: `object`):

Optional. The WKO directory is reachable without a proxy, so you can leave this empty. Configure one only if you want runs routed through your own IPs.

## Actor input object example

```json
{
  "searchQuery": "IT-Dienstleistung",
  "bundesland": "",
  "maxResults": 100
}
```

# Actor output Schema

## `companies` (type: `string`):

Structured company data including names, addresses, phone numbers, emails, websites, trade licenses, and industry codes from the WKO business directory.

# 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 = {
    "searchQuery": "IT-Dienstleistung"
};

// Run the Actor and wait for it to finish
const run = await client.actor("regdata/wko-business-directory-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 = { "searchQuery": "IT-Dienstleistung" }

# Run the Actor and wait for it to finish
run = client.actor("regdata/wko-business-directory-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 '{
  "searchQuery": "IT-Dienstleistung"
}' |
apify call regdata/wko-business-directory-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/BfjaTqNDhfoEKJ4CR/builds/2kbRXD3a1t8ExETr3/openapi.json
