RocketJobs.pl Scraper
Pricing
from $8.00 / 1,000 results
RocketJobs.pl Scraper
[💰 $8.0 / 1K] Extract job listings from RocketJobs.pl, Poland's non-IT job board. Search by keyword, category, seniority, employment type, work mode, city or salary, or paste URLs. Returns title, company, salary ranges, skills, location, work mode and apply details.
Pricing
from $8.00 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Pull job postings from RocketJobs.pl — Poland's non-IT job board — at scale, with the full job description in both HTML and clean plain text, salary ranges pre-converted across five currencies, structured skills and languages, and geo coordinates on located postings. One tidy row per posting, no copy-paste. Built for recruiters, HR-tech teams, labor-market analysts, and job-aggregator builders who need structured Polish job-market data without babysitting a scraper of their own.
Why This Scraper?
- Full job description in HTML and clean plain text — every posting carries the complete body twice:
descriptionHtmlfor rendering anddescriptionas ready-to-read text, not a truncated preview snippet. - 24 job categories across Poland's non-IT market — Sales, Marketing, Finance, Banking, Engineering, Health & Beauty, Hospitality, Construction, Logistics, HR, Design, BI & Data, Law, and 11 more, each a one-click filter.
- Salary ranges pre-converted across 5 currencies — every disclosed range carries the advertised amount (min, max, unit, gross/net) plus ready-made PLN, EUR, USD, GBP, and CHF equivalents, with a per-contract breakdown so a single job can expose its Permanent and B2B rates side by side — no FX lookup needed.
- 6 seniority levels and 5 employment types — filter Intern through C-level, and B2B / Permanent / Mandate contract / Contract / Internship, without hand-building search URLs.
- Structured skills and languages as separate lists — required skills, nice-to-have skills, and required languages with CEFR levels (e.g. Polish C2, English B2) arrive as clean arrays, not free text buried in the description.
- Geo coordinates on located postings, plus multi-location support — latitude, longitude, street, and city for the main office and for each additional place the same role is offered.
- City + radius search — pull every job within roughly 30 km of Warszawa, Kraków, Wrocław, or any Polish city, so nearby-suburb postings are not missed.
- Recruitment signal flags ready to filter on — remote-interview-available, open-to-hire-Ukrainians, and promoted / super-offer badges, each surfaced as its own boolean.
- Direct apply link or easy-apply flag on every row — the external apply URL when the posting links out, alongside company name, logo, and publish / last-published / expiry dates.
Use Cases
Recruitment & Sourcing
- Build live candidate-facing job feeds filtered by category, city, and seniority
- Track every new Sales, Marketing, or Logistics opening across Poland daily
- Surface roles flagged open-to-hire-Ukrainians for targeted outreach programs
- Pull direct apply URLs to route candidates straight to the employer
Market & Salary Research
- Build a clean salary dataset by category, city, and seniority using disclosed ranges
- Compare Permanent vs. B2B pay for the same role from the per-contract breakdown
- Measure remote / hybrid / on-site mix across sectors and regions
- Track hiring volume week over week from publish dates
Job Aggregators & Boards
- Feed a niche or regional job board with structured, deduplicated postings
- Enrich existing listings with skills, languages, and geo coordinates
- Keep an aggregator fresh with newest-first collection and expiry dates
Competitive Intelligence
- Monitor which companies are hiring, at what volume, and for which roles
- Watch a competitor's headcount signals through their open postings
- Benchmark salary bands offered against the wider market
HR & Labor-Market Analytics
- Map local demand by combining a city + radius with a category
- Quantify skill demand from required and nice-to-have skill arrays
- Analyze language requirements (Polish, English, German) across sectors
Getting Started
Simple keyword search
{"searchQuery": "marketing","maxResults": 100}
Filter by category, city, and seniority
{"categories": ["sales", "marketing"],"cities": ["Warszawa", "Kraków"],"experienceLevels": ["mid", "senior"],"workplaceType": ["hybrid", "remote"],"maxResults": 500}
Advanced — salary-only dataset with URLs and filters combined
{"searchQuery": "specjalista","startUrls": ["https://rocketjobs.pl/oferty-pracy/marketing"],"categories": ["marketing", "bi-data"],"employmentTypes": ["permanent", "b2b"],"workingTime": ["full_time"],"salaryFrom": 8000,"salaryCurrency": "pln","withSalaryOnly": true,"maxResults": 2000}
Input Reference
What to Scrape
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | "marketing" | Job title, role, or skill to search for — e.g. marketing, kierowca (driver), sales manager, księgowa (accountant). Leave blank to collect all jobs matching the filters. |
startUrls | array | [] | Paste RocketJobs.pl URLs directly — a search-result page you already filtered in your browser, or individual job pages. Up to 100 URLs. Filters set below stack on top of a pasted search URL. |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
categories | select[] | [] | Include only these of 24 sectors (Sales, Marketing, Finance, Banking, Engineering, Health & Beauty, and more). Empty = every category. |
experienceLevels | select[] | [] | Seniority: Intern, Junior, Mid, Senior, Manager, C-level. Empty = all levels. |
employmentTypes | select[] | [] | Contract type: Employment contract, B2B, Mandate contract, Contract, Internship. Empty = every type. |
workingTime | select[] | [] | Working-time mode: Full-time, Part-time, Internship, Freelance, B2B contract. Empty = all. |
workplaceType | select[] | [] | Work mode: On-site / Office, Hybrid, Fully remote, Mobile / Field. Empty = all. |
cities | string[] | [] | Include only jobs in or near these cities (e.g. Warszawa, Kraków). Jobs within roughly 30 km are included. Empty = every city. |
salaryFrom | integer | null | Only include jobs offering at least this monthly salary. Jobs with no disclosed salary are excluded when set. |
salaryCurrency | select | "pln" | Currency the minimum-salary threshold is measured in: PLN, EUR, USD, GBP, or CHF. Used only when salaryFrom is set. |
withSalaryOnly | boolean | false | Return only jobs that publish a salary range. |
Limits
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 100 | Maximum jobs returned across all searches and URLs. Set to 0 for no cap. The final page is kept whole, so the count can slightly overshoot. |
Output
Each job posting is one flat row. Here is a representative result:
{"jobId": "747630a0-51a6-4ff9-bb5d-3d4f3eec1543","title": "Performance Marketing Specialist","url": "https://rocketjobs.pl/oferta-pracy/bethink-sp-z-o-o--performance-marketing-specialist-poznan-marketing-performance-sem-7840cc78","slug": "bethink-sp-z-o-o--performance-marketing-specialist-poznan-marketing-performance-sem-7840cc78","companyName": "Bethink Sp. z o.o.","companyLogo": "https://public.rocketjobs.pl/companies/logos/original/8746175d6d287e30f823886f3e21041c212c619e.jpg","companyUrl": "https://rocketjobs.pl/company/bethink","companySize": "50-249","category": "Marketing","categoryKey": "marketing-performance-sem","experienceLevel": "mid","workingTime": "full_time","workplaceType": "remote","salaryFrom": 11000,"salaryTo": 14000,"salaryCurrency": "PLN","salaryText": "11 000–14 000 PLN / month (gross)","employmentTypes": [{"type": "permanent","from": 11000,"to": 14000,"currency": "PLN","unit": "Month","gross": true,"conversions": [{ "currency": "EUR", "from": 2564, "to": 3263 },{ "currency": "USD", "from": 2928, "to": 3727 },{ "currency": "GBP", "from": 2192, "to": 2790 },{ "currency": "CHF", "from": 2354, "to": 2996 }]},{"type": "b2b","from": 10700,"to": 13600,"currency": "PLN","unit": "Month","gross": false,"conversions": [{ "currency": "EUR", "from": 2494, "to": 3170 },{ "currency": "USD", "from": 2848, "to": 3620 },{ "currency": "GBP", "from": 2132, "to": 2710 },{ "currency": "CHF", "from": 2290, "to": 2911 }]}],"city": "Poznań","street": "Ułańska 3","latitude": 52.4000303,"longitude": 16.8956411,"multilocation": [{ "city": "Poznań", "street": "Ułańska 3", "latitude": 52.4000303, "longitude": 16.8956411, "slug": "poznan" }],"requiredSkills": [{ "name": "Google Ads", "level": 1 },{ "name": "Meta Ads", "level": 1 },{ "name": "Google Analytics", "level": 1 }],"niceToHaveSkills": [{ "name": "TikTok Ads", "level": 1 },{ "name": "Programmatic", "level": 1 }],"languages": [{ "code": "pl", "level": "C2" },{ "code": "en", "level": "B2" }],"remoteInterview": true,"openToHireUkrainians": false,"isSuperOffer": false,"isPromoted": false,"publishedAt": "2026-07-17T07:25:04.236Z","lastPublishedAt": "2026-07-16T15:16:04.236Z","expiredAt": "2026-08-15T15:16:04.236Z","applyMethod": "external","applyUrl": "https://docs.google.com/forms/d/e/1FAIpQLScKX.../viewform","description": "Kim jesteśmy i co robimy? Bethink już od 2017 roku wyznacza nową jakość e-learningu...","descriptionHtml": "<h3>Kim jesteśmy i co robimy?</h3><p>Bethink już od 2017 roku...</p>","scrapedAt": "2026-07-16T19:23:01.875Z"}
Core Fields
| Field | Type | Description |
|---|---|---|
jobId | string | Unique offer identifier (GUID) |
title | string | Job title |
url | string | Public RocketJobs.pl job URL |
slug | string | URL slug for the posting |
category | string | Job sector (e.g. Marketing, Sales, Logistics) |
categoryKey | string | Granular category slug, including subcategory (e.g. marketing-performance-sem) |
experienceLevel | string | intern, junior, mid, senior, manager, or c_level |
workingTime | string | full_time, part_time, internship, freelance, or b2b_contract |
workplaceType | string | office, hybrid, remote, or mobile |
Company
| Field | Type | Description |
|---|---|---|
companyName | string | Employer name |
companyLogo | string | Company logo image URL |
companyUrl | string | Company profile URL on RocketJobs.pl |
companySize | string | Reported headcount band |
Salary
| Field | Type | Description |
|---|---|---|
salaryFrom | number | Lowest advertised monthly salary |
salaryTo | number | Highest advertised monthly salary |
salaryCurrency | string | Currency of the range (PLN, EUR, USD, GBP, CHF) |
salaryText | string | Human-readable salary summary |
employmentTypes | object[] | Per-contract salary breakdown: type, from, to, currency, unit, gross, plus conversions |
employmentTypes[].conversions | object[] | The same range pre-converted into each other supported currency, each with currency, from, and to |
Location
| Field | Type | Description |
|---|---|---|
city | string | Primary city |
street | string | Primary street address |
latitude | number | Primary latitude |
longitude | number | Primary longitude |
multilocation | object[] | Every place the role is offered, each with city, street, coordinates, and city slug |
Skills & Languages
| Field | Type | Description |
|---|---|---|
requiredSkills | object[] | Required skills, each with a name |
niceToHaveSkills | object[] | Nice-to-have skills, each with a name |
languages | object[] | Required languages with CEFR level (e.g. { "code": "en", "level": "B2" }) |
Flags
| Field | Type | Description |
|---|---|---|
remoteInterview | boolean | Whether a remote interview is available |
openToHireUkrainians | boolean | Whether the employer is open to hiring Ukrainians |
isSuperOffer | boolean | Promoted "super offer" badge |
isPromoted | boolean | Whether the posting is promoted |
Apply, Dates & Description
| Field | Type | Description |
|---|---|---|
applyMethod | string | How to apply (e.g. external, easy apply) |
applyUrl | string | Direct apply URL when the posting links out |
publishedAt | string | First publish timestamp |
lastPublishedAt | string | Most recent re-publish timestamp |
expiredAt | string | Expiry timestamp |
description | string | Full job description as clean plain text |
descriptionHtml | string | Full job description as HTML |
scrapedAt | string | ISO timestamp when the row was collected |
Tips for Best Results
- Sweep a whole category or city by leaving the keyword blank — set
categoriesorcities(and nosearchQuery) to collect every current posting in that slice, newest first. - Map local demand with city + radius + category together — pairing
cities: ["Wrocław"]with a category gives you every relevant role within ~30 km of the city, ideal for regional talent-market reports. - Build a clean salary dataset with
withSalaryOnly— turn it on (or setsalaryFrom) so every row carries a disclosed range, then read theemploymentTypesarray to compare Permanent vs. B2B pay on the same job. - Go past 10,000 by narrowing — a single broad search reaches at most ~10,000 jobs; split large runs by category, city, or salary band to reach deeper into the full corpus.
- Reuse browser-filtered search URLs — paste a RocketJobs.pl search page you already refined into
startUrls; input filters stack on top for finer control. - Preview before scaling — start with
maxResultsaround 50-100 to confirm the fields match your needs, then raise the cap for a full run. - Filter on the signal flags —
openToHireUkrainiansandremoteIntervieware per-row booleans, so you can post-filter for targeted sourcing without re-running.
Pricing
From $8.00 per 1,000 results — pay only for the job rows you collect, billed per result. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows the per-result charges at each discount tier.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.96 | $0.91 | $0.85 | $0.80 |
| 1,000 | $9.60 | $9.05 | $8.50 | $8.00 |
| 10,000 | $96.00 | $90.50 | $85.00 | $80.00 |
| 100,000 | $960.00 | $905.00 | $850.00 | $800.00 |
A "result" is any job posting row in the output dataset. The figures above cover result charges only — the fixed start fee (about $0.005) is added once per run, no matter how many results you collect, so a 1,000-result run at the Gold tier comes to roughly $8.01 in total. Platform fees (compute, storage) depend on your Apify plan and are additional.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n — Workflow automation
- Google Sheets — Direct spreadsheet export
- Slack / Email — Notifications on new results
- Webhooks — Trigger custom APIs on run completion
- Apify API — Full programmatic access
Legal & Ethical Use
This actor is designed for legitimate recruitment research, labor-market analysis, and job-aggregation use. You are responsible for complying with applicable laws and RocketJobs.pl's Terms of Service. Do not use extracted data for spam, harassment, or any unlawful purpose, and handle any personal data in line with GDPR and other applicable privacy regulations.