OLX Scraper avatar

OLX Scraper

Pricing

$0.75 / 1,000 ads

Go to Apify Store
OLX Scraper

OLX Scraper

Scrape OLX ads from Ukraine, Poland, Romania, Kazakhstan, Portugal, Bulgaria, and Uzbekistan: prices, descriptions, photos, sellers, locations. No login.

Pricing

$0.75 / 1,000 ads

Rating

0.0

(0)

Developer

Donjuan

Donjuan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

OLX Scraper: ads, prices, sellers, and photos from 7 countries

OLX Scraper collects ads from OLX in Ukraine, Poland, Romania, Kazakhstan, Portugal, Bulgaria, and Uzbekistan. For every ad you get the title, full description, price and currency, all category attributes (condition, brand, mileage, area, and so on), location with city, district, and region, photos, publish and refresh dates, promotion flags, and the seller's name, type, and account age.

You don't need an OLX account or any code. Paste a link to any OLX search or category page with your filters, or type a keyword, press Start, and download the results as JSON, CSV, Excel, XML, or HTML.

What can you do with OLX data?

  • Monitor prices. Track what a phone, a car model, or a flat costs in each city and how prices change week to week.
  • Find deals first. Run a search sorted by newest every hour and get new ads before other buyers see them.
  • Research a market. Count ads per category, city, or condition, and compare private sellers with businesses.
  • Watch competitors. See what other shops sell on OLX, at what prices, and how often they pay for promotion.
  • Generate leads. Collect business sellers in your niche with their company names and shop links.
  • Build datasets. Export thousands of real listings with prices and attributes for analysis or machine learning.

What data does OLX Scraper extract?

GroupFields
AdID, URL, title, full description, publish time, last refresh time, expiry time
Pricevalue, currency, negotiable flag, price as shown on OLX, previous price after a discount
Attributesevery category attribute with its key, name, and value (for example condition, brand, year, mileage, rooms, area)
Locationcity, district, region, approximate coordinates
Photoslinks to every photo in full size
Promotionpromoted flag, highlighted, urgent, and top ad features
SellerID, UUID, name, company name, business or private, about text, on OLX since, last seen, shop link
Contact optionswhether the seller enabled phone, chat, OLX delivery, and price offers
CategoryID, type, name, and path
Sourcecountry and the URL or keyword that found the ad

How to scrape OLX

  1. Open the actor and go to the Input tab.
  2. Either paste OLX links into OLX search or category URLs, or add keywords to Search queries and pick a country.
  3. Set Max ads per URL or query.
  4. Press Start. When the run finishes, open the Output tab to preview the table, or press Export to download the data.

The easiest way to use filters is to set them up on the OLX site: choose a category, a city, a price range, a condition, and a sort order, then copy the address from your browser. The actor reads all of those filters from the link.

Input

FieldTypeDescription
startUrlsarrayLinks to OLX search or category pages from any supported country. Filters, sorting, and location come from the link.
searchQueriesarray of stringsKeywords to search for.
countrystringWhere to run the search queries: ua, pl, ro, kz, pt, bg, or uz. Start URLs use the country of their own link.
sortBystringOrder for search queries: relevance, newest, cheapest, or most_expensive.
maxItemsintegerThe maximum number of ads from each start URL and each search query.
excludePromotedbooleanSkip the paid ads OLX places on top of every results page.
proxyCountryCodestringA two-letter country code to use Apify residential proxy in that country. None uses Apify datacenter proxy.

Input example

{
"startUrls": [
{ "url": "https://www.olx.ua/uk/elektronika/telefony-i-aksesuary/mobilnye-telefony-smartfony/kiev/?search%5Bfilter_float_price:from%5D=10000&search%5Border%5D=created_at:desc" },
{ "url": "https://www.olx.pl/motoryzacja/samochody/warszawa/?search%5Bfilter_float_price:to%5D=30000" }
],
"searchQueries": ["iphone 15", "macbook air"],
"country": "ua",
"sortBy": "newest",
"maxItems": 200,
"excludePromoted": false,
"proxyCountryCode": "None"
}

Output

Every ad becomes one item in the dataset.

Output example

A real ad from olx.ua. Long texts are shortened.

{
"id": 936142003,
"url": "https://www.olx.ua/d/uk/obyavlenie/iphone-14-plus-128-gb-neverlock-magazin-garantya-ID11lXiz.html",
"title": "iPhone 14 Plus 128 GB Neverlock | Магазин | Гарантія",
"description": "iPhone 14 Plus 128 GB neverlock | Айфон 14 Плюс 128 ГБ Неверлок\n\nЄмність акумулятора: 92%\n\nПрацює з усіма операторами\n\n...",
"price": {
"value": 15900,
"currency": "UAH",
"negotiable": false,
"label": "15 900 грн."
},
"params": [
{ "key": "mobile_phone_manufacturer", "name": "Марка телефону", "value": "Apple" },
{ "key": "state", "name": "Стан", "value": "Вживане" },
{ "key": "mobile_phone_diagonal", "name": "Діагональ екрану", "value": "Більше 6\"" },
{ "key": "operating_system", "name": "Операційна система", "value": "iOS" }
],
"location": {
"city": "Київ",
"district": "Дніпровський",
"region": "Київська область",
"lat": 50.45964,
"lon": 30.61717
},
"createdTime": "2026-09-27T14:00:46.000Z",
"lastRefreshTime": "2026-10-18T14:00:51.000Z",
"validToTime": "2026-10-27T14:00:47.000Z",
"promoted": false,
"promotion": { "highlighted": false, "urgent": false, "topAd": false },
"photos": [
"https://ireland.apollo.olxcdn.com:443/v1/files/93kincz1b5mv-UA/image;s=4032x3024",
"https://ireland.apollo.olxcdn.com:443/v1/files/6ar2uqi11k86-UA/image;s=4032x3024"
],
"seller": {
"id": 71943176,
"uuid": "b4496579-245b-4a3e-886a-3d7f4a4298c2",
"name": "Apple Space",
"companyName": "Apple Space",
"type": "business",
"about": "Вас Вітає Apple Space, в нас Ви можете придбати iPhone...",
"created": "2016-11-26T08:38:10.000Z",
"lastSeen": "2026-10-18T13:46:40.000Z",
"shopUrl": "https://applespace.olx.ua"
},
"contact": {
"phoneAvailable": true,
"chat": true,
"courier": true,
"negotiation": false
},
"category": {
"id": 85,
"type": "electronics",
"name": "Смартфони / мобільні телефони",
"path": "elektronika/telefony-i-aksesuary/mobilnye-telefony-smartfony"
},
"country": "ua",
"input": "https://www.olx.ua/uk/elektronika/telefony-i-aksesuary/mobilnye-telefony-smartfony/kiev/?search%5Bfilter_float_price:from%5D=10000&search%5Border%5D=created_at:desc"
}

Output fields

FieldDescription
id, url, titleThe ad's OLX ID, link, and title.
descriptionThe full ad text with line breaks kept and HTML removed.
priceValue, currency, negotiable flag, and the price as OLX shows it. previousValue appears when the seller lowered the price. Ads without a price, such as some jobs and services, have no price.
paramsAll category attributes. Keys stay the same across languages, names and values come in the site's language.
locationCity, district (in large cities), region, and approximate coordinates. OLX blurs the exact spot.
createdTime, lastRefreshTime, validToTimePublish time, last renewal or bump, and expiry, as ISO 8601 strings in UTC.
promoted, promotionWhether the ad is one of the paid ads on top of the results page, and which paid features it has.
photosFull-size photo links.
sellerSeller ID, name, company name, business or private, about text, account creation time, last seen time, and shop link when the seller has an OLX shop.
contactWhich contact options the seller enabled.
categoryCategory ID, type, name, and path in the site's language.
country, inputThe OLX country and the start URL or keyword that found the ad.

How many ads can I get?

OLX shows up to about 1,000 regular ads per search, plus the promoted ads on each page. In our tests a broad search for iphone on olx.ua returned 1,244 unique ads. To collect more, split the search: add one start URL per city, per category, or per price range.

How fast is it?

The actor reads OLX's own data feed instead of loading pages in a browser. In our tests 100 ads took 1 to 2 seconds, and 1,244 ads took 11 seconds. Runs need little memory, so they stay cheap.

Does it scrape phone numbers?

No. OLX shows phone numbers only to logged-in users after a click, and the actor doesn't log in. contact.phoneAvailable tells you whether the seller added a phone number.

How much does it cost?

You pay $1.00 per 1,000 ads saved to the dataset. Proxy and platform usage are included.

Export and integrations

The results go into an Apify dataset. From there you can:

  • download them as JSON, CSV, Excel, XML, HTML, or RSS from the Output tab;
  • send them to Google Sheets, Slack, Zapier, Make, and other tools through Apify integrations;
  • schedule runs, for example every hour, to catch new ads;
  • start runs and read the results from your own code through the Apify API.

Run it through the API

curl -X POST "https://api.apify.com/v2/acts/<username>~olx-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQueries": ["iphone"], "country": "pl", "maxItems": 100}'

The call waits for the run to finish and returns the ads as a JSON array.

FAQ

Do I need an OLX account?

No. The actor reads public ads the same way a logged-out visitor sees them.

Which OLX sites are supported?

olx.ua, olx.pl, olx.ro, olx.kz, olx.pt, olx.bg, and olx.uz. They run on the same engine, so every feature works on all of them.

Can I scrape a single ad?

Start URLs take search and category pages. Links to single ads are skipped with a note in the log.

Why do some ads have no district or no price?

OLX shows districts only in large cities, and some categories, such as jobs or free items, have no price.

What language is the data in?

Titles and descriptions come as the seller wrote them. Category names and attribute names come in the language of the OLX site.

The actor collects only public data that anyone can see without logging in. Ads can still contain personal data, such as seller names, so make sure you have a legitimate reason to collect it and follow the GDPR and other laws that apply to you. If you're not sure, ask a lawyer.

Disclaimer

This actor is provided as is, without warranty. You're responsible for how you use it and for following OLX's terms of service and the laws that apply to you. OLX isn't affiliated with this actor.