OLX Listings Scraper avatar

OLX Listings Scraper

Pricing

from $1.00 / 1,000 product listings

Go to Apify Store
OLX Listings Scraper

OLX Listings Scraper

The OLX Listings Scraper extracts product listings from OLX marketplaces across Poland, Bulgaria, Romania, Portugal, and Ukraine, capturing titles, prices, seller details, photos, and location — ideal for price monitoring and second-hand market analysis.

Pricing

from $1.00 / 1,000 product listings

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

3

Bookmarked

250

Total users

30

Monthly active users

a day ago

Last modified

Share

OLX Listings Scraper

Extract product listings from OLX marketplaces across Europe. The OLX Listings Scraper collects structured listing data including prices, seller info, photos, location, and category-specific attributes.

Supported countries: Poland (olx.pl), Bulgaria (olx.bg), Romania (olx.ro), Portugal (olx.pt), Ukraine (olx.ua).

✨ Features

  • 🌍 Multi-country support: Scrape any of the 5 supported OLX regional markets
  • 🔍 Keyword search: Find listings by search query across all categories
  • 📂 Category browsing: Fetch listings from specific OLX category IDs
  • 📄 Automatic pagination: Follows all result pages up to 1000 results per query
  • 📍 GPS coordinates on every listing: latitude, longitude and whether the pin is exact or an approximate area
  • 🏪 Seller and ad details on every listing: business flag, company name, shop, phone and chat availability, OLX Delivery, promotion packages, ad status and expiry
  • 💰 Price & sort filters: Filter by price range and sort by recently updated, cheapest, or most expensive
  • 🕒 Only what's new: postedAfter returns listings first posted since a date or in the last N days — so a scheduled run brings back new supply rather than the same page every time. Bumped older listings are excluded.
  • ⚡ Fast: 1000 listings in ~30 seconds

🛠️ How It Works

  1. Choose a country – Select one of the 5 supported OLX regional domains
  2. Choose a mode – Search by keyword, browse by category ID, or provide URLs directly
  3. Set limits – Configure maxItems, price filters, sort order, and postedAfter for new listings only
  4. Run the scraper – Listings are collected and paginated automatically
  5. Export – every listing already carries coordinates, seller and delivery details; no extra step

📥 Input

ParameterTypeDefaultDescription
countrystringplOLX regional domain: pl, bg, ro, pt, ua
modestringsearchsearch (keyword), category (by ID), or urls (direct URLs)
searchQuerystring—Keyword to search for (used in search mode)
categoryIdsarray[]OLX category IDs to scrape (used in category and search modes)
maxItemsinteger100Maximum listings to return (up to 1000 per query)
includeDetailsbooleanfalseDeprecated, no effect: coordinates and details are included in every listing
sortBystringcreated_at:descSort order: created_at:desc (recently posted or bumped), price:asc, price:desc
postedAfterstring—Only listings first posted after this. A date (2026-08-01) or a phrase (7 days)
priceFrominteger—Minimum price filter in local currency
priceTointeger—Maximum price filter in local currency
startUrlsarray[]OLX listing URLs to scrape directly (used in urls mode)

📊 Sample Output

{
"id": 1061972724,
"url": "https://www.olx.pl/d/oferta/iphone-16-93-kondycja-baterii-CID99-ID19RWCk.html",
"title": "Iphone 16! 93% kondycja baterii",
"description": "Witam. Mam na sprzedaż telefon IPhone 16 w kolorze czarnym...",
"price": 1950,
"currency": "PLN",
"negotiable": true,
"previousPrice": null,
"condition": "Używane",
"city": "Katowice",
"district": "Osiedle Tysiąclecia",
"region": "Śląskie",
"lat": 50.27778,
"lon": 18.98144,
"categoryId": 2298,
"sellerId": 776288518,
"sellerName": "Maciej Szczygieł",
"sellerType": null,
"sellerJoined": "2021-02-22",
"isPromoted": true,
"photos": ["https://ireland.apollo.olxcdn.com:443/v1/files/haxawzyemzul1-PL/image;s=800x600"],
"params": {
"state": "Używane",
"phonemodel": "iPhone 16",
"builtinmemory_phones": "128GB",
"coloriphone": "Czarny",
"sim_options": "Dual SIM (SIM + eSIM)"
},
"createdAt": "2026-03-20T10:45:06+01:00",
"refreshedAt": "2026-03-20T10:47:30+01:00",
"validTo": "2026-04-19T10:45:06+02:00",
"status": "active",
"isBusiness": false,
"sellerCompany": null,
"sellerAbout": null,
"sellerLogo": null,
"sellerIsOnline": false,
"sellerLastSeen": "2026-03-25T11:02:10+01:00",
"sellerShop": null,
"phoneAvailable": true,
"chatAvailable": true,
"courierAvailable": false,
"olxDelivery": false,
"isHighlighted": true,
"isUrgent": false,
"promotionOptions": ["bundle_basic"],
"locationExact": false,
"locationRadiusKm": 3,
"categoryType": "electronics",
"country": "pl",
"scrapedAt": "2026-03-25T12:32:37.195Z"
}

💡 Tips

  • Category IDs are region-specific — a category ID valid on olx.pl may not exist on olx.bg. Browse the target OLX site and find the category ID in the URL (e.g. /elektronika/ → category ID 99 on olx.pl).
  • 1000-result cap — OLX limits any single query to 1000 results. To collect more, use multiple categoryIds or combine a search query with price range filters to subdivide the result set.
  • GPS accuracy — locationExact: false means the seller chose an approximate area; lat/lon then mark the centre of a circle of locationRadiusKm.
  • Phone numbers — phoneAvailable tells you the seller shows one on the ad; the number itself is only available to logged-in OLX users and is not returned.

💳 Pricing

This actor uses pay-per-event pricing — you are only charged for results delivered, not for compute time.

EventWhen chargedPrice
product-listingEach listing from a search or category, with coordinates and all details$0.001
item-detailEach listing fetched from a URL you supplied in urls mode$0.002

Examples:

  • 1,000 listings from a search → $1.00
  • 100 listings from your own URLs → $0.20