Pracuj.pl Job Scraper - Poland Jobs
Pricing
from $3.00 / 1,000 job listing scrapeds
Pracuj.pl Job Scraper - Poland Jobs
Scrape job listings from Pracuj.pl, Poland's #1 job board. Extract jobs with salary ranges (PLN), company profiles, requirements, benefits, and application URLs. Supports multiple queries, employment types, and remote filtering.
Pricing
from $3.00 / 1,000 job listing scrapeds
Rating
0.0
(0)
Developer
NanoScrape
Maintained by CommunityActor stats
0
Bookmarked
32
Total users
4
Monthly active users
6 days ago
Last modified
Categories
Share
Pracuj.pl Scraper: Every Job in Poland
Scrape every job on Pracuj.pl, Poland's #1 job board, with 80,000+ active listings from 20,000+ employers across every region and industry.
What it does
Given one or more keywords (optionally with a location, sort order, date filter, or employment-type filter), the actor walks Pracuj.pl's search results, extracts each listing, and can optionally fetch the full detail page for the complete description, structured salary in PLN, requirements, responsibilities, benefits and apply URL. A separate mode also fetches each employer's Pracuj.pl profile page for enriched About text and other open roles.
Every result arrives as a clean JSON record with parsed salary ranges in PLN, full requirements and benefits arrays, apply URLs, publication dates, and complete company metadata. Pay only for what you scrape, no subscriptions, no monthly fees.
Sample output
A real record from a single run (Senior Java Developer, Warsaw):
{"_type": "job","company_logo_url": "https://logos.gpcdn.pl/loga-firm/20062259/2c580000-43a8-f403-1fb3-08d7fbf29184_280x280.png","id": "1004762431","title": "Senior Java Developer","url": "https://www.pracuj.pl/praca/senior-java-developer-katowice,oferta,1004762431","company": "Scalo Sp. z o.o.","company_url": "https://pracodawcy.pracuj.pl/company/20062259","location": "Katowice","city": "Katowice","region": "slaskie","country": "PL","salary_min": 110,"salary_max": 140,"salary_currency": "PLN","salary_period": "hour","salary_text": "110-140 zl netto (+ VAT) / godz.","employment_type": "Kontrakt B2B","work_mode": "Praca zdalna","requirements": ["Java", "Spring Boot", "PostgreSQL", "Kafka", "Docker"],"responsibilities": ["rozwoj i projektowanie modulow", "code review"],"company_benefits": ["prywatna opieka medyczna", "karta sportowa Multisport"],"posted_at": "2026-04-10T10:10:39Z","expires_at": "2026-05-10T21:59:59Z","apply_url": "https://www.pracuj.pl/aplikuj/senior-java-developer-katowice,oferta,1004762431","search_query": "Java Developer","source_url": "https://www.pracuj.pl/praca/senior-java-developer-katowice,oferta,1004762431","source_platform": "pracuj.pl","scraped_at": "2026-04-10T10:15:02Z"}
Pricing
$0.001 per actor start + $0.003 per SERP row + $0.005 per full detail row (when includeJobDetails=true) + $0.005 per unique employer profile (when includeCompanyDetails=true). About $3 to $5 per 1,000 jobs.
You only pay for rows that successfully return data. Failed fetches are not charged.
New to Apify? Every account gets a $5 free monthly platform credit, enough for around 1,000 full-detail rows on this actor before you commit to paying anything. Test extensively first.
| Event | Price |
|---|---|
| Actor start | $0.001 |
| SERP result | $0.003 |
Job detail row (when includeJobDetails=true) | $0.005 |
Company profile (unique employer, when includeCompanyDetails=true) | $0.005 |
Input
| Field | Type | Description |
|---|---|---|
searchQueries | array of strings | Keywords to search for. Each runs as a separate search; results are deduplicated across queries. |
startUrls | array of strings | Direct Pracuj.pl search URLs to crawl instead of building from keywords. Mutually exclusive with searchQueries. |
location | string | City or voivodeship name. Leave empty to search all of Poland. |
sortBy | enum (newest, relevance, salary) | Result ordering. newest (default) sends sc=0 to Pracuj.pl for server-side date sort and also sorts client-side by posted_at DESC for stability. relevance uses sc=1 (native SERP order). salary uses sc=4 (highest salary first). |
postedWithinDays | integer | Return only jobs posted in the last N days. Pracuj.pl supports discrete buckets: 1 (last 24h), 3, 7, 14, 30. Your value is snapped to the nearest bucket that covers the window (e.g. 2 -> 3 days, 5 -> 7 days). Values above 30 are ignored. Default: 0 (all jobs). |
employmentType | enum | Contract type filter. FULL_TIME and PART_TIME use Pracuj.pl's work-schedule param (ws=). Platform-specific types (employment, b2b, mandate-contract, internship, etc.) use the contract-type param (tc=). Leave empty for all types. |
remote | boolean | Return only jobs that allow remote work. |
maxResults | integer | Total cap across all queries. |
maxResultsPerQuery | integer | Cap per individual query. |
includeJobDetails | boolean | Visit each detail page for full description, requirements, responsibilities, benefits, apply URL. Default true. |
includeCompanyDetails | boolean | Also resolve each employer's Pracuj.pl profile page for About text and other open roles. Deduplicated per employer. Default false. |
titleFilter | string | Comma-separated title terms (case-insensitive substring OR-match). Filters SERP results by job title before detail fetch. Empty disables the filter. Example: Java, Python, DevOps. Saves job-detail-result costs by skipping non-matching titles. |
Usage example: scheduled daily scrape
Recommended configuration for a daily job pipeline targeting full-time software roles in Warsaw posted in the last 24 hours:
{"searchQueries": ["Java Developer"],"sortBy": "newest","postedWithinDays": 1,"employmentType": "FULL_TIME","location": "Warszawa","maxResults": 200,"includeJobDetails": true}
Precision title filter
Returns only Polish jobs whose title contains "programista" or "developer" (case-insensitive substring match). Non-matching SERP rows are dropped before the detail-fetch step, so you don't pay for job-detail events on jobs you don't want.
{"searchQueries": ["software"],"titleFilter": "programista, developer","sortBy": "newest","maxResults": 50}
Example matched titles: "Starszy Programista Java (Senior Developer)", "Full Stack Developer (Programista)".
Other example inputs
Multi-query B2B run across all of Poland:
{"searchQueries": ["Java Developer", "Python Developer", "Data Engineer"],"location": "Warszawa","employmentType": "b2b","remote": true,"maxResults": 100,"includeJobDetails": true}
Output fields
| Field | Type | Description |
|---|---|---|
_type | string | Row type marker, always job. |
company_logo_url | string | Company logo from Pracuj.pl's CDN |
id | string | Unique offer ID |
title | string | Job title |
url | string | Absolute URL of the job posting |
company | string | Employer name |
company_url | string | Employer profile URL on Pracuj.pl |
company_website | string | Employer's own website (when available) |
location | string | Display workplace as shown on the listing |
city | string | City name |
region | string | Voivodeship (mazowieckie, slaskie, malopolskie, ...) |
country | string | Always PL |
salary_min | number | Lower bound of the parsed salary range |
salary_max | number | Upper bound of the parsed salary range |
salary_currency | string | PLN, EUR, or USD |
salary_period | string | month, hour, day, week, or year |
salary_text | string | Original salary text |
employment_type | string | Contract type. |
work_mode | string | Praca stacjonarna, Praca hybrydowa, or Praca zdalna. |
description_snippet | string | Short description from the listing page |
description_full | string | Full job description |
requirements | string[] | Full requirements list |
responsibilities | string[] | Full responsibilities list |
company_benefits | string[] | Full benefits list |
posted_at | string | ISO-8601 publication timestamp |
expires_at | string | ISO-8601 expiration timestamp |
apply_url | string | Direct apply URL |
search_query | string | The keyword used to find this job |
source_url | string | Canonical job URL |
source_platform | string | Always pracuj.pl |
scraped_at | string | ISO-8601 UTC scrape timestamp |
Use with AI Agents (MCP)
Connect this actor to any MCP-compatible AI client: Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.
Apify MCP server URL:
https://mcp.apify.com?tools=santamaria-automations/pracuj-pl-scraper
Example prompt once connected:
"Use
pracuj-pl-scraperto find 50 Java developer roles in Warsaw with B2B contract type and remote work allowed. Return a table with title, employer, salary range and location."
Clients that support dynamic tool discovery (Claude.ai, VS Code) will receive the full input schema automatically.
Why this scraper
- Poland is EU economy #6, the most important labor market in Central Europe.
- Server-side sort and date filters wired to Pracuj.pl's native URL params for precise, fresh results on every run.
- Multi-query in one run, scrape "Java Developer", "Python Developer" and "DevOps Engineer" across Warsaw, Krakow and Wroclaw in a single invocation with automatic cross-query deduplication.
- Pay per result, no subscriptions, no monthly fees, no minimums.
- Full textSections extraction unpacks every structured section (about-project, responsibilities, requirements, technologies, benefits, offered) into clean arrays.
- Parsed PLN salary:
salary_min,salary_max,salary_currency,salary_periodextracted from the native Polish display text. - Voivodeship-level regions, normalised Polish region names ready for geo-aggregation.
Common use cases
- Polish tech talent recruitment intelligence. Map the live job market by role, seniority, technology stack and city.
- Salary benchmarking. Benchmark developer, data scientist, product manager and executive compensation by role, city and company.
- Employer branding analysis. Extract the full benefits array for every employer.
- Regional job market research. Compare hiring intensity across Warsaw, Krakow, Wroclaw, Gdansk, Poznan and Katowice.
- Competitive hiring intelligence. Monitor competitors' job listings, technologies they scale up, salary bands.
- Job board aggregators. Integrate Pracuj.pl directly into your metasearch or vertical job board.
Notes and limits
- Coverage: all vacancies posted to Pracuj.pl, Poland's largest job board.
- Salary is only surfaced when the employer opts to display it; when null,
salary_textmay still carry a free-text range. - Rate limits: the actor auto-throttles on 429/5xx responses.
- Some benefits and requirements are extracted from unstructured description text and may not exhaustively match every listing.
Related Actors
Working across the Polish job market? These complement pracuj.pl:
- praca.gov.pl Scraper: Poland's official government portal (Central Job Offers Database / CBOP) - public-sector and PUP office listings.
- NoFluffJobs EU Scraper: Polish/EU IT-focused board with mandatory salary transparency.
- Just Join IT Scraper: Polish #2 IT specialist board with salary on every listing.
Broader coverage:
- StepStone.de Scraper: Germany's #1 job board.
- Arbeitsagentur.de Scraper: Germany's federal employment agency.
- Indeed Scraper: Global job search aggregator.
- Reed.co.uk Scraper: UK's largest job board.
- France Travail Scraper: France's government job portal.
Support
For issues, feature requests, or fields not yet extracted, please open an issue on the Issues tab of this actor. We typically respond within 24 hours.
Contact: contact@nanoscrape.com