ALEO Scraper | Polish Companies and Financials avatar

ALEO Scraper | Polish Companies and Financials

Pricing

from $2.98 / 1,000 companies

Go to Apify Store
ALEO Scraper | Polish Companies and Financials

ALEO Scraper | Polish Companies and Financials

ALEO scraper for Baza firm ALEO, the Polish company directory: 20 companies in 10 seconds, 41 fields each. Search by keyword, aleo.com URL or NIP, KRS and REGON to get legal form, PKD codes, email, phone, website, address, board, shareholders, revenue, net profit and VAT bank accounts. No account.

Pricing

from $2.98 / 1,000 companies

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

5 days ago

Last modified

Features

Limited permissions

Share

ALEO Scraper (Baza firm ALEO) | Polish Companies and Financials (2026)

ALEO companies, 41 fields each, from any search.

From SilentFlow. Creators of Facebook Search Scraper and JD Products Scraper (#1 for “jd scraper” in Apify Store search), with 920,000+ combined lifetime runs.

Turn ALEO.com, the free directory of Polish companies, into a clean company list: NIP, KRS, REGON, PKD codes, contacts, board, shareholders and filed financials, one row per company.

Why choose this actor?

Copying company cards from ALEO into a spreadsheet one tab at a time? Holding a list of NIP numbers from invoices and no quick way to see who runs each company and what it earns? Getting a list of names and addresses back when you needed the registry, the board and the figures?

  • 31 fields per company, not a name and an address. On our test run for the keyword drukarnia, 31 data fields were filled on at least half of the 20 companies delivered: NIP, KRS, REGON, legal form, status, PKD codes, ALEO categories, full address, management board, shareholders, representation rule, share capital, VAT status and bank accounts. The most complete company of that run carried 40 fields.
  • Three ways in: keywords, URLs or company numbers. Search by industry or name, paste any aleo.com company, search or category page, or enrich a list of NIP, KRS or REGON numbers. In our test, 4 numbers out of 4 came back as the right company.
  • No account, nothing required. No ALEO login, no API key and no mandatory field: the prefilled keyword runs as it is, and every input is optional.

Try ALEO Scraper free

Try your first company

Paste this input in the JSON tab of the actor and press Start. It is the input the form opens with:

{
"searchQueries": ["drukarnia"],
"maxItems": 20
}

You get 20 Polish printing houses, each with its registry numbers, PKD codes, address, management, shareholders and the financial figures ALEO publishes for it. The Apify Free plan is enough to run it: no credit card, no ALEO account, no API key.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it full context about this scraper:

You have access to the ALEO Scraper on Apify: silentflow/aleo-scraper
It reads aleo.com, the free directory of Polish companies (KRS and REGON registers).
One dataset row = one Polish company.
Input (all optional, at least one of the first three):
- searchQueries (array of strings): keywords as typed in the ALEO search box, e.g. "drukarnia", "transport". A NIP typed here is read as a NIP.
- startUrls (array of {"url": ...}): aleo.com company pages (/pl/firma/{slug}, /int/company/{slug}), searches (/pl/firmy?phrase=...) or categories (/pl/firmy/{category}/{subcategory}).
- companyIds (array of strings): NIP (10 digits, "PL" prefix and dashes accepted), KRS (with or without leading zeros) or REGON (9 or 14 digits).
- maxItems (integer, default 100): cap on companies across all inputs.
- voivodeship (string): one of DOLNY_SLASK, KUJAWSKO_POMORSKIE, LUBELSKIE, LUBUSKIE, LODZ, MALOPOLSKA, MAZOWIECKIE, OPOLSKIE, PODKARPACKIE, PODLASKIE, POMORSKIE, SLASKIE, SWIETOKRZYSTKIE, WARMINSKO_MAZURSKIE, WIELKOPOLSKA, ZACHODNIO_POMORSKIE (Polish or English names accepted). Needs a keyword or a category.
- city (string): city of the registered address, in Polish, e.g. "Kraków". Needs a keyword or a category.
- includeFinancials (boolean, default true): add board, supervisory board, shareholders, representation rule and filed financials.
- debugMode (boolean, default false).
Output per company (50 top-level fields, absent values omitted):
- id (string, "{nip}-{regon}"), url (string, permanent ALEO page), name, nip, krs, regon
- legalForm, status, isBankrupt (bool), isPublicBenefit (bool), registerCourt, shareCapital (number, PLN)
- pkdMain, pkdCodes (array), mainCategory, categories (array), description
- email, phone, website, ownerName (sole traders)
- officers (array of {name, role}), officerCount, shareholders (array of {name, shares}), representationRule
- fiscalYear, revenue, netProfit, grossProfit, operatingProfit, totalAssets, equity (numbers, PLN), currency ("PLN")
- financials (array of {year, revenue, netProfit, grossProfit, operatingProfit, totalAssets, equity, cash, liabilities})
- lastFiledYear, vatStatus, bankAccounts (array of {iban, bank})
- rating, reviewsCount
- address, street, postalCode, city, voivodeship, countryCode, latitude, longitude
- foundingDate, registrationDate (RFC 3339), scrapedAt (RFC 3339)
Use apify-client for Python or JavaScript: client.actor("silentflow/aleo-scraper").call(run_input=...).

How to scrape ALEO Polish company data

Pull a list of companies in one industry

Type the industry the way a Polish buyer would search for it. Each keyword returns the companies ALEO lists for it, up to the cap you set.

{
"searchQueries": ["drukarnia", "agencja reklamowa"],
"maxItems": 100
}

Build a regional lead list with a city filter

Combine a keyword with a voivodeship and a city to keep only the companies registered there.

{
"searchQueries": ["transport"],
"voivodeship": "MAZOWIECKIE",
"city": "Warszawa",
"maxItems": 200
}

Enrich a list of NIP, KRS and REGON numbers

Paste the numbers you already have, in any common format. Each one returns its company with the board, shareholders and figures.

{
"companyIds": ["5920202822", "KRS 0000348746", "385445525", "PL 679-300-79-44"],
"includeFinancials": true
}

Input parameters

ParameterTypeDefaultWhat it does
searchQueriesarray of strings["drukarnia"] (prefill)Keywords as typed in the ALEO search box: an industry, a product or a company name. Polish keywords match best.
startUrlsarray of URLsnonealeo.com company pages, searches or category pages, in Polish (/pl/) or English (/int/).
companyIdsarray of stringsnoneNIP, KRS or REGON numbers, one per line.
maxItemsinteger100The run stops after this many companies, across all inputs. Each company is delivered once.
voivodeshipselectnoneKeep companies registered in one of the 16 voivodeships.
citystringnoneKeep companies whose registered address is in this city.
includeFinancialsbooleantrueAdd the board, supervisory board, proxies, shareholders, representation rule and filed financials.
debugModebooleanfalseWrite detailed progress lines in the log.

Accepted formats

  • Keywords: any phrase, Polish diacritics or not (drukarnia, hurtownia budowlana, software house). A number typed in the keyword box (5920202822) is read as a company number.
  • Company pages: https://aleo.com/pl/firma/zaklady-farmaceutyczne-polpharma-spolka-akcyjna, https://aleo.com/int/company/jk-hotele-spolka-akcyjna. A page with a tab (.../opinie) is read as the company itself.
  • Searches: https://aleo.com/pl/firmy?phrase=hotel&voivodeships=MAZOWIECKIE&city=WARSZAWA. The phrase, voivodeships and city of the URL are kept.
  • Categories: https://aleo.com/pl/firmy/edukacja-sport-i-rozrywka/edukacja/jezyki-obce or its English twin https://aleo.com/int/companies/education-sport-and-entertainment/education/foreign-languages, with an optional ?phrase= or ?city=.
  • NIP: 5920202822, 592-020-28-22, PL5920202822, NIP: 592 020 28 22. The check digit is verified, a mistyped NIP is skipped with a message.
  • KRS: 0000127044, 127044 or KRS 127044.
  • REGON: 9 digits (190929369, check digit verified) or 14 digits for a local unit.
  • Voivodeship: the code from the list (MAZOWIECKIE), the Polish name (mazowieckie, województwo mazowieckie, with or without diacritics) or the English name (Masovian, Lesser Poland).

What data can you extract from ALEO?

Every row is one Polish company with 50 top-level fields, grouped the way a CRM or a credit file reads them. Fields the company has no value for are left out of its row, never written as empty text.

GroupFields
Identity (6)id, url, name, nip, krs, regon
Registry (11)legalForm, status, isBankrupt, isPublicBenefit, registerCourt, shareCapital, pkdMain, pkdCodes, mainCategory, categories, description
Contacts (4)email, phone, website, ownerName
People (4)officers (each with name and role), officerCount, shareholders (each with name and shares), representationRule
Finance (12)fiscalYear, revenue, netProfit, grossProfit, operatingProfit, totalAssets, equity, currency, financials (one entry per year with 9 values), lastFiledYear, vatStatus, bankAccounts (each with iban and bank)
Reviews (2)rating, reviewsCount
Place and time (10)address, street, postalCode, city, voivodeship, countryCode, latitude, longitude, foundingDate, registrationDate
Meta (1)scrapedAt

A few facts that help you use the data:

  • id is the NIP and the REGON of the company joined by a dash, the part of ALEO's own company key that never changes. Use it to deduplicate across runs.
  • url is the permanent ALEO page of the company. It keeps working after a rename: ALEO sends the old address to the new one.
  • Amounts are in Polish zloty (currency is PLN), already converted from the thousands some filings use. revenue is the net sales of the latest filed year; financials holds every year ALEO shows, newest first.
  • pkdCodes are the activity codes of the PKD classification (the Polish version of NACE), pkdMain is the main one.
  • officers lists the management board (with the role as written in the register, such as PREZES ZARZĄDU), then the supervisory board and the proxies. Names are written in normal case (Piotr Jan Włodarczyk), company names as registered.
  • bankAccounts are the accounts of the VAT white list, in IBAN form without spaces, ready to check a payment against.
  • description is the presentation text ALEO shows on the company page. For most companies ALEO writes it about the sector, not about the company itself.
  • Dates are RFC 3339 (2023-10-06T00:00:00Z). registrationDate is the date the company entered the register, foundingDate the start of activity ALEO shows.
  • voivodeship is written when you filter by one, in Polish (mazowieckie).

Output example

A real row from our test run (keyword drukarnia), unedited:

{
"id": "7312083175-526607054",
"url": "https://aleo.com/pl/firma/pawotex-drukarnia-spolka-z-ograniczona-odpowiedzialnoscia",
"name": "PAWOTEX DRUKARNIA SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ",
"nip": "7312083175",
"krs": "0001062456",
"regon": "526607054",
"legalForm": "Limited liability company",
"status": "ACTIVE",
"isBankrupt": false,
"isPublicBenefit": false,
"shareCapital": 5000,
"pkdMain": "13.30.Z",
"pkdCodes": [
"13.30.Z",
"46.19.Z",
"70.22.Z",
"78.30.Z",
"82.11.Z",
"82.19.Z",
"82.92.Z",
"82.99.Z"
],
"mainCategory": "Surowce i półprodukty > Tkaniny i skóry > Wykańczanie wyrobów włókienniczych",
"categories": [
"Surowce i półprodukty > Tkaniny i skóry > Wykańczanie wyrobów włókienniczych",
"Pozostałe > Sprzedaż hurtowa",
"Usługi dla firm > Usługi finansowe i doradcze > Doradztwo biznesowe",
"Usługi dla firm > Usługi HR i kadrowo-płacowe > Usługi rekrutacyjne",
"Usługi dla firm > Inne usługi dla firm",
"Usługi dla firm > Archiwizacja i niszczenie dokumentów",
"Opakowania, etykiety, folie, taśmy > Usługi konfekcjonowania i pakowania"
],
"description": "W ramach tej kategorii działają firmy świadczące usługi takie jak drukowanie książek oraz kart inteligentnych. W tej branży działa PAWOTEX DRUKARNIA SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ z miejscowości PABIANICE. To właśnie tutaj odnajdziesz jej dane rejestrowe oraz kontaktowe i opinie klientów. Usługi drukowania i poligrafii, a więc wytwarzania różnego rodzaju wyrobów drukarskich, ciągle są ogromnie popularne zarówno wśród klientów indywidualnych, jak i przedsiębiorstw. Na ALEO.com znajdziesz tysiące przedsiębiorstw działających w tej branży. Outsourcing jest najlepszym i najbardziej opłacalnym rozwiązaniem dla coraz większej liczby firm. Firmom, które decydują się na takie rozwiązanie, z pomocą przychodzą liczne firmy usługowe oraz agencje. Wśród takich usług wymienić należy między innymi drukowanie i poligrafia.",
"officers": [
{
"name": "Piotr Jan Włodarczyk",
"role": "PREZES ZARZĄDU"
}
],
"officerCount": 1,
"shareholders": [
{
"name": "Piotr Jan Włodarczyk",
"shares": "91 UDZIAŁÓW O ŁĄCZNEJ WARTOŚCI 4550 PLN"
}
],
"representationRule": "DO SKŁADANIA OŚWIADCZEŃ W IMIENIU SPÓŁKI JEST UPOWAŻNIONY KAŻDY Z CZŁONKÓW ZARZĄDU SAMODZIELNIE.",
"fiscalYear": 2025,
"revenue": 1154108,
"netProfit": -16189.2,
"grossProfit": -14794.2,
"operatingProfit": 7808.98,
"totalAssets": 408961.69,
"equity": -36755.89,
"currency": "PLN",
"financials": [
{
"year": 2025,
"revenue": 1154108,
"netProfit": -16189.2,
"grossProfit": -14794.2,
"operatingProfit": 7808.98,
"totalAssets": 408961.69,
"equity": -36755.89,
"cash": 253.68,
"liabilities": 445717.59
},
{
"year": 2024,
"revenue": 1248798.38,
"netProfit": -25566.69,
"grossProfit": -16216.69,
"operatingProfit": -5184.53,
"totalAssets": 317000.41,
"equity": -20566.69,
"cash": 183.61,
"liabilities": 337567.13
}
],
"lastFiledYear": 2025,
"vatStatus": "ACTIVE",
"bankAccounts": [
{
"iban": "PL60114011080000361092001001",
"bank": "MBANK"
}
],
"reviewsCount": 0,
"address": "UL. GEN. WŁADYSŁAWA SIKORSKIEGO 23/39, 95-200 PABIANICE",
"street": "UL. GEN. WŁADYSŁAWA SIKORSKIEGO 23/39",
"postalCode": "95-200",
"city": "PABIANICE",
"countryCode": "PL",
"foundingDate": "2023-10-06T00:00:00Z",
"registrationDate": "2023-10-06T00:00:00Z",
"scrapedAt": "2026-11-05T13:30:43Z"
}

Advanced usage

Monitor a sector every week

Schedule the same keyword every Monday and compare the id values with last week's dataset: new ids are companies that joined ALEO under that keyword.

{
"searchQueries": ["fotowoltaika"],
"maxItems": 500,
"includeFinancials": false
}

With includeFinancials off, each company is read faster and the row still carries registry numbers, PKD codes, contacts and address.

Check a supplier before you sign

One NIP returns the status, the bankruptcy flag, who may sign for the company, the shareholders, the filed figures and the VAT white list accounts in one row.

{
"companyIds": ["7010224578"],
"includeFinancials": true
}

Scrape a whole ALEO category in one city

Open the category on aleo.com, copy its address and add the city in the URL or in the form.

{
"startUrls": [
{ "url": "https://aleo.com/pl/firmy/edukacja-sport-i-rozrywka/edukacja/jezyki-obce" }
],
"city": "Kraków",
"maxItems": 100
}

In our test this category held 90 language schools registered in Kraków.

Mix every input in one run

Keywords, pages and numbers can go in the same run. A company found by two inputs is delivered once.

{
"searchQueries": ["hurtownia elektryczna"],
"startUrls": [
{ "url": "https://aleo.com/pl/firma/zaklady-farmaceutyczne-polpharma-spolka-akcyjna" },
{ "url": "https://aleo.com/pl/firmy?phrase=hotel&voivodeships=POMORSKIE" }
],
"companyIds": ["0000127044", "385445525"],
"maxItems": 300
}

Send the companies to Google Sheets or your CRM

Run the actor from Python and keep only the companies with a website, the ones a sales team can qualify first.

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("silentflow/aleo-scraper").call(run_input={
"searchQueries": ["drukarnia"],
"voivodeship": "SLASKIE",
"maxItems": 200,
})
for company in client.dataset(run["defaultDatasetId"]).iterate_items():
if company.get("website"):
print(company["name"], company["nip"], company["website"], company.get("revenue"))

Every dataset can also be downloaded from the run page as JSON, CSV, Excel or XML, or read with the dataset API. The Contacts and Financials views of the dataset show the matching columns side by side.

FAQ

What is ALEO? ALEO.com is a free directory of Polish companies run by ING's business services arm, built on the KRS court register and the REGON register. It lists roughly 930,000 companies with their registry data, contacts, activity codes, financial statements and management. Think of it as the Polish counterpart of North Data or Companies House search.

What does the scraper return for each company? Up to 50 fields: registry numbers (NIP, KRS, REGON), legal form, status, bankruptcy flag, register court, share capital, PKD codes, ALEO categories, email, phone, website, address with coordinates when ALEO has them, management board, supervisory board, proxies, shareholders, representation rule, the filed financial figures by year, VAT status and bank accounts, rating and review count.

Do I need an ALEO account or an API key? No. The actor reads the public company pages of aleo.com. You do not need an ALEO login, a KRS API key or a GUS key, only an Apify account, and the Free plan is enough to start.

Why are email, phone or website missing for some companies? ALEO shows the contacts a company declared in the register or on its profile, and many companies declare none. In our test on printing houses, 25% of the companies had an email and 20% a website, and none had a phone. The rest of the row (registry, PKD, address, people, figures) is still delivered.

How fresh is the data? Each run reads ALEO live at run time, nothing is cached on our side. ALEO itself refreshes registry data from the official registers; financial figures appear once a company has filed its annual statement. In our test, the latest filed year ranged from 2022 to 2025 depending on the company.

Can I search several keywords, cities or numbers in one run? Yes. Every input field takes a list, and they can be combined. The run stops at maxItems companies across all of them, and a company found twice is delivered once.

Do the filters combine? Yes. A keyword, a voivodeship and a city work together: transport + MAZOWIECKIE + Warszawa returns transport companies registered in Warsaw. The city and voivodeship filters need a keyword or a category to work on, and company numbers are never filtered.

How many companies can one run return? There is no fixed limit in the actor: it reads as many ALEO result pages as your maxItems asks for. A broad keyword such as drukarnia matched 211 companies on the day of our test; a category in one city, 90.

Why does a company sometimes appear under two addresses on ALEO? ALEO can list the same company twice, once as a full record and once as a short card. The actor reads both as one company and always delivers the full record, so you never get the same NIP twice.

Are the financial amounts in thousands? No. Some filings report in thousands of zloty; the actor converts them, so every amount in the row is in plain PLN.

Can I get companies outside Poland? No. ALEO covers Polish companies only. For other European countries, see the company data scrapers in our catalogue below.

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

🎬 Video

📰 News

🧰 More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available data from aleo.com, a public directory built on the Polish KRS and REGON registers. It does not bypass any login, paywall, or CAPTCHA. Users are responsible for complying with ALEO's terms of use and applicable data protection laws (GDPR, CCPA, and PIPL where relevant). Rows contain personal data: names of board members, supervisors, proxies and shareholders, and the name of the owner of a sole proprietorship. Handle it accordingly, for a legitimate purpose, inform the people concerned where the GDPR requires it, and respect their right to object to direct marketing. The data returned is informational; for a legally binding statement, order the official extract from the KRS register.

Built by SilentFlow for sales, credit and market research teams who work with Polish companies.