OLX.pl Jobs Scraper avatar

OLX.pl Jobs Scraper

Pricing

from $1.49 / 1,000 results

Go to Apify Store
OLX.pl Jobs Scraper

OLX.pl Jobs Scraper

Extract job listings from OLX.pl — Poland's largest job classifieds platform. Salary, contract type, workplace mode, full descriptions. No account required.

Pricing

from $1.49 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

13

Total users

6

Monthly active users

3 days ago

Last modified

Share

olx-pl-scraper

Extract job listings from OLX.pl — Poland's largest classifieds platform — including salary, contract type, workplace mode, GPS coordinates, and full job descriptions. No account required.


Why this scraper?

Target all 16 voivodeships, a specific city like Warszawa, Kraków, or Gdańsk, or set a kilometre radius around any city to capture nearby listings.

💰 Structured salary data

Extracts minimum, maximum, currency (PLN), pay period (monthly/hourly), and gross/net flag whenever the employer chooses to display it.

📋 Full job descriptions

Delivers the complete description in HTML, plain text, and Markdown — ready for your pipeline without post-processing.

📍 GPS coordinates

Every listing includes latitude and longitude from OLX's own location data, enabling map visualisations and geo-analytics.

🔄 Cross-run deduplication

A 90-day fingerprint cache detects reposts and marks them with isRepost: true, so scheduled runs never double-count the same listing.

⏱️ Date-range filtering

Use daysOld to build daily or weekly job feeds without processing the entire backlog.


Input parameters

ParameterTypeDefaultDescription
querystring""Keyword(s) to search for, e.g. programista, kierowca, sprzedawca
regionselectallPolish voivodeship to filter by, or all for nationwide
citySlugstring""City name, e.g. Warszawa, Kraków, Gdańsk. Overrides region. Polish characters auto-normalised.
radiusKmintegerSearch radius in km around the city (applies when citySlug is set). OLX values: 5, 10, 15, 25, 50, 75.
maxResultsinteger5Maximum results to return (1–1,000)
daysOldintegerOnly return jobs posted or refreshed within this many days
skipRepostsbooleanfalseSkip listings already seen in previous runs
startUrlsarray[]Specific OLX.pl job search or city URLs to scrape

Input priority: startUrlscitySlugquery + region. Only the first matching mode runs.

Available regions

dolnoslaskie · kujawsko-pomorskie · lubelskie · lubuskie · lodzkie · malopolskie · mazowieckie · opolskie · podkarpackie · podlaskie · pomorskie · slaskie · swietokrzyskie · warminsko-mazurskie · wielkopolskie · zachodniopomorskie


Output

Each result is saved to the default dataset, sorted newest-first.

FieldTypeDescription
idstringUnique OLX offer identifier
urlstringDirect link to the job listing
titlestringJob title as posted
descriptionHtmlstring|nullFull description in raw HTML
descriptionTextstring|nullFull description as plain text
descriptionMarkdownstring|nullFull description in Markdown
publishDatestringDate posted — YYYY-MM-DD, Warsaw timezone
publishDateISOstringISO 8601 timestamp of original posting
lastRefreshDatestringDate of last refresh — YYYY-MM-DD
lastRefreshDateISOstringISO 8601 timestamp of last refresh
expiresAtstring|nullISO 8601 expiry timestamp of the listing
salaryMinnumber|nullMinimum salary (null if not disclosed by employer)
salaryMaxnumber|nullMaximum salary (null if not disclosed)
salaryCurrencystring|nullCurrency code, typically PLN
salaryPeriodstring|nullPay period: MONTH, HOUR, DAY, WEEK, YEAR
salaryGrossboolean|nulltrue = gross; false = net; null = not specified
contractTypestring|nullContract type label, e.g. Umowa o pracę (may be comma-separated for multiple)
workTypestring|nullPełny etat (full-time) or Część etatu (part-time)
workplaceTypestring|nullWorkplace mode label, e.g. Praca zdalna, Praca hybrydowa
availabilitystring|nullAvailability label, e.g. Elastyczny czas pracy
citystring|nullCity name
regionstring|nullPolish voivodeship name
latitudenumber|nullGPS latitude of the job location
longitudenumber|nullGPS longitude of the job location
isFeaturedbooleantrue if the listing is a promoted or top ad
categoryIdnumber|nullOLX category ID (4 = all jobs; subcategories e.g. 2515 = IT)
companyNamestring|nullEmployer company name (business accounts only; private postings return null)
isBusinessbooleantrue if posted by a verified business account
summarystring|nullFirst 300 characters of the plain-text description
sourcestringAlways olx.pl
scrapedAtstringISO 8601 timestamp of when this item was scraped
contentHashstring16-character MD5 fingerprint for change detection
isRepostbooleantrue if this listing was seen in a previous run
originalPublishDatestring|nullISO timestamp from the first time this listing was seen
originalUrlstring|nullURL from the first time this listing was seen

Example output

{
"id": "1068495670",
"url": "https://www.olx.pl/oferta/praca/wewnetrzny-automation-specialist-CID4-ID1ajix8.html",
"title": "Automation Specialist / Wdrożeniowiec No-code",
"descriptionHtml": "<p><strong>O firmie</strong></p><p>Sieć klinik stomatologicznych...</p>",
"descriptionText": "O firmie Sieć klinik stomatologicznych...",
"descriptionMarkdown": "## O firmie\n\nSieć klinik stomatologicznych...",
"publishDate": "2026-04-21",
"publishDateISO": "2026-04-21T16:00:41+02:00",
"lastRefreshDate": "2026-04-24",
"lastRefreshDateISO": "2026-04-24T16:02:24+02:00",
"expiresAt": "2026-05-21T16:00:41+02:00",
"salaryMin": 7000,
"salaryMax": 9000,
"salaryCurrency": "PLN",
"salaryPeriod": "MONTH",
"salaryGross": true,
"contractType": "Umowa o pracę, Samozatrudnienie",
"workType": "Pełny etat",
"workplaceType": "Praca hybrydowa, W siedzibie firmy",
"availability": "Elastyczny czas pracy",
"city": "Kalisz",
"region": "Wielkopolskie",
"latitude": 51.75766,
"longitude": 18.08934,
"isFeatured": false,
"categoryId": 4,
"companyName": null,
"isBusiness": true,
"summary": "O firmie Sieć klinik stomatologicznych. Realizujemy autorską strategię cyfryzacji...",
"source": "olx.pl",
"scrapedAt": "2026-04-24T17:30:00.000Z",
"contentHash": "a1b2c3d4e5f60001",
"isRepost": false,
"originalPublishDate": null,
"originalUrl": null
}

Examples

1 — IT jobs in Warszawa:

{
"query": "programista",
"citySlug": "Warszawa",
"maxResults": 200
}

2 — Driver jobs within 50 km of Katowice:

{
"query": "kierowca",
"citySlug": "Katowice",
"radiusKm": 50,
"maxResults": 200
}

3 — All jobs in Śląskie (region-wide):

{
"region": "slaskie",
"maxResults": 500
}

4 — Daily new jobs nationwide, deduplicated:

{
"query": "",
"region": "all",
"maxResults": 1000,
"daysOld": 1,
"skipReposts": true
}

5 — Scrape a specific city or category URL:

{
"startUrls": [
{ "url": "https://www.olx.pl/praca/gdansk/" }
],
"maxResults": 200
}

6 — IT jobs in Mazowieckie, weekly deduplicated feed:

{
"query": "programista",
"region": "mazowieckie",
"maxResults": 500,
"daysOld": 7,
"skipReposts": true
}

💰 Pricing

$1.49 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.49
10,000~$14.90
100,000~$149.00

Flat-rate alternatives typically charge $29–$49/month regardless of usage.

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


Performance

Run sizeApproximate time
50 results (API mode)~10–20 seconds
500 results~2–4 minutes
1,000 results~4–8 minutes

Known limitations

  • The OLX.pl API exposes a maximum of 1,000 results per keyword + region combination. For broader coverage, combine multiple queries across different keywords or regions.
  • Salary data is only present when the employer chooses to display it (approximately 30–40% of listings).
  • companyName is only populated for verified business accounts; private postings return null.
  • Results are sorted newest-first by default.
  • GPS coordinates are the city-level coordinates provided by OLX, not the precise address.

Technical details

  • Source: olx.pl — Poland's largest job classifieds platform, public API
  • Memory: 512 MB
  • Repost storage: KeyValueStore olx-pl-scraper-job-dedup, 90-day TTL
  • Retry: Automatic retry on network errors, exponential backoff, 3 attempts per request

Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl