Pracuj.pl Scraper avatar

Pracuj.pl Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Pracuj.pl Scraper

Pracuj.pl Scraper

Scrape pracuj.pl for structured Polish job data: titles, companies, salaries in PLN, contract types (B2B, umowa o pracę), tech stacks, requirements & full descriptions. 200k+ listings with repost detection.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

5

Total users

1

Monthly active users

5 days ago

Last modified

Share

Pracuj.pl Scraper

Scrape structured job data from pracuj.pl — Poland's largest job portal with 200,000+ active listings. Covers all contract types specific to Polish labour law (B2B, umowa o pracę, zlecenie), structured salary data in PLN, technology stacks, requirements, and full job descriptions.


Why this scraper?

🏭 Poland's #1 job board — complete coverage

Pracuj.pl is the dominant platform in the Polish job market, used by enterprise employers, startups, and public institutions alike. Coverage spans all industries, regions, and seniority levels from internship to C-suite.

🧾 Polish contract types — fully parsed

The scraper extracts all contract types specific to Polish law: umowa o pracę, kontrakt B2B, umowa zlecenie, umowa o staż, and more. Each contract type is paired with its salary range where published.

💰 Structured salary data — per contract type

Salaries are returned as structured fields — salaryMin, salaryMax, salaryCurrency (PLN), salaryPeriod (monthly/hourly), and salaryKind (gross, net, net+VAT). Multi-contract listings report the salary for the primary contract.

🛠️ Technology stacks — extracted separately

For IT and tech roles, required and optional technologies are returned as dedicated arrays (technologiesRequired, technologiesNice), parsed separately from the free-text description. Ready for analytics without any post-processing.

🔄 Repost detection — cross-run deduplication

Pracuj.pl employers regularly republish the same role to stay visible. The scraper tracks all seen listing IDs with a 90-day TTL. Set skipReposts: true to receive only genuinely new postings.

📍 Full location data — city, region, coordinates

Each listing returns the full workplace address broken down into city, voivodeship, country, and GPS coordinates — ready for geographic filtering and distance calculations.


Input parameters

ParameterTypeDescriptionDefault
keywordsstringJob title or keyword, e.g. "Java Developer"
locationstringCity or region, e.g. "Warszawa", "Kraków"— (all Poland)
maxResultsintegerMaximum listings to return100
daysOldintegerOnly return listings posted within N days (1/3/7/14/30)
contractTypeselectFilter by contract typeany
workModeselectany · remote · hybrid · office · mobileany
workScheduleselectany · fulltime · parttimeany
skipRepostsbooleanSkip listings seen in previous runsfalse
startUrlsarraySpecific Pracuj.pl search URLs to scrape

Output schema

{
"id": "1004727799",
"groupId": "84450000-56be-0050-ca62-08de89b21d07",
"url": "https://www.pracuj.pl/praca/fullstack-developer-java-angular-wroclaw,oferta,1004727799",
"title": "Fullstack Developer (Java+Angular)",
"company": "HIBERUS POLAND SP. Z O.O.",
"companyId": "1074071565",
"companyUrl": "https://pracodawcy.pracuj.pl/company/1074071565",
"companyLogoUrl": "https://logos.gpcdn.pl/loga-firm/1074071565/logo_280x280.png",
"location": "Wrocław, Stare Miasto",
"city": "Wrocław",
"region": "dolnośląskie",
"country": "Polska",
"address": "plac Teatralny 1, Stare Miasto, Wrocław",
"latitude": 51.10545,
"longitude": 17.03177,
"isWholePoland": true,
"contractTypes": ["B2B contract"],
"workModes": ["home office work"],
"workSchedules": ["full-time"],
"positionLevels": ["specialist (Mid / Regular)", "senior specialist (Senior)"],
"isRemote": true,
"salaryDisplayText": "16 800–21 000 zł netto (+ VAT) / mies.",
"salaryMin": 16800,
"salaryMax": 21000,
"salaryCurrency": "PLN",
"salaryPeriod": "monthly",
"salaryKind": "net (+ VAT)",
"description": "<h3>Responsibilities</h3><ul><li>Designing and developing...</li></ul>",
"descriptionText": "Responsibilities:\n- Designing and developing...",
"descriptionMarkdown": "### Responsibilities\n\n- Designing and developing...",
"technologiesRequired": ["Java", "Angular", "TypeScript", "Oracle RDBMS", "Git"],
"technologiesNice": ["Playwright", "GitHub Copilot"],
"responsibilities": ["Designing and developing new functionalities..."],
"requirementsRequired": ["Commercial experience as Full-stack Developer (Java + Angular)"],
"requirementsNice": ["Knowledge of the Dutch language"],
"benefits": ["Multisport card", "Private medical care"],
"categories": [
{ "id": 5016003, "name": "Programming", "parentId": 5016, "parentName": "IT software development" }
],
"applyUrl": "https://www.pracuj.pl/aplikuj/fullstack-developer...,oferta,1004727799",
"publishDate": "2026-04-04",
"publishDateISO": "2026-03-24",
"expirationDate": "2026-04-23",
"isSuperOffer": true,
"isFranchise": false,
"isOptionalCv": false,
"isOneClickApply": false,
"source": "pracuj.pl",
"scrapedAt": "2026-04-04T14:30:00.000Z",
"contentHash": "a3f1b2c4d5e67890",
"summary": "Fullstack Developer (Java+Angular) @ HIBERUS POLAND — Wrocław, Stare Miasto — 16 800–21 000 zł netto (+ VAT) / mies.",
"isRepost": false,
"originalPublishDate": null,
"originalUrl": null
}

Examples

1 — Remote Java developers in Warsaw, posted in the past 7 days

{
"keywords": "Java Developer",
"location": "Warszawa",
"workMode": "remote",
"daysOld": 7,
"maxResults": 200
}

2 — All B2B IT contracts, any location, full-time only

{
"keywords": "developer",
"contractType": "b2b",
"workSchedule": "fulltime",
"maxResults": 500
}

3 — Scrape a specific saved search URL

{
"startUrls": [
{ "url": "https://www.pracuj.pl/praca/python;kw/krakow;wp" }
],
"maxResults": 50
}

4 — Daily monitor: skip reposts, past 24 hours only

{
"keywords": "Project Manager",
"daysOld": 1,
"skipReposts": true,
"maxResults": 1000
}

5 — Polish internships and trainee positions

{
"contractType": "internship",
"location": "Kraków",
"maxResults": 100
}

💰 Pricing

$1.50 per 1,000 results — you only pay for successfully retrieved listings. Failed retries and filtered reposts are never charged.

ResultsCost
100~$0.15
1,000~$1.50
10,000~$15.00
100,000~$150.00

Flat-rate alternatives typically charge $29–$49/month regardless of usage. At 10,000 results/month, this scraper costs significantly less with no commitment.

Use the Max results cap in the input to control your spend exactly.


Performance

Run sizeApprox. time
100 listings~2 min
1,000 listings~18 min
10,000 listings~3 hours

Detail pages are fetched individually — throughput depends on server response times. Runs include automatic retry on transient errors.


Known limitations

  • Salary: Not published by all employers — salaryMin, salaryMax will be null when the employer hasn't disclosed pay.
  • Multi-contract salary: When a listing advertises multiple contract types (e.g. B2B + umowa o pracę), only the salary of the first contract type with salary data is returned in the top-level salary fields.
  • Apply URL: The applyUrl links to the Pracuj.pl application form, not necessarily to an external employer ATS.
  • Location multi-posting: A single job posting may be listed at multiple locations. Each location is returned as a separate row with its own id (partitionId). The groupId field links them.
  • Technology sections: Only present for roles that use the structured tech section, primarily IT and engineering positions.
  • Filters: daysOld accepts only the values 1, 3, 7, 14, and 30. Other values are rounded up to the nearest accepted value.

Technical details

  • Source: pracuj.pl — Poland's largest employment platform
  • Memory: 256 MB
  • Repost storage: KeyValueStore pracuj-pl-job-dedup, 90-day TTL
  • Retry: Automatic retry on network errors, exponential backoff, 3 attempts per request

Additional services

Need a custom actor, additional filters, scheduled runs, or integration support? Send an email to info@unfencedgroup.nl — we build on request.


Built by unfenced-group · Issues? Open a ticket or send a message.