Pracuj.pl Job Scraper — Poland Jobs, Salaries & Companies
Pricing
from $1.90 / 1,000 results
Pracuj.pl Job Scraper — Poland Jobs, Salaries & Companies
Scrape pracuj.pl, Poland's #1 job board. Export structured job offers with salary (min/max/currency), contract type, work mode, tech stack, requirements, benefits, company data, apply links and AI summaries. Incremental monitoring + notifications built in.
Pricing
from $1.90 / 1,000 results
Rating
0.0
(0)
Developer
Corvuslab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Pracuj.pl Job Scraper — Poland Jobs, Salaries & Company Data
Turn every live pracuj.pl job offer into clean, structured data — in seconds, at scale.
Scrape job offers from pracuj.pl, Poland's #1 job board, and get back everything that matters: structured salary (min / max / currency), contract type, work mode, tech stack, requirements, benefits, company details and the direct apply link. Search by keyword and filters or paste your own pracuj.pl URL — no code required. Export to JSON, CSV, Excel or the API, or pipe it straight into Google Sheets, n8n, Make or an AI agent (MCP).
Why this scraper
- ⚡ Fast & low-cost — pure HTTP, no headless browser, so large runs stay cheap.
- 🧾 Rich, typed records — 30+ structured fields per offer, not raw HTML.
- ♻️ Cheap to monitor — incremental mode re-scrapes only what changed (see below).
- 🔔 Notifications built in — Telegram, Slack, Discord, WhatsApp or any webhook.
- 🤖 AI- & API-ready — compact output, MCP-friendly, one-click integrations.
✨ Key features
- 🇵🇱 The whole of pracuj.pl — search across every category and all 16 voivodeships, or paste a ready-made pracuj.pl search URL and let the scraper page through it.
- 💰 Structured salary — not just the raw text:
salaryFrom,salaryTo,salaryCurrency, time unit and gross/net kind, broken out for instant benchmarking. - 🧠 Full job details — description (text / HTML / Markdown), responsibilities, required & optional requirements, benefits, tech stack, required languages, IT specializations and the employer's own AI summary of the role.
- 🏢 Company & apply data — company name, ID, profile URL, logo, direct-employer flag, the direct apply link, reference number and one-click-apply flag.
- 🎚️ Rich filters — keyword, region, category, seniority, contract type (B2B, employment, mandate…), work mode (remote / hybrid / on-site), work schedule, "posted within" and salary-only.
- ♻️ Incremental monitoring — schedule a run and get only what changed (NEW / UPDATED / EXPIRED), with reposted-offer detection; unchanged offers are skipped before their page is fetched.
- 🔔 Notifications — push new offers to Telegram, Slack, Discord, WhatsApp or any webhook (n8n / Make / Zapier).
- 🤖 AI-ready — compact mode + drop-empty-fields mode keep payloads lean for LLMs and MCP.
- ⚡ Fast & cheap — pure HTTP, no headless browser.
📤 Example output
{"id": "1004957230","title": "Senior Software Engineer (Python, GenAI & Agentic AI)","url": "https://www.pracuj.pl/praca/senior-software-engineer-python-genai-agentic-ai-warszawa,oferta,1004957230","company": "IN4GE sp. z o.o.","companyProfileUrl": "https://pracodawcy.pracuj.pl/company/1074095560","location": "Warszawa","city": "Warszawa","region": "mazowieckie","country": "Polska","isRemote": true,"salaryText": "140–170 zł netto (+ VAT) / godz.","salaryFrom": 140.0,"salaryTo": 170.0,"salaryCurrency": "PLN","salaryTimeUnit": "godzinowo","salaryKind": "netto (+ VAT)","contractTypes": ["Kontrakt B2B"],"workModes": ["Praca zdalna"],"positionLevels": ["Starszy specjalista / Starsza specjalistka (senior)"],"technologies": ["Python"],"technologiesOptional": ["LangGraph", "LangChain", "Agentic AI", ".NET"],"requiredLanguages": ["angielski"],"requirements": ["Minimum 5 lat doświadczenia komercyjnego w obszarze Software Engineering.", "Bardzo dobra znajomość Python."],"responsibilities": ["Projektowanie, rozwój i utrzymanie rozwiązań opartych o Generative AI, Agentic AI oraz RAG."],"offered": ["możliwość pracy zdalnej", "elastyczny czas pracy"],"categories": ["Programowanie", "Architektura"],"aiSummary": "Masz minimum 5 lat doświadczenia w software engineering oraz praktyczną znajomość Python...","applyUrl": "https://www.pracuj.pl/aplikuj/...,oferta,1004957230","postedDate": "2026-08-05T15:00:00Z","expirationDate": "2026-08-08T21:59:59Z","source": "pracuj.pl"}
Descriptions are also available as HTML and Markdown, not just plain text.
📚 What data can you extract?
- Core — id, title, URL, company, location / city / region / country, remote flag, categories, posted & expiration dates.
- Salary — raw text plus structured
salaryFrom/salaryTo/salaryCurrency, time unit and gross-vs-net kind. - Details (with Fetch full details) — description (text / HTML / Markdown), responsibilities, required & optional requirements, benefits offered, tech stack (required + optional), required languages, position levels, contract types, work modes and the employer's AI summary.
- Company & apply — company ID, profile URL, logo, direct-employer flag, direct apply link, reference number and one-click-apply flag.
Every field is present in standard mode (missing values are null); compact mode returns the
core fields only, for lean AI/MCP payloads.
⚙️ Input
Configure it in the visual editor — no code needed — or pass JSON via the API.
| Field | What it does |
|---|---|
query | One or more keywords; each runs as its own search, merged & de-duplicated. |
startUrls | Paste ready-made pracuj.pl search URLs or individual offer URLs. |
region / category / positionLevel / contractType / workMode / workSchedule | Multi-select filters applied on the site. |
postedWithin / withSalary | Narrow to fresh or salaried offers only. |
includeDetails | Off = fast listing-only; on = full description, requirements, benefits, structured salary, apply link. |
incrementalMode | Emit only what changed since the previous run. |
maxResults | Cap records per run (0 = unlimited). |
proxyConfiguration | Optional — works without a proxy at typical volumes. |
…and 31 inputs in total — the table shows the essentials; the rest cover description formatting
(descriptionFormat, descriptionMaxLength), AI/compact output (compact, excludeEmptyFields),
notification channels (Telegram / Slack / Discord / webhook) and advanced tuning, all in the visual
editor.
Example inputs
{ "query": "python developer", "region": ["mazowieckie"], "maxResults": 100 }
{ "query": "data engineer", "workMode": ["Praca zdalna"], "withSalary": true, "includeDetails": true }
{ "query": "devops", "incrementalMode": true, "stateKey": "devops-pl", "telegramToken": "...", "telegramChatId": "..." }
💡 Use cases
- Recruitment & sourcing — build a live feed of open roles and companies hiring in Poland, filtered to your niche.
- Salary benchmarking — aggregate
salaryFrom/salaryToby role, seniority, region, contract type or tech stack. - Lead generation — find companies actively hiring (a strong buying signal) with their profile URLs and apply channels.
- Market & talent research — track demand for skills, technologies and languages across the Polish market over time.
- Job boards & aggregators — enrich your own listings with structured pracuj.pl data.
♻️ Incremental monitoring — pay for changes, not repeats
Schedule the actor and turn on incremental mode: each run compares against the last and emits only NEW / UPDATED / EXPIRED offers — unchanged offers are skipped before their page is even fetched, so a daily watch costs a fraction of a full re-scrape.
| Daily churn | of 1,000 tracked | billable offers | you save |
|---|---|---|---|
| 5 % | 1,000 | 50 | 95 % |
| 15 % | 1,000 | 150 | 85 % |
| 30 % | 1,000 | 300 | 70 % |
The first run seeds the baseline and bills in full; every run after that bills only the delta.
🚀 How to run it
- Enter a search keyword (e.g.
python developer) and/or pick filters — or paste a pracuj.pl URL. - Set Max results and choose whether to fetch full details.
- (Optional) Turn on incremental mode and a notification channel, then Schedule it.
- Click Start.
- Download the data as JSON, CSV or Excel, or pull it from the API.
New to Apify? Create a free account — it comes with monthly credit, no credit card required.
🔌 Integrations & export
Export to JSON, CSV, Excel or an HTML table, or pull from the REST API and the
JavaScript / Python clients. Runs on a schedule, connects to Google Sheets, Slack, Make,
Zapier and n8n, and works as an MCP tool for AI agents — compact mode plus
descriptionMaxLength keeps token usage small.
❓ FAQ
Do I need to log in or provide a proxy? No — it works out of the box with no proxy. Apify Proxy is available under Advanced if you ever want it for very high-volume runs.
Can I get only new offers on a schedule? Yes — turn on incremental mode and schedule the actor. Each run emits only NEW / UPDATED (and optionally EXPIRED) offers, and can notify your Telegram / Slack / Discord / WhatsApp / webhook.
What formats can I export? JSON, CSV, Excel, HTML table, or via the API.
Is the description available as HTML / Markdown? Yes — choose plain text, HTML, Markdown, or all three, with an optional length cap.
How many offers can I get? As many as the search returns — set maxResults (0 = unlimited).
Leave the keyword and location empty to sweep the whole board.
Is scraping this legal? The scraper collects only publicly available job-posting data. You are responsible for how you use it, including compliance with the GDPR and pracuj.pl's terms.
⚖️ Disclaimer
This actor accesses only publicly available data on pracuj.pl. You are responsible for how you use the extracted data — in particular any personal information — and for complying with the site's terms and applicable law (including the GDPR where it applies). Not affiliated with, endorsed by, or sponsored by Grupa Pracuj S.A.
Keywords: pracuj scraper · pracuj.pl scraper · pracuj api · poland jobs scraper · polish job board · praca scraper · oferty pracy scraper · IT jobs poland · salary data poland · recruitment sourcing · lead generation · labour market research · job monitoring · export to CSV/Excel/JSON · no-code job scraper · MCP tool for AI agents