Skip to content

Pracuj.pl Scraper

Try for free

Scrape Polish job offers from pracuj.pl: title, employer, salary per contract type, work mode, seniority, locations, technologies, full description, benefits and apply link. Search by keyword or URL with filters.

💼 Pracuj.pl Scraper

Scrape job offers from pracuj.pl, Poland's largest job board: title, employer, salary for every contract type, work mode, seniority, locations, technologies, the full offer text, benefits and apply links. Search by keyword or paste any pracuj.pl search URL, add filters, and export clean JSON, CSV or Excel. No login, no browser, and full offer details are included at the same low price.

✨ Why use Pracuj.pl Scraper?

  • 💰 Salaries you can analyse — the salary text plus parsed min / max, currency, period (month or hour) and type (gross, net, net + VAT), with a separate range for each contract type (umowa o pracę, B2B, zlecenie ...).
  • 📄 Full offer details included — responsibilities, requirements, nice-to-haves, benefits, technologies, categories, recruitment stages, apply link and contact phone, at no extra cost.
  • 🎯 All the site's filters — city and radius, voivodeship, category, contract type, remote / hybrid / on-site, seniority, work schedule, posting date, minimum salary, SuperOffers, one-click apply and Ukrainian-friendly offers.
  • 🔗 Any pracuj.pl URL works — search pages (including it.pracuj.pl), single offers and employer pages.
  • 🧹 One row per job — multi-location offers are grouped, with every workplace, its own offer link and coordinates in locations.
  • ⚡ Fast and light — reads the data pracuj.pl ships with each page over plain HTTP, no browser.

🎯 Use cases

  • 📊 Salary benchmarking — compare pay for a role across cities, seniority levels and contract types in Poland.
  • 🧲 Lead generation — find companies that are hiring right now in your target category or region.
  • 🔔 Job alerts and job boards — schedule a daily run with "Posted within: last 24 hours" and feed new offers into your own app.
  • 🧑‍💻 Tech market research — track demand for technologies (Python, Java, SAP ...) and remote vs. hybrid work.
  • 🏢 Recruitment intelligence — monitor competitors' open positions, benefits and hiring speed.

🚀 How to use

  1. Type one or more search keywords (for example python developer, księgowa, magazynier) or paste pracuj.pl URLs.
  2. Optionally add filters (city, radius, contract type, work mode, salary, posted within ...).
  3. Set Max results and keep Include full offer details on for the complete offer text.
  4. Click Start, then export the dataset as JSON, CSV, Excel or HTML, or read it through the API.

📥 Input

FieldWhat it does
searchQueriesKeywords, each run as its own search. Empty = all offers matching the filters.
startUrlspracuj.pl / it.pracuj.pl search URLs, offer URLs (...,oferta,123) or employer pages (pracodawcy.pracuj.pl/company/123).
maxResultsMaximum jobs in total (0 = no limit, up to 100,000).
location, radiusKmCity and distance (0, 10, 20, 30, 50, 100 km).
regions, categoriesVoivodeships (or abroad) and job categories.
contractTypes, workModes, positionLevels, workSchedulesThe site's own filters.
postedWithinDays, minSalary, withSalaryOnlyFreshness and salary filters.
superOffersOnly, oneClickApplyOnly, ukrainianFriendlyOffer flags.
includeDetailsRead each offer page for the full description (default on, same price).
{
  "searchQueries": ["python developer"],
  "location": "Kraków",
  "radiusKm": 30,
  "contractTypes": ["b2b", "employment"],
  "workModes": ["remote", "hybrid"],
  "postedWithinDays": "7",
  "maxResults": 100,
  "includeDetails": true
}

📤 Output

One row per job. Main fields:

FieldDescription
title, company, companyUrl, companyLogoJob and employer
location, allLocations, locations, regionWorkplaces (with offer link and coordinates per location)
workplaceType, workModes, isRemoteremote / hybrid / onsite / mobile
contractTypes, positionLevels, workSchedulesContract, seniority, schedule
salaryText, salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryType, salariesSalary, overall and per contract type
postedAt, firstPublishedAt, expiresAtDates (ISO 8601)
jobUrl, applyUrl, externalApplyUrlLinks
responsibilities, requirements, niceToHave, offered, benefits, technologiesOffer sections (with details)
descriptionText, lists, aboutCompany, aboutProjectFull text and every section as title + items
categories, leadingCategory, specializations, requiredLanguages, jobDetailsClassification and extra attributes
isSuperOffer, isOneClickApply, isDirectlyFromEmployer, highlights, aiSummary, contactPhoneFlags, badges, AI summary, phone

Example (shortened, sample values):

{
  "id": "1005000001",
  "groupId": "58080000-56be-0050-8902-000000000001",
  "title": "Senior Python Developer",
  "company": "Example Software Sp. z o.o.",
  "companyUrl": "https://pracodawcy.pracuj.pl/company/1070000001",
  "location": "Warszawa, Mokotów",
  "allLocations": ["Warszawa, Mokotów"],
  "country": "PL",
  "region": "mazowieckie",
  "workplaceType": "hybrid",
  "isRemote": false,
  "workModes": ["Praca hybrydowa"],
  "level": "Starszy specjalista / Starsza specjalistka (senior)",
  "contractTypes": ["Umowa o pracę", "Kontrakt B2B"],
  "salaryText": "17 000–25 000 zł / mies. (zal. od umowy)",
  "salaryMin": 17000,
  "salaryMax": 25000,
  "salaryCurrency": "PLN",
  "salaryPeriod": "month",
  "salaryType": "depends on contract",
  "salaries": [
    {"contractType": "Umowa o pracę", "min": 20000, "max": 25000, "currency": "PLN", "period": "month", "type": "gross"},
    {"contractType": "Kontrakt B2B", "min": 17000, "max": 22000, "currency": "PLN", "period": "month", "type": "net + VAT"}
  ],
  "postedAt": "2026-10-14T15:00:00Z",
  "expiresAt": "2026-11-10T22:59:59Z",
  "jobUrl": "https://www.pracuj.pl/praca/senior-python-developer-warszawa,oferta,1005000001",
  "applyUrl": "https://www.pracuj.pl/aplikuj/senior-python-developer-warszawa,oferta,1005000001",
  "requirements": ["Minimum 5 lat doświadczenia w backendzie", "Bardzo dobra znajomość Pythona i Django"],
  "technologies": ["Python", "Django", "PostgreSQL", "Docker"],
  "benefits": ["prywatna opieka medyczna", "karta sportowa"],
  "leadingCategory": "IT - Rozwój oprogramowania > Programowanie",
  "isSuperOffer": true,
  "isDirectlyFromEmployer": true,
  "detailFetched": true,
  "source": "pracuj.pl"
}

💰 Pricing

You pay $0.50 per 1,000 jobs ($0.0005 per saved job), with the full offer details included. A run that saves 1,000 jobs costs about $0.50 in job fees plus a small amount of platform usage (compute and proxy traffic), which is billed separately at the platform's normal rates. Offers that are not saved are never charged, and the run stops cleanly when your maximum total charge is reached.

❓ FAQ

Is it legal to scrape pracuj.pl? The scraper only reads publicly visible job offers, the same pages anyone can open without an account. Make sure your use of the data (especially contact phones) follows GDPR and pracuj.pl's terms.

Do I need a login or my own proxy? No. No account is needed, and the built-in proxy is preselected. If the site starts challenging datacenter IPs, the scraper switches to Polish residential IPs by itself.

How many results can I get? As many as pracuj.pl lists for your search; all of Poland is usually around 50,000 jobs. Use maxResults to cap the run.

Why are some fields empty? pracuj.pl employers fill different sections. Salary is only present when the employer published it, and offer sections (requirements, benefits, technologies ...) need Include full offer details.

Why are names in Polish? Contract types, work modes, levels and categories are kept exactly as pracuj.pl shows them; normalized fields such as workplaceType, salaryPeriod and salaryType are in English.

Can I schedule it or use the API? Yes. Schedule daily runs with "Posted within: last 24 hours" for alerts, and read results through the API or integrations.

⚠️ Limits

  • Only public pracuj.pl and it.pracuj.pl offers; applications and logged-in features are not supported.
  • Filters in the input apply to keyword searches; pasted search URLs keep their own filters.
  • Subcategories are selected by pasting a filtered search URL (the input offers the main categories).
  • Offer text is returned in the language the employer wrote it in (mostly Polish).

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.