OLX Listings Scraper | Poland, Ukraine, Romania, Portugal +3
Pricing
from $1.00 / 1,000 product listings
OLX Listings Scraper | Poland, Ukraine, Romania, Portugal +3
Extract OLX listings from Poland, Romania, Ukraine, Bulgaria, Portugal, Kazakhstan and Uzbekistan by keyword, category, city or pasted search link, with price, seller, condition and GPS data.
Pricing
from $1.00 / 1,000 product listings
Rating
0.0
(0)
Developer
FalconScrape
Maintained by CommunityActor stats
3
Bookmarked
300
Total users
31
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
🚀 OLX Scraper: Listings, Prices and Sellers from Poland, Romania, Ukraine, Bulgaria, Portugal, Kazakhstan and Uzbekistan
Export OLX search and category results as clean JSON, CSV or Excel. The OLX Listings Scraper returns each listing's price, currency, condition, location with GPS coordinates, photos, category attributes and seller details from olx.pl, olx.ro, olx.ua, olx.bg, olx.pt, olx.kz and olx.uz. Search by keyword, browse a category or paste any OLX search link with its filters. Use it as a simple OLX API alternative for OLX data: used car prices, apartment rentals, phone resale prices or new-listing monitoring.
🎯 OLX Data Use Cases
- OLX used cars and car prices: pull every BMW, Audi or Dacia listing in a country and compare asking prices by model, year and mileage.
- OLX apartments and rentals: export apartment listings with area, rooms, floor and price to see what flats really rent for in Kyiv, Warsaw or Bucharest.
- OLX monitoring of new listings: schedule a daily run with "Only listings posted after" so each run brings back only new supply.
- Resale price research: see what used iPhones, consoles or tools sell for on OLX in each market before you buy or sell.
- Dealer and shop leads: set
sellerTypetobusiness, or paste a seller's page, and collect their company name, shop and logo. - Market and catalog analysis: turn whole OLX categories into a dataset for dashboards, spreadsheets or your own app.
✨ Features
- 7 OLX countries: Poland (olx.pl), Romania (olx.ro), Ukraine (olx.ua), Bulgaria (olx.bg), Portugal (olx.pt), Kazakhstan (olx.kz) and Uzbekistan (olx.uz).
- Keyword search, category browse or pasted links: search by keyword, browse whole categories, or paste a search, category, seller or listing link from your browser. Filters in the link are kept.
- City and region filter:
locationtakes a name such as Warszawa, Mazowieckie or Київ. - Seller and condition filters: private or business sellers, new, used or damaged items.
- Prices as numbers: price, currency, negotiable flag and the previous price when the seller lowered it.
- GPS coordinates on every listing: latitude and longitude, plus whether the pin is exact or the centre of an approximate area and its radius.
- Category attributes: every attribute the seller filled in (model, memory, year, mileage, area, rooms, floor…) in one
paramsobject. - Seller and ad details on every listing: business flag, company name, shop, logo, member-since date, last seen, phone and chat availability, OLX Delivery, courier, promotion packages, ad status and expiry date.
- Price filters and sorting: minimum and maximum price, and sort by recently updated, cheapest or most expensive.
- Only what's new:
postedAfterreturns listings first posted since a date or in the last N days. Older listings that were bumped back to the top are skipped and not charged. - No duplicates: a listing that moves between pages during a run is saved and charged once.
- Fair billing: the run stops at your maximum cost per run, and a status message tells you when OLX's 1,000-result limit cut a search short.
- Fast: about 100 listings in 15 seconds and 1,000 listings in about 30 seconds.
🛠️ How It Works
- Choose a country and a mode: keyword search or category browse, or paste OLX links into
startUrls. - Set your filters: location, price range, seller type, condition, sort order,
postedAfterand how many listings you want (maxItems). - Run the scraper and download the results as JSON, CSV or Excel, or pull them through the Apify API.
⚙️ OLX Scraper Input
| Field | Type | Default | What it does |
|---|---|---|---|
country | string | pl | OLX market: pl, ro, ua, bg, pt, kz or uz. |
mode | string | search | search (keyword), category (browse by category ID) or urls (OLX links, see FAQ). |
searchQuery | string | iphone | Keyword as you would type it on OLX, in any language. Used in search mode. |
categoryIds | array | [] | OLX category IDs. Narrows a search in search mode; the categories to browse in category mode. |
location | string | none | City, district or region, as OLX spells it. An unknown name stops the run with a message. |
maxItems | integer | 100 | How many listings to save in the run. OLX serves at most 1,000 per search or category. |
sortBy | string | created_at:desc | created_at:desc (recently posted or bumped first), price:asc or price:desc. |
postedAfter | string | empty | Only listings first posted after this: a date (2026-10-01) or a phrase (7 days). |
priceFrom | integer | none | Minimum price in the local currency. |
priceTo | integer | none | Maximum price in the local currency. |
sellerType | string | any | any, private or business. |
condition | string | any | any, new, used or damaged (Poland). Not every category has it, see FAQ. |
startUrls | array | [] | OLX search, category, seller or listing links from any of the seven sites. |
includeDetails | boolean | false | Deprecated, no effect: coordinates and details are in every listing already. |
{"country": "pt","mode": "search","searchQuery": "bmw","priceFrom": 5000,"priceTo": 20000,"sortBy": "price:asc","maxItems": 500}
Category IDs are different in every country. The easiest way to find one is to run a keyword search once and reuse the categoryId from the results (for example, 2298 is mobile phones on olx.pl). In category mode with no IDs, the scraper browses the newest listings across all categories.
Ready-made example inputs (used iPhone prices on OLX Poland and Romania, used BMW prices on OLX Portugal, apartment rentals in Kyiv on OLX Ukraine, Samsung Galaxy prices on OLX Bulgaria) are on the Examples tab of this Actor.
💰 Pricing
Pay only for the listings you get. No monthly rental.
| Event | Price | What you get |
|---|---|---|
| Product listing | $0.001 per listing ($1.00 per 1,000) | One listing from a search or category, with every field below |
| Item detail | $0.002 per listing | One listing fetched from its own link in startUrls |
| Actor start | $0.00005 per run | Charged once when the run starts (one event per GB of memory; 1 GB by default) |
Examples:
- 100 listings from a search = $0.10 + $0.00005 start = $0.10005
- 1,000 listings from a category = $1.00 + $0.00005 start = $1.00005
- A daily run of 200 new listings for 30 days = 30 × ($0.20 + $0.00005) = $6.0015
Listings skipped by postedAfter and repeats within a run are never charged.
📊 Sample OLX Data
{"id": 1100503408,"url": "https://www.olx.pl/d/oferta/apple-iphone-18-pro-256-gb-5g-sim-niebieski-bat-100-0-cykli-gwarancja-raty-0-CID99-ID1ctBcY.html","title": "Apple iPhone 18 Pro 256 GB 5G SIM • Niebieski BAT 100% 0 CYKLI • Gwarancja • Raty 0%","description": "ZAPRASZAMY DO NASZEGO SKLEPU STACJONARNEGO\n\nRaty 10 x 0%!\n…","price": 5999,"currency": "PLN","negotiable": false,"previousPrice": null,"condition": "Nowe","city": "Gorzów Wielkopolski","district": null,"region": "Lubuskie","lat": 52.72918,"lon": 15.24028,"categoryId": 2298,"sellerId": 2415442502,"sellerName": "iTelMac","sellerType": "business","sellerJoined": "2024-08-07","isPromoted": true,"photos": ["https://ireland.apollo.olxcdn.com:443/v1/files/cpf7w3phuopa2-PL/image;s=800x600","https://ireland.apollo.olxcdn.com:443/v1/files/3qrsf83c23h73-PL/image;s=800x600","…"],"params": {"state": "Nowe","phonemodel": "iPhone 18 Pro","builtinmemory_phones": "256GB","rammemory_phones": "12 GB","coloriphone": "Niebieski","guarantee": "Oferty z gwarancją","sim_options": "Dual SIM (SIM + eSIM)"},"createdAt": "2026-09-24T16:43:46+02:00","refreshedAt": "2026-10-18T13:10:09+02:00","validTo": "2026-10-24T16:43:46+02:00","status": "active","isBusiness": true,"sellerCompany": "iTelMac Kombatantów 34 Gorzów","sellerAbout": "iTelMac – Twój Sklep Apple w okazyjnej cenie!…","sellerLogo": "https://img-resizer.prd.01.eu-west-1.eu.olx.org/img-eu-olxpl-production/1414941867_1_261x203_rev017.jpg","sellerIsOnline": false,"sellerLastSeen": "2026-10-19T22:16:29+02:00","sellerShop": "itelmac","phoneAvailable": true,"chatAvailable": true,"courierAvailable": false,"olxDelivery": true,"isHighlighted": true,"isUrgent": false,"promotionOptions": ["bundle_optimum"],"locationExact": false,"locationRadiusKm": 6,"categoryType": "electronics","country": "pl","scrapedAt": "2026-10-20T08:26:25.238Z"}
createdAt is when the listing was first posted and refreshedAt when it was last bumped; validTo is when it expires. locationExact: false means the seller chose an approximate area, so lat/lon mark the centre of a circle of locationRadiusKm. params keys depend on the category: cars carry year and mileage, apartments carry area, rooms and floor. description is plain text with OLX's line breaks as newlines. sellerType is business or private, as OLX labels the ad.
🔁 Schedule OLX Monitoring and Integrate
For new-listing monitoring, run it once a day (or every few hours for fast categories like phones and cars) with postedAfter set to 1 day and sort created_at:desc: each run returns only listings posted since the last one. For price tracking, run the same search daily without postedAfter and keep each run's dataset as a dated snapshot. Set it up in Apify Schedules. Send the results to Google Sheets, Zapier, Make, n8n or a webhook with Apify integrations, so new OLX listings land where your team already works, or trigger an alert bot from the webhook.
🤖 Use with AI Agents (MCP)
This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com). An agent can call it with:
{ "country": "ro", "mode": "search", "searchQuery": "iphone 15", "maxItems": 20 }
❓ FAQ
Does OLX have an official API? OLX offers a partner API for professional sellers and integrators to publish and manage their own ads. It requires registering an application and is not meant for searching other people's listings. This Actor needs no key, no approval and no OLX account, and returns the public listing data a buyer sees on the site, as structured rows.
Which OLX countries are supported? Poland, Romania, Ukraine, Bulgaria, Portugal, Kazakhstan and Uzbekistan. For Brazil, use the OLX Brazil Scraper. OLX India runs on a different system and is not supported.
Do I need an OLX account? No.
How many listings can I get? OLX serves at most 1,000 results for any one search or category, and the run tells you when that limit cut it short. To collect more, give the run several categories or search links, or narrow by location or price, for example one link for 0 to 5,000 and one for 5,000 to 20,000. maxItems counts across the whole run.
Why is a field empty? Fields the seller did not fill in are null: district, previousPrice (only set after a price drop), sellerCompany and sellerShop (business sellers only), sellerAbout and sellerLogo. price and currency are null when a listing shows no price, as with many service ads. Seller phone numbers are not returned: phoneAvailable only tells you the seller shows one on the ad.
Why are some listings out of order when I sort by price? OLX puts promoted listings (isPromoted: true) at the top of each results page whatever the sort. Filter them out or re-sort the dataset if you need a strict order.
How do I track OLX car or apartment prices? OLX doesn't show past prices. Schedule this Actor daily with the same search (for example bmw on olx.pt or a city rental search on olx.ua) and keep each run's dataset, or append it to a Google Sheet. previousPrice also shows when a seller lowered a price.
Can I paste an OLX search link? Yes. Open OLX, search and filter as usual, then copy the address into startUrls: search pages, category and city pages, seller pages (/oferty/uzytkownik/…) and single listings all work, and links can mix the seven sites. The filters, sort and page in the link are used, not the ones in the form. Listings from a search or category link are charged as Product listing. Listings from their own link, for example https://www.olx.pl/d/oferta/…-CID99-ID1cQlDY.html or the url values from an earlier run, are charged as Item detail. Links that have expired or that OLX can't read are skipped and not charged, and the status message counts them.
Why did OLX reject my condition filter? Some categories have no condition, for example cars and real estate on olx.pl. The run stops with a message and charges nothing. Leave condition on any there.
What are prices in UYE on olx.uz? Uzbek sellers price in UYE, a dollar-like unit, or in UZS. For UYE listings convertedPrice holds the amount in UZS as OLX shows it.
🔗 Related Scrapers
- Otomoto Listings Scraper: car listings from OLX's sister car marketplace in Poland, with full vehicle specs.
- Autovit Listings Scraper: the same car data for Romania, to pair with OLX Romania car prices.
- Standvirtual Listings Scraper: car listings from Portugal, to compare with OLX Portugal.
- Storia Listings Scraper: Romanian real-estate listings for deeper apartment and house data.
- Allegro Listings Scraper: new and used product prices from Poland's largest online marketplace, to compare with OLX Poland.