Poland Road Transport Operators Scraper - Permits & Licences
Pricing
$1.00 / 1,000 per row returneds
Poland Road Transport Operators Scraper - Permits & Licences
Scrape Poland's road-transport operators from GITD's KREPTD open-data extracts: about 77,000 goods and passenger permits, licences and intermediaries with legal form, address, voivodeship, permit or licence number and expiry. Flags operators new, changed or removed since the previous extract.
Pricing
$1.00 / 1,000 per row returneds
Rating
0.0
(0)
Developer
Scrapers Delight
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Poland Road Transport Operators Scraper do?
Poland Road Transport Operators Scraper turns the public part of KREPTD — Poland's national register of road-transport undertakings, kept by GITD (Główny Inspektorat Transportu Drogowego) — into clean rows: one row per published permit or licence, with the operator's name, legal form, address, voivodeship, permit or licence number and licence expiry. It reads the five half-yearly extracts GITD publishes on the national open-data portal dane.gov.pl, decodes them, splits the addresses, and can tell you which operators are new, changed or gone since the previous extract.
Also searched as: KREPTD scraper, GITD przewoźnicy, rejestr przewoźników drogowych, Polish haulage companies list, Poland trucking companies database.
- 🚛 76,919 rows across five registers in the newest extracts: 28,521 goods operator permits, 758 passenger operator permits, 44,229 goods licences, 2,825 passenger licences and 586 passenger-transport intermediaries.
- 🏢 Operator, legal form, address, voivodeship on every permit and licence row (voivodeship is published on all but 3 of 28,521 goods permits).
- 📅 Licence expiry with a computed status — valid / expired on the day you run it, and days left.
- 🔁 Changes since the previous extract — new, changed (with the old values) and removed operators. Goods permits, June -> December 2025: 919 new, 834 changed, 1,716 removed.
- 🎯 Filters: voivodeship, city, postcode prefix, legal form, name words, permit / licence numbers, licence status, expiring within N days.
- 🧾 Provenance on every row: the extract date, the dane.gov.pl resource id and the exact CSV it came from.
- 🔓 No login, no API key, no browser.
What data can you get from the KREPTD / GITD extracts?
🏢 Operator name operatorName | ⚖️ Legal form legalForm + legalFormCode | 👤 Sole trader flag isSoleTrader |
🔢 Permit / licence number authorisationNumber | 📋 Register register / registerNameEn | 🚚 Goods or passengers transportScope |
📅 Licence valid until licenceValidUntil | ✅ Licence status licenceStatus | ⏳ Days to expiry daysUntilExpiry |
📮 Postcode postalCode | 🏘️ Locality locality | 🏙️ Post town postTown |
🛣️ Street / village + number streetAddress | 📍 Full address addressFull | 🗺️ Voivodeship + TERYT code |
🏛️ KRS number (intermediaries) krsNumber | 🪪 CEIDG entry (intermediaries) ceidgRegistered | 🔁 Change type changeType |
📝 Changed fields changedFields | ⏪ Previous values previousValues | 🗓️ Extract date editionDate |
🔗 Source CSV sourceFileUrl | 🆔 Stable id recordId | 📜 Data licence dataLicense (CC0 1.0) |
Not in the extracts, so not in this actor: NIP, REGON, number of vehicles, transport managers, permit issue date and permit status history. GITD publishes those only on kreptd.gitd.gov.pl itself, which refuses connections from outside Poland and keeps the NIP / vehicle view behind a CAPTCHA.
How to scrape Polish road-transport operators with Poland Road Transport Operators Scraper
- Sign up for a free Apify account — it comes with free monthly credit.
- Open Poland Road Transport Operators Scraper and pick the registers you want (goods permits is preselected).
- Optionally narrow it down: a voivodeship, a few cities or postcode prefixes, legal forms, name words.
- Set Max rows (0 = everything) and click Start.
- Download the rows as JSON, CSV, Excel or HTML, or read them through the API.
Input
| Parameter | Type | Default | What it does |
|---|---|---|---|
registers | array | ["goods-permits"] | Any of goods-permits, passenger-permits, goods-licences, passenger-licences, passenger-intermediaries. |
editionDate | string | newest | Read the newest extract published on or before this date (2024-12-31). |
voivodeships | array | all | Voivodeship names, e.g. mazowieckie. |
cities | array | all | Exact locality or post town, case and diacritics ignored (lodz = ŁÓDŹ). |
postalCodePrefixes | array | all | 00-, 02, 60-1 — digits are compared. |
legalForms | array | all | sole-trader, sp-z-oo, civil-partnership, general-partnership, limited-partnership, sp-z-oo-sp-k, joint-stock, … |
nameContains / nameExcludes | array | — | Words the operator name must / must not contain. |
authorisationNumbers | array | — | Look up numbers: 25661, TU-047218, OU-004837 (leading zeros and spaces ignored). |
licenceStatus | string | any | valid or expired on the run date. |
licenceExpiresWithinDays | integer | — | Licences still valid that expire within N days. |
editionChanges | string | off | flag, new, changed, removed or all-changes versus the previous extract. |
onlyNewSinceLastRun + monitorKey | boolean / string | false / default | Skip rows already delivered to you by earlier runs. |
sortBy | string | source | name, postalCode, voivodeship, licenceValidUntil. |
maxItems | integer | 100 | Row cap; 0 = no limit. |
proxyConfiguration | object | none | Only used if a direct request to dane.gov.pl fails. |
Input JSON
{"registers": ["goods-permits", "goods-licences"],"voivodeships": ["wielkopolskie"],"legalForms": ["sp-z-oo"],"nameContains": ["trans", "logistic"],"maxItems": 500}
Pick the register before anything else
Goods permits (zezwolenia na wykonywanie zawodu przewoźnika drogowego — przewóz rzeczy) are the haulage operators. Goods licences (licencje towarowe, TU- numbers) and passenger licences (licencje osobowe, OU-) are separate registers with an expiry date. Passenger-transport intermediaries (PO-) are the companies that broker passenger transport; that list has no legal-form or voivodeship column but carries the KRS number for 306 of 586 and a CEIDG flag for the other 280.
Use "Changes since the previous extract" for new-operator leads
new returns only permit / licence numbers that were not in GITD's previous extract — 919 new goods permits
between the June and December 2025 extracts. changed returns operators whose name, address, legal form or
licence expiry moved, with changedFields and previousValues. removed returns rows that disappeared, taken
from the older extract.
Small runs read only the top of the file
Without filters or sorting, a run reads only as much of the CSV as it needs: a 20-row run reads 64 KB of the
3.9 MB goods-permit file. Filters, sorting, comparisons and maxItems: 0 read the whole extract.
Output
{"recordId": "LO-OU-004837-38500","register": "passenger-licences","authorisationType": "licence","transportScope": "passengers","authorisationNumber": "OU-004837","licenceValidUntil": "2026-02-17","licenceStatus": "expired","daysUntilExpiry": -242,"operatorName": "TRAVELPL SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ","legalForm": "Spółka z o.o","legalFormCode": "sp-z-oo","isSoleTrader": false,"postalCode": "38-500","locality": "SANOK","postTown": "SANOK","streetAddress": "UL. STANISŁAWA WITKIEWICZA 4","voivodeship": "podkarpackie","voivodeshipCode": "18","editionDate": "2025-12-29","editionTitle": "Licencje osobowe (II półrocze 2025 r.)","sourceResourceId": "989872","sourceFileUrl": "https://api.dane.gov.pl/media/resources/20251229/.Licencje_osobowe.csv","dataLicense": "CC0 1.0"}
A changed row from a real comparison run (passenger permits, December vs June 2025):
{"recordId": "ZO-41661-09110","changeType": "changed","changedFields": ["operatorName"],"previousValues": { "operatorName": "PAULINA GOŁASZEWSKA A i M TRAVEL TRANSPORT OSOBOWY I CIĘŻAROWY PAULINA GOŁASZEWSKA" },"operatorName": "PAULINA WÓJCIK A i M TRAVEL TRANSPORT OSOBOWY I CIĘŻAROWY PAULINA WÓJCIK","editionDate": "2025-12-29","comparedWithEditionDate": "2025-06-30"}
Fields and measured fill (newest extracts, every row parsed)
| Field | Goods permits (28,521) | Passenger permits (758) | Goods licences (44,229) | Passenger licences (2,825) | Intermediaries (586) |
|---|---|---|---|---|---|
operatorName, authorisationNumber, postalCode, locality, addressFull | 100% | 100% | 100% | 100% | 100% |
legalForm, legalFormCode, isSoleTrader | 100% | 100% | 99.998% | 100% | isSoleTrader 100%, legal form not published |
postTown, streetAddress | 100% | 100% | 100% | 100% | 98.8% / 99.0% |
voivodeship, voivodeshipCode | 99.99% | 100% | 99.99% | 100% | not published |
licenceValidUntil, licenceStatus, daysUntilExpiry | — | — | 100% | 100% | not published |
krsNumber / ceidgRegistered | — | — | — | — | 52.2% / 100% |
changeType, changedFields, previousValues and comparedWithEditionDate are filled when a comparison runs.
Sole traders (osoba fizyczna) are 17,962 of the 28,521 goods permits.
Use cases
- 🚚 Truck and van dealers, leasing and fleet finance — every licensed haulier in a voivodeship, with address.
- ⛽ Fuel cards, tolling, telematics and tachograph services — new permit holders each half-year as fresh leads.
- 🛡️ Transport insurance brokers — licences expiring in the next 90 days (1,788 on 2026-10-17).
- 🧾 Freight forwarders and shippers — check that a carrier's permit or licence is in GITD's published extract.
- 🚌 Coach and passenger-transport suppliers — the 758 passenger operator permits and 2,825 passenger licences.
- 📊 Market analysts — operators by voivodeship, legal form and how many enter and leave per half-year.
How much does it cost to scrape the Polish road-transport register?
$0.001 per row ($1.00 per 1,000 rows), no start fee. You pay only for rows delivered to your dataset.
| Rows | Cost |
|---|---|
| 20 | $0.02 |
| 100 | $0.10 |
| 1,000 | $1.00 |
| 28,521 (all goods permits) | $28.52 |
| 76,919 (all five registers) | $76.92 |
Integrations, API, scheduling & MCP
- Schedule a monthly run with
editionChanges: "new"oronlyNewSinceLastRun: trueto pick up each new GITD extract as it appears. - Webhooks, Make, Zapier, n8n, Google Sheets, Slack — connect them from the actor's Integrations tab.
- API: call the actor from Python
or JavaScript with
apify-client. - MCP: use it from an AI agent through the MCP tab.
More transport and Polish register scrapers
| 🇬🇧 DVSA Operator Licence Scraper — UK HGV and PSV operator licences with vehicles and transport managers | 🇬🇧 Traffic Commissioner Applications — new UK operator-licence applications | 🇩🇪 VUDat Transport Operators — German transport permits |
| 🇵🇱 Polish Company Data Scraper — KRS, NIP, REGON from company websites | 🇵🇱 Poland Pharmacy Register Scraper — licensed pharmacies with NIP | 👉 All our actors |
Limits & empty runs
- Freshness: GITD publishes the extracts about twice a year. On 2026-10-17 the newest are dated 2025-12-29
(both permit registers and passenger licences) and 2025-06-30 (goods licences, intermediaries). Every row
carries its
editionDate. - Not in the extracts: NIP, REGON, vehicle numbers, transport managers, permit issue dates.
- Licence status is computed from the valid-to date against the day of the run; the extract itself carries no status. 7,436 of the 44,229 goods licences in the June 2025 extract have a valid-to date before 2026-10-17.
- Two permit numbers are each used by two operators in the December 2025 goods file; both rows are kept and
the second gets a
-2suffix on itsrecordId. - One dane.gov.pl upload is mislabeled (the 2024-07-08 "Licencje towarowe" file holds passenger licences); the
actor checks every file's numbers and skips such an extract, saying so in
RUN_SUMMARY. - No rows means your filters matched nothing in that extract; nothing is charged.
- A full read of the largest file (6.8 MB) took 10-40 s in our tests, because dane.gov.pl serves each connection slowly; small unfiltered runs finish in about 5 s.
FAQ
How much does Poland Road Transport Operators Scraper cost?
$0.001 per delivered row, with no start fee. 100 rows cost $0.10 and the whole goods-permit register (28,521 rows) $28.52.
How many operators can Poland Road Transport Operators Scraper return?
76,919 rows across the five registers in the newest extracts. Set maxItems to 0 for everything.
Does Poland Road Transport Operators Scraper return the NIP or the number of vehicles?
No. GITD does not include NIP, REGON, vehicle counts or transport managers in the extracts it publishes on dane.gov.pl, and this actor never fills a field it cannot read from the source.
Can I get only new hauliers with Poland Road Transport Operators Scraper?
Yes: set editionChanges to new. Against the previous extract that gave 919 new goods permits for December 2025.
For a schedule, onlyNewSinceLastRun also skips everything you already received.
How often is the data updated?
Whenever GITD publishes a new extract on dane.gov.pl — about every six months. The actor always looks up the newest one at run time.
Can I read an older extract?
Yes, with editionDate. Goods and passenger permits go back to 2018-12-17, licences to 2019-2020, intermediaries
to 2024-07-08. Older files are laid out differently in places (the 2020 goods-licence file has no postcode inside
the address, so postTown and streetAddress stay empty), and those fields are then null.
Can I schedule Poland Road Transport Operators Scraper?
Yes. A monthly schedule with editionChanges: "new" delivers nothing until GITD publishes a new extract, then the
new operators.
Can I use Poland Road Transport Operators Scraper through the Apify API or MCP?
Yes — see the API tab for Python, JavaScript and cURL, and the MCP tab for AI agents.
Do I need a login, API key or proxy?
No. The extracts are public open data; the actor downloads them directly.
Why did my run return no results?
Your filters matched nothing — for example a city spelled differently from the extract, or a legal-form filter on
the intermediaries register, which has no legal-form column. RUN_SUMMARY lists rows parsed and matched per register.
Your feedback
Found a bug or need another field? Open an issue on the Issues tab and we will look at it.