Panorama Firm (PL) Scraper — Polish business leads
Pricing
from $5.00 / 1,000 companies
Panorama Firm (PL) Scraper — Polish business leads
Scrapes Polish business directory panoramafirm.pl. Returns structured records with company name, address, phone (E.164), email, website, NIP tax ID, categories, rating, reviews, opening hours and geo coordinates. Built for lead generation, CRM enrichment and market research in Poland.
Pricing
from $5.00 / 1,000 companies
Rating
0.0
(0)
Developer
Always Prime
Actor stats
1
Bookmarked
4
Total users
2
Monthly active users
6 days ago
Last modified
Categories
Share
🇵🇱 Panorama Firm Scraper — Polish Business Leads on Demand
Turn panoramafirm.pl — Poland's largest online business directory — into a clean, structured stream of B2B leads. Names, phones, emails, NIP tax IDs, addresses, ratings, reviews and geo coordinates, ready to drop into your CRM, outreach tool or BI dashboard.
✨ Why this scraper?
- 📞 Real phone numbers in E.164 format (
+48224230666) — no obfuscation, no "click to reveal" placeholders. - 📧 Verified business emails — service / placeholder addresses are filtered out automatically.
- 🏢 Polish tax registry NIP on every record — perfect for deduping against your own data or enriching with KRS / GUS lookups.
- ⭐ Full review payloads — author, rating, text and ISO date for every review on the listing.
- 🗺️ Latitude & longitude — drop the data straight into your map, route planner or geo-targeted ads.
- 🔁 Smart deduplication by NIP — the same business listed under multiple categories collapses into one row.
- 🛡️ Resilient by design — session rotation, automatic retries, 404 / 410 handling and anti-bot recovery built in.
🎯 Built for
- 🚀 Sales & lead generation — build prospect lists by city, category or keyword.
- 🧩 CRM enrichment — fill missing phones, emails, addresses, NIPs against your existing accounts.
- 📊 Market research — competitor mapping, market sizing, density analysis by region.
- 📍 Local SEO & ads — geo coordinates and category metadata for hyperlocal targeting.
📦 What you get per company
| Field | Description |
|---|---|
🏷️ name | Company name |
🗂️ categories | Business categories (comma-separated when more than one) |
📝 description | Short description / tagline |
🏠 address, street, postalCode, city, voivodeship | Postal address — full string plus split components |
📞 phones | Phone number(s) in E.164 format (comma-separated when more than one) |
📧 emails | Email address(es) (comma-separated when more than one) |
🌐 website | Company website URL (normalized) |
🆔 nip, regon, krs | Polish business registry IDs — panoramafirm.pl publishes only NIP for almost every listing, so regon / krs are usually null |
⭐ rating, reviewsCount | Aggregated rating and number of reviews |
💬 reviews | Array of review objects with author, rating, text, publishedAt — null when none |
🕐 openingHours | Business hours per day of week (when published) |
🌍 latitude, longitude | Geo coordinates (when available) |
🔗 socialLinks | Facebook / Instagram / LinkedIn URLs (comma-separated) |
📌 url, scrapedAt | Source URL and ISO timestamp |
⚙️ Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchTerms | array of string | one of | [] | 🔍 Free-text keywords or company names, e.g. ["nike", "restauracja"]. Each term is sent as the what parameter to panoramafirm.pl. |
searchLocation | string | no | — | 📍 Optional city/region applied to all search terms, e.g. "Warszawa". Sent as the where parameter. If empty, the search runs nationwide. |
startUrls | array of { url } | one of | [] | 🔗 Direct panoramafirm.pl URLs (search, category, or detail). |
maxResults | integer | no | 100 | 🔢 Cap on detail pages scraped per query. 0 = unlimited. |
maxConcurrency | integer | no | 5 | ⚡ Parallel requests. |
deduplicateByNip | boolean | no | true | 🔁 Skip records sharing a NIP — same business often appears under multiple categories. |
At least one of searchTerms or startUrls must be provided.
💡 Tip: put the keyword in
searchTermsand the city insearchLocationseparately. Passing both inside a single term (e.g."nike Warszawa") gives the site a single token to match and yields far fewer results than splitting them.
🧪 Example input
{"searchTerms": ["restauracja", "fryzjer"],"searchLocation": "Warszawa","maxResults": 50}
📤 Example output (single record)
{"url": "https://panoramafirm.pl/mazowieckie,,warszawa,bemowo,drzeworytników,99/moton_sp._z_o.o.-srinig_fbz.html","name": "Moton Sp. z o.o.","categories": "Filtry","description": "Firma Moton znajduje się w Warszawie. Działalność istnieje od 2010 roku i oferuje sprzedaż najwyższej klasy rozwiązań filtrujących.","address": "ul. Drzeworytników 99, 01-385 Warszawa Bemowo woj: mazowieckie","street": "ul. Drzeworytników","postalCode": "01-385","city": "Warszawa","voivodeship": "mazowieckie","phones": "+48224230666","emails": "moton@filtry.org.pl","website": "https://www.filtry.org.pl/","nip": "5222940841","regon": null,"krs": null,"rating": 4.75,"reviewsCount": 8,"reviews": [{"author": "Jarek","rating": 5,"text": "Swoją lakiernię zaopatrujemy w filtry od tego sprzedawcy i zawsze jesteśmy zadowoleni.","publishedAt": "2022-05-28T23:00:00.000Z"}],"openingHours": null,"latitude": 52.22717,"longitude": 20.90655,"socialLinks": null,"scrapedAt": "2026-05-01T20:21:53.232Z"}
📤 Output formats
The dataset is available as JSON, CSV, Excel, HTML, JSONL, RSS and XML — straight from the Apify dataset UI or via the API. Pipe it into Google Sheets, Make / Zapier, your warehouse, or any tool that speaks one of those formats.
⚖️ Legal & compliance
Panorama Firm allows crawling per its robots.txt. This actor scrapes business contact data only — names, addresses, phones, emails, websites and tax IDs of registered businesses — and does not target personal data of identifiable individuals. You are responsible for ensuring your usage complies with GDPR, the source's Terms of Service, and any applicable local laws — including how you store, process and contact the leads you collect.