OLX Scraper - Listings, Ad Details, Phone Numbers
Pricing
Pay per event
OLX Scraper - Listings, Ad Details, Phone Numbers
Scrape OLX classifieds in Poland, Ukraine, Romania, Bulgaria, and Portugal. Search listings by keyword, category, location, and price. Get ad details with descriptions, GPS, and photos, and reveal seller phone numbers. $2 per 1,000 results.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Sourabh Kumar
Maintained by CommunityActor stats
1
Bookmarked
4
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
OLX scraper: search listings, ad details, seller phones and photos
Scrape OLX classifieds by keyword, category, location, price, and condition. Get full ad details with descriptions, GPS, seller info, and photos, and reveal seller phone numbers where they are public.
$2 per 1,000 results. Flat for every mode. No proxy or browser setup needed.
Works across Poland, Ukraine, Romania, Bulgaria, and Portugal.
Why this scraper?
- 💸 Flat $2 per 1,000 results. Same price for search and ad details. No monthly minimum, no per-run subscription.
- 📞 Reveals seller phone numbers. Pulls the real number on listings where the seller made it public, roughly a third of ads. Most OLX scrapers skip this entirely.
- ⚡ Fast and stable. Reads OLX's own public data feed, so no headless browser, no CAPTCHAs, no flaky page rendering.
- 🌍 Five countries, one actor. Poland, Ukraine, Romania, Bulgaria, and Portugal share the same fields and inputs.
- 🧭 Real filters, verified. Category, region, city, price range, condition, and sort actually narrow the results, not just accepted and ignored.
- 📍 Rich records. Every listing carries price, condition, description, GPS coordinates, seller type (private vs. business), and full-resolution photo URLs.
- 🧾 You pay for rows, nothing else. Billing equals the number of results in your dataset. Duplicates are charged once.
What data can you extract?
| 🏷️ Title | 💰 Price + currency | 🆕 Condition | 📝 Description |
| 📍 City + region | 🗺️ GPS lat/lon | 👤 Seller name | 🏢 Private vs. business |
| 📞 Phone number | 💬 Chat enabled | 🖼️ Photo URLs | ⭐ Promoted flag |
| 📅 Posted + refreshed date | 🗂️ Category | 🔧 Item attributes | 🔗 Listing URL |
Two modes
🔎 Search
Find listings by keyword, category, region or city, price range, and condition, with sorting. Each result already includes the full description, GPS, seller, and photos, so no second request per ad.
{"mode": "search","market": "pl","query": "iphone 13","categoryId": 99,"priceMin": 800,"priceMax": 2000,"condition": "used","sortBy": "price_asc","includePhone": true,"maxItems": 200}
📄 Detail
Fetch specific listings by URL or numeric ID. Paste OLX ad links or IDs straight in.
{"mode": "detail","market": "pl","offerUrls": ["https://www.olx.pl/d/oferta/iphone-13-128gb-CID99-ID1bq7Mh.html","1084898957"],"includePhone": true}
How to scrape OLX: step by step
- Create a free Apify account. Takes 30 seconds, no card needed.
- Open OLX Scraper in the Apify Console.
- Pick a market, then enter a search query and filters, or paste ad URLs for detail mode.
- Click Start. Most runs finish in under a minute.
- Export as JSON, CSV, or Excel, or pull the results via API.
How much does OLX Scraper cost?
Pay per result: $2.00 for 1,000 results, the same for search and detail. The Apify Free plan includes $5 in monthly credits, roughly 2,499 results. The $29/month Starter plan covers about 14,499 results a month. There is a small one-time run-start fee of about $0.01, and no subscription lock-in.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
mode | string | search | search or detail |
market | string | pl | pl, ua, ro, bg, pt |
query | string | Free-text keyword (search mode) | |
categoryId | integer | Numeric OLX category id | |
regionId | integer | Numeric region id | |
cityId | integer | Numeric city id | |
priceMin / priceMax | integer | Price range in local currency | |
condition | string | any | any, new, used |
sortBy | string | relevance | relevance, created_desc, price_asc, price_desc |
offerUrls | array | Ad URLs or numeric IDs (detail mode) | |
includePhone | boolean | false | Reveal seller phone numbers where public |
maxItems | integer | 100 | Stop after this many results. 0 = no limit |
Search mode needs at least one of query, categoryId, regionId, or cityId.
Output
Each result is one flat record. Search example (Poland):
{"id": 1084898957,"url": "https://www.olx.pl/d/oferta/iphone-13-128gb-CID99-ID1bq7Mh.html","title": "iPhone 13 128GB","description": "iPhone 13 w bardzo dobrym stanie, bateria 89%...","price": 1399,"priceLabel": "1 399 zł","currency": "PLN","negotiable": false,"condition": "used","createdTime": "2026-07-11T19:02:49+02:00","lastRefreshTime": "2026-07-12T16:14:25+02:00","categoryId": 2298,"categoryType": "electronics","city": "Kraków","region": "Małopolskie","lat": 50.06026,"lon": 19.94021,"sellerId": 88213344,"sellerName": "Anastazja","sellerType": "private","isBusiness": false,"companyName": null,"sellerLastSeen": "2026-07-12T17:11:51+02:00","hasPhone": true,"chatEnabled": true,"phones": ["501 509 597"],"promoted": false,"photos": ["https://ireland.apollo.olxcdn.com/v1/files/lnprby3eddq21-PL/image;s=720x960"],"photoCount": 5,"params": { "state": "Używane", "phonemodel": "iPhone 13", "builtinmemory_phones": "128GB" },"market": "pl"}
Detail mode returns the same shape. When includePhone is off, phones is null.
Use cases
- 🛒 Price research: Track asking prices for a product, brand, or model across a whole country.
- 🚗 Car and property market data: Pull mileage, year, area, rooms, and location from vehicle and real-estate listings at scale.
- 🧲 Lead generation: Collect business sellers with phone numbers for outreach in a category or region.
- 📈 Reseller sourcing: Spot underpriced listings the moment they appear, sorted by newest or cheapest.
- 🔍 Competitor monitoring: Watch a shop's or dealer's active listings and how they change over time.
- 🗺️ Local market analysis: Map supply and pricing by city or region using per-listing GPS.
Limitations
- Browse depth per query is capped. OLX limits paging on a single query to roughly 2,300 results. To pull more, split the search by category, region, or price band. The run reports a clear partial status when it hits the cap.
- Phone numbers only where public. Numbers appear on about a third of listings. Chat-only sellers withhold the number from everyone, so those rows have no phone.
- No price on some ads. "Ask for price" listings and job posts have no numeric price; the field is
null. - Public data only. The actor reads what any logged-out visitor can see. No private messages, no account-gated data.
- Brazil not included. OLX Brazil runs on a different platform and is not covered in this version.
FAQ
How much does OLX Scraper cost?
OLX Scraper uses pay-per-result pricing. You pay $2.00 for 1,000 results. The Apify Free plan gives you $5 in usage credits a month, enough for around 2,499 results. If you run regularly, the $29/month Starter plan covers about 14,499 results.
No subscription lock-in. Pause whenever.
Is it legal to scrape OLX?
Scraping public data is generally allowed in the US and most of the EU, as long as you don't collect personal data covered by GDPR or CCPA without a lawful basis. This actor only touches publicly accessible pages, but how you use the output is on you.
Apify's full breakdown: Is web scraping legal?.
Can I integrate OLX Scraper with other tools?
Push results into Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more. Apify treats every actor as a webhook source, so anything that consumes webhooks or pulls from an API works.
Full list: Apify integrations.
Can I use OLX Scraper with the Apify API?
Yes. Every run is available via the Apify REST API:
curl -X POST "https://api.apify.com/v2/acts/sourabhbgp~olx-scraper/runs?token=APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "search", "market": "pl", "query": "iphone", "maxItems": 100}'
Docs: Apify API reference.
Can I use OLX Scraper through an MCP Server?
Yes. Apify ships an MCP server that exposes every actor as a tool, so Claude Desktop, Cursor, and any other MCP-capable client can call OLX Scraper. Setup: Apify MCP docs.
Your feedback
Bug, missing field, or odd behavior? Drop a note in the Issues tab. Reports go to a human and fixes usually ship the same week.