OLX.ua Scraper

Extract OLX.ua listings as clean JSON with zero seller personal data - prices in kopiykas, full descriptions, city-level locations, business-vs-private flag. Price bands, newest-first monitoring, pay per result. Built for deal watching, market research and AI pipelines.

$1.99 / 1,000 · 100.0% success over 123 public runs in the last 30 days.

Run it on Apify → Free to try - runs bill per result on your own account.

What you give it

Every field is optional unless marked; sensible defaults do the rest.

FieldTypeWhat it doesDefault
searchQuery string What to search for on OLX.ua, exactly as you would type it in the site's search box, e.g. "велосипед" or "iphone 15". велосипед
categoryId integer Numeric OLX category id to limit the search to. Find it in the category page URL or in a previous run's categoryId output field. Empty = all categories. -
priceMin integer Only include listings costing at least this many hryvnias. -
priceMax integer Only include listings costing at most this many hryvnias. -
sortBy string Order of results: date (newest first, best for monitoring), price_asc, price_desc, or relevance. date
postedAfter string Only include listings posted on or after this date (YYYY-MM-DD or a full ISO timestamp). With newest-first sorting the run stops early once older listings are reached. -
postedBefore string Only include listings posted on or before this date (YYYY-MM-DD or a full ISO timestamp). -
maxItems integer Stop after this many listings. Free-plan runs are capped at 25 items. 1000

What you get back

One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.

FieldTypeMeaning
listingId string OLX listing ID.
url string Direct link to the listing.
title string Listing title as posted.
description string Full listing description as posted by the seller.
priceKop integer Asking price in kopiykas (1/100 hryvnia). Absent when the listing has no fixed price.
currency string Always UAH when a price is present.
negotiable boolean Whether the seller marked the price as negotiable .
postedAt string When the listing was created (ISO timestamp with timezone).
refreshedAt string When the seller last refreshed/bumped the listing.
city string Listing municipality. City-level only - exact coordinates are never collected.
region string Region of the listing.
categoryId integer Numeric OLX category ID. Reusable as the categoryId input.
attributes object Whitelisted, non-personal listing attributes that vary by category - e.g. state (condition), brand, model, year and mileage for cars, area and rooms for property. Present when the listing has them.
sellerType string Whether the listing comes from a business or a private seller. The only seller-related field in the output.
deliveryAvailable boolean Whether OLX courier delivery (Przesyłka OLX) is enabled for the listing.
imageUrls array Listing photo URLs (up to 8).

Health

100.0% success over 123 public runs in the last 30 days. Live record, failures included: status page.

Full documentation, examples and the AI-assistant prompt live on the store page.