OLX.pl Listings Scraper
Pricing
from $3.00 / 1,000 dataset items
OLX.pl Listings Scraper
Scrape OLX.pl listings at scale — price, description, location with GPS, attributes, photos, seller info and delivery — from any keyword, category or URL. Optional phone reveal. Reliable official-API source, structured JSON. Pay only for the results you get.
Pricing
from $3.00 / 1,000 dataset items
Rating
0.0
(0)
Developer
axly
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract structured data from OLX.pl, Poland's largest classifieds marketplace, by keyword, category, or pasted URL. Every listing comes back as clean JSON — price, full description, location with GPS coordinates, all category attributes, photos, seller info and OLX-delivery status — pulled straight from OLX's official mobile backend, so it's fast and reliable (no anti-bot breakage).
Great for building price datasets, monitoring the market, feeding an app, or generating seller leads.
Who uses this
- Developers & SaaS teams — a stable, documented JSON schema and a reliable source to power apps, price comparison, or internal tools.
- Investors & market analysts — price, price-per-m² inputs, location + GPS and listing freshness for pricing models and trend analysis.
- Resellers & arbitrage — track prices and spot new listings per category/city on a schedule.
- Researchers — structured marketplace data for analysis, exportable to CSV, JSON, or Excel.
What you get — output fields
| Field | Type | Description |
|---|---|---|
id | integer | OLX listing id |
url | string | Canonical listing URL |
title | string | Listing title |
description | string | Full listing description |
priceAmount | number | Price value |
priceCurrency | string | Currency (PLN) |
priceLabel | string | Formatted price, e.g. "48 900 zł" |
priceNegotiable | boolean | Whether the price is negotiable |
categoryId / categoryType | integer / string | Category id and type |
city / region / district | string | Location names |
cityId | integer | OLX city id |
latitude / longitude | number | Approximate GPS coordinates |
params | object | All typed attributes (e.g. year, mileage, m², rooms, brand, condition) |
photos | array | Full-size photo URLs |
photosCount | integer | Number of photos |
sellerId / sellerUuid | integer / string | Seller identifiers |
sellerName | string | Seller display name |
sellerType | string | private or business |
sellerCompanyName | string | Company name (business sellers) |
sellerSince | string | Seller registration date |
isBusiness | boolean | Business seller flag |
hasDelivery | boolean | OLX delivery available |
canChat / hasPhone | boolean | Contact options available |
phone | array | Revealed phone number(s) — when "Reveal seller phone numbers" is on |
createdAt / validTo / lastRefreshAt | string | Listing timestamps |
scrapedAt | string | ISO-8601 scrape time |
High-value use cases
- Price intelligence — pull every listing for a make/model or category in a city and compute average/median price, distribution, and per-m² for real estate.
- New-listing alerts — schedule the actor sorted by newest and push fresh listings to Slack, a webhook, or your CRM.
- Competitor & inventory tracking — monitor a category or business seller's catalogue over time.
- Lead sourcing — enable phone reveal to collect seller contacts for a category and region (for deeper business/company data, see our OLX.pl Seller Leads actor).
- Market research datasets — export structured OLX data to CSV/Excel for analysis.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
searchQuery | string | — | Keywords to search. |
startUrls | array | — | OLX category/search URLs (resolved automatically). |
categoryId | integer | — | OLX category id (cars=84, flats=15, phones=1838…). |
locationQuery | string | — | City/district name (auto-resolved to ids). |
regionId/cityId/districtId | integer | — | Explicit location ids. |
distance | integer | — | Radius (km) around the city. |
ownerType | enum | any | any / private / business. |
priceMin/priceMax | integer | — | Price range (PLN). |
sortBy | enum | newest | newest / price asc / price desc / relevance. |
filters | object | {} | Advanced raw OLX filters. |
includePhone | boolean | false | Reveal seller phone per listing. |
engine | enum | graphql | graphql (rich) or rest (light). |
maxItems | integer | 100 | Max listings (OLX caps deep paging at ~1000/search). |
proxyConfiguration | object | off | Optional; the API works proxy-free. |
Example input
{"searchQuery": "iphone 15","categoryId": 1838,"ownerType": "any","sortBy": "newest","includePhone": false,"maxItems": 100}
Example output row
{"id": 1087346487,"url": "https://www.olx.pl/d/oferta/bmw-seri-5-f11-3-0d-...html","title": "BMW SERI 5 F11 3.0D","priceAmount": 48900,"priceCurrency": "PLN","priceLabel": "48 900 zł","priceNegotiable": true,"categoryId": 183,"categoryType": "automotive","city": "Bytom","region": "Śląskie","latitude": 50.34938,"longitude": 18.91962,"params": { "model": "Seria 5", "year": "2011", "petrol": "Diesel", "condition": "Nieuszkodzony" },"photos": ["https://ireland.apollo.olxcdn.com/v1/files/xxx-PL/image;s=1000x0"],"sellerType": "business","sellerName": "ADAM","createdAt": "2026-07-20T10:00:00+02:00","scrapedAt": "2026-07-30T09:00:00Z"}
Scheduling & integrations
Run on a schedule (e.g. hourly for new listings) from the Apify console. Pipe results to Google Sheets, Make, Zapier, Slack, or Amazon S3, or receive a webhook when a run finishes. Every dataset is downloadable as JSON, CSV, Excel, or XML, and reachable through the Apify API.
Use it from an AI assistant (MCP)
This actor works with the Apify MCP server, so AI assistants (Claude, ChatGPT, and other MCP clients) can call it as a tool — ask your agent to "scrape OLX.pl listings for X" and it can run this actor and read the results directly.
FAQ
Is there a result limit? OLX caps deep pagination at ~1,000 results per search. Split large jobs by category, city, or price band to go beyond that.
How fresh is the data? Every run fetches live data directly from OLX in real time.
Do I need a proxy or login? No. The actor uses OLX's open API and needs neither. A proxy is optional for very high volume.
Can I get seller phone numbers? Yes — enable "Reveal seller phone numbers". Some sellers hide their number; those rows return an empty list.
Is scraping OLX legal? The actor collects only publicly available listing data. You are responsible for using the data in line with OLX's terms and applicable law (including GDPR for any personal data).
What if a run fails? Runtime errors are reported automatically and the run fails loudly with a clear message. Reach out via the Issues tab for support.