FirmenABC.at Scraper avatar

FirmenABC.at Scraper

Pricing

from $1.09 / 1,000 company listings

Go to Apify Store
FirmenABC.at Scraper

FirmenABC.at Scraper

Scrape Austrian company data from FirmenABC.at: address, phone, email, website, VAT ID, Firmenbuchnummer, managers, and balance-sheet figures. Export JSON, CSV, Excel.

Pricing

from $1.09 / 1,000 company listings

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

FirmenABC.at Scraper

Extract structured Austrian company data from FirmenABC.at — name, address, phone, email, website, VAT ID (UID-Nummer), Firmenbuchnummer, legal form, managing directors, industry categories, GPS coordinates, and balance-sheet figures. Search by company name, browse a federal state, scrape specific URLs, or monitor a watchlist for changes.

Turn the FirmenABC.at business directory into a clean dataset — filter by company name or Austrian state, pull full company profiles with contact details, Firmenbuch data, managers, and published financials, and track new or changed companies across scheduled runs with incremental mode and Telegram / Slack / Discord alerts.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

FirmenABC.at Scraper (parsebird/firmenabc-at-scraper) extracts Austrian company data from firmenabc.at. Modes (priority): companyUrls (watchlist, tracked by stable id, 404s cached) > query (company-name keyword) > startUrls (direct company detail URLs) > location (Austrian federal state or city) > full directory (no input). Inputs: query (string), location (string), startUrls (array of https://www.firmenabc.at/<slug>_<key> URLs), companyUrls (array, same shape), maxResults (int, default 100, 0 = all), includeDetails (bool, default false — off returns listing fields only; on fetches each detail page for the full record and is billed extra), compact (bool — core fields only), excludeEmptyFields (bool), incrementalMode (bool), stateKey (string, auto-derived if empty), emitUnchanged (bool), emitExpired (bool), telegramToken, telegramChatId, slackWebhookUrl, discordWebhookUrl, whatsappPhoneNumberId, whatsappAccessToken, whatsappTo, webhookUrl, webhookHeaders (object), notificationLimit (1-20), notifyOnlyChanges (bool), proxyConfiguration (object, Apify Unblocker required). Output per company: listingId, listingKey, name, url, street, postalCode, city, region, country; with includeDetails also telephone, fax, email, website, latitude, longitude, logoUrl, categories[], vatId, rechtsform, foundingDate, firmenbuchnummer, activityDescription, managers[] ({name, role, profileUrl}), balanceYear, balanceTotalAssets, balanceNetIncome, balanceFixedAssets, balanceEquity, balanceCurrentAssets, balanceProvisions, balanceLiabilities, balanceReceivables, balancePrepaidExpenses. Incremental adds changeType (NEW/UPDATED/UNCHANGED/REAPPEARED/EXPIRED), firstSeenAt, lastSeenAt. Pricing: pay-per-event, $0.00149 per company + an extra $0.00399 per detail-enriched company (Free tier; lower on paid tiers). API: https://apify.com/parsebird/firmenabc-at-scraper/api - Token: https://console.apify.com/account/integrations

What is FirmenABC.at Scraper?

FirmenABC.at Scraper is an Apify Actor that turns the FirmenABC.at business directory — a register of over 500,000 Austrian companies — into structured JSON, CSV, or Excel. FirmenABC sits behind an anti-bot wall that blocks ordinary scrapers; this Actor routes every request through the Apify Unblocker, so you get clean data without fighting the block yourself.

Give it a company-name keyword (e.g. Bäckerei, Steuerberater, Müller), an Austrian federal state or city, a list of company URLs, or nothing at all to walk the whole directory. Turn on Include full company details to fetch each company's profile page for phone, email, website, VAT ID, Firmenbuchnummer, managing directors, and published balance-sheet data.

What can FirmenABC.at Scraper do?

  • 🔎 Name search — find companies whose name contains every word you enter, across all of Austria.
  • 📍 Browse by location — scrape every company in a federal state (Wien, Oberösterreich, Steiermark, …) or a city.
  • 🔗 Direct URLs — paste FirmenABC company URLs straight from your browser.
  • 👁️ Watchlist monitoring — track a fixed list of companies by stable id; removed or 404 companies are remembered and skipped on later runs.
  • 🧾 Full company profiles — contact details, VAT ID (UID-Nummer), Firmenbuchnummer, legal form, founding date, industry categories, managing directors with their roles, and GPS coordinates.
  • 💰 Financials — balance-sheet totals from published annual accounts: total assets, equity, liabilities, provisions, receivables, fixed and current assets, and net income, with the balance year.
  • 🔁 Incremental mode — after the first run, emit (and pay for) only companies that are new or have changed, tagged NEW / UPDATED / UNCHANGED / REAPPEARED / EXPIRED.
  • 🔔 Notifications — push run summaries to Telegram, Slack, Discord, WhatsApp, or any webhook (n8n, Make, Zapier).
  • 🤖 Compact mode — a slim record for AI-agent and MCP pipelines.
  • ⚡ Runs on Apify with scheduling, API access, and export to JSON, CSV, Excel, HTML, or XML.

What data can you extract from FirmenABC.at?

Always present (listing level)

FieldDescription
listingIdStable content hash for the company
listingKeyShort stable id from the FirmenABC URL (e.g. ocT)
nameCompany name
urlFirmenABC company-page URL
street / postalCode / city / regionRegistered address
countryAlways AT

With includeDetails: true

FieldDescription
telephone / fax / email / websiteContact channels
latitude / longitudeGPS coordinates
logoUrlCompany logo image URL
vatIdAustrian VAT number (UID-Nummer, ATU…)
firmenbuchnummerCompany-register number (FN … x)
rechtsformLegal form (GmbH, AG, OG, KG, e.U., …)
foundingDateDate the legal entity began
categoriesIndustry category slugs
activityDescriptionBusiness-purpose text
managersArray of { name, role, profileUrl } — Geschäftsführer, Aufsichtsrat, etc.
balanceYearFiscal year of the balance-sheet figures
balanceTotalAssets / balanceEquity / balanceLiabilities / balanceNetIncome / balanceFixedAssets / balanceCurrentAssets / balanceProvisions / balanceReceivables / balancePrepaidExpensesBalance-sheet figures in EUR

With incrementalMode: true

FieldDescription
changeTypeNEW, UPDATED, UNCHANGED, REAPPEARED, or EXPIRED
firstSeenAt / lastSeenAtISO-8601 timestamps tracking the company across runs

How to scrape FirmenABC.at

  1. Open FirmenABC.at Scraper on Apify Store and click Try for free.
  2. Enter a Company name keyword, or a Location, or paste Start URLs.
  3. Set Max results (default 100; use 0 for everything).
  4. (Optional) Turn on Include full company details for phone, email, VAT ID, managers, and financials — note the extra per-record charge.
  5. (Optional) Turn on Incremental mode and set a schedule so later runs return only new and changed companies.
  6. Click Start, then open the Dataset tab. Export as JSON, CSV, Excel, HTML, or XML.
{
"query": "Bäckerei",
"maxResults": 50
}

Input example — full detail for a state

{
"location": "Oberösterreich",
"maxResults": 200,
"includeDetails": true
}

Input example — incremental watchlist

{
"companyUrls": [
"https://www.firmenabc.at/wien-holding-gmbh_ocT"
],
"incrementalMode": true,
"stateKey": "my-watchlist",
"telegramToken": "123456:ABC-DEF",
"telegramChatId": "-1001234567890"
}

Output example

{
"listingId": "a173e2fe588ab762b335313871d24f706d41f470df6f23f59f5100200b9c8d66",
"listingKey": "ocT",
"name": "Wien Holding GmbH",
"url": "https://www.firmenabc.at/wien-holding-gmbh_ocT",
"street": "Universitätsstr. 11",
"postalCode": "1010",
"city": "Wien",
"region": "Wien",
"country": "AT",
"telephone": "01/4082569-0",
"email": "office@wienholding.at",
"website": "http://www.wienholding.at",
"latitude": 48.2141682,
"longitude": 16.3566291,
"logoUrl": "https://media.firmenabc.at/logos/…jpg",
"categories": ["finanzdienstleistungen-versicherungen", "holding-beteiligungsgesellschaft", "it-dienstleistungen"],
"vatId": "ATU36779606",
"rechtsform": "GmbH",
"foundingDate": "2001-10-25T00:00:00+02:00",
"firmenbuchnummer": "FN 39079 w",
"managers": [
{ "name": "Frau Mag. Ramser Karin", "role": "Geschäftsführer", "profileUrl": "/person/ramser-karin_jifzna" },
{ "name": "Herr Mag. Stribl Oliver", "role": "Geschäftsführer", "profileUrl": "/person/stribl-oliver_jituaa" }
],
"balanceYear": 2024,
"balanceTotalAssets": 621204188.36,
"balanceEquity": 285824719.48,
"balanceNetIncome": -10119845.69,
"portalUrl": "https://www.firmenabc.at",
"sourceDomain": "firmenabc.at",
"scrapedAt": "2026-09-04T09:14:20.052Z"
}

Download the dataset in JSON, CSV, Excel, HTML, or XML from the Dataset tab.

Use cases

  • 🎯 B2B lead generation — build targeted lists of Austrian companies by industry keyword or region, with verified contact details.
  • 🕵️ Company due diligence — pull Firmenbuch number, legal form, managing directors, and published financials for a counterparty.
  • 📊 Market research — size an industry across Austria and analyse addresses, founding dates, and balance-sheet trends.
  • 🔔 Company monitoring — watch specific companies or a keyword universe and get Telegram / Slack alerts when a new company appears or details change.
  • 🤖 AI & data pipelines — feed compact company records into LLM agents through the Apify MCP server or your CRM.

How it works

  1. The Actor picks a mode from your input: watchlist, name keyword, Start URLs, location, or full directory.
  2. Listing pages (name-search results or /firmen/… browse pages) are fetched through the Apify Unblocker and parsed for company stubs, following pagination up to your maxResults cap.
  3. When Include full company details is on, each company's profile page is fetched and parsed for contact data, Firmenbuch data, managers, categories, coordinates, and balance-sheet figures.
  4. In incremental mode, each company is compared against the stored state for your stateKey; only new and changed records are emitted (plus UNCHANGED / EXPIRED if you opt in).
  5. Each company is billed as one company-scraped event, plus one company-detail event when it was detail-enriched.
  6. Configured notification channels receive a summary of the run's results.

How much does it cost to scrape FirmenABC.at?

FirmenABC.at Scraper uses pay-per-event pricing with two events.

EventWhen it firesFreeBronzeSilverGold
company-scrapedEvery company row$1.49 / 1k$1.29 / 1k$1.19 / 1k$1.09 / 1k
company-detailExtra, per detail-enriched row$3.99 / 1k$3.49 / 1k$2.99 / 1k$2.49 / 1k

A listing-only run of 1,000 companies costs about $1.49 on the Free plan. The same run with Include full company details costs about $5.48 per 1,000. Incremental mode keeps recurring runs cheap by emitting only what changed. Apify platform usage (compute and the Unblocker proxy) is billed separately — FirmenABC's anti-bot protection makes the Unblocker mandatory, so detail-heavy runs use noticeably more platform credit than a typical scraper. See the Apify pricing page.

API usage examples

Run FirmenABC.at Scraper with the Apify API.

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run_input = {
"query": "Steuerberater",
"location": "",
"maxResults": 100,
"includeDetails": True,
}
run = client.actor("parsebird/firmenabc-at-scraper").call(run_input=run_input)
for company in client.dataset(run["defaultDatasetId"]).iterate_items():
print(company["name"], company.get("vatId"), company.get("city"))

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('parsebird/firmenabc-at-scraper').call({
query: 'Bäckerei',
maxResults: 50,
compact: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((c) => `${c.name}${c.city}`));

Connect finished datasets to Google Sheets, Slack, Zapier, Make, webhooks, or your own pipeline.

FirmenABC.at Scraper reads only publicly visible data — the same company pages any visitor sees on firmenabc.at, much of which originates from the public Austrian company register (Firmenbuch) and published annual accounts. It does not log in or access private data. Personal data such as manager names is subject to the GDPR; you are responsible for having a lawful basis to process it and for complying with FirmenABC's Terms of Service in your jurisdiction. For background, read Apify's guide: Is web scraping legal?.

FAQ

Why is this Actor slower than other scrapers? FirmenABC.at is protected by an anti-bot system that blocks datacenter and residential proxies outright. Every request goes through the Apify Unblocker, which is reliable but adds several seconds per page. Listing-only runs (the default) are much faster than runs with Include full company details.

What does the default run return without includeDetails? Company name, FirmenABC URL, stable id, and registered address. Turn on Include full company details for phone, email, website, VAT ID, Firmenbuchnummer, legal form, managers, categories, coordinates, and balance-sheet data.

Does location work together with query? No. FirmenABC applies a name search across all of Austria; the location filter is used only when no name keyword is set. To combine them, browse the location and filter the output by keyword, or use Start URLs.

How does incremental mode save money? The first run with a given stateKey stores a snapshot. Later runs compare against it and emit — and charge for — only companies that are NEW, UPDATED, or REAPPEARED. Set emitUnchanged or emitExpired to include the rest.

How is the watchlist (companyUrls) different from Start URLs? Both scrape specific companies, but companyUrls tracks each by a stable id across runs and remembers companies that were removed or return 404, skipping them on later runs. It also takes priority over every other mode. Use it for a recurring watchlist.

Can I schedule recurring runs? Yes. Use Apify schedules with incremental mode and a notification channel to get alerted when Austrian companies matching your search appear or change.

Can I use this as a FirmenABC API? Yes. Call the Actor through the Apify API, use webhooks, or connect it to AI assistants with the Apify MCP server.

Something looks wrong or a field is missing. Report it on the Issues tab and it will be looked at quickly.