OLX Ukraine Classifieds Scraper
Pricing
Pay per event
OLX Ukraine Classifieds Scraper
Extract public OLX.ua search and category listings with prices, locations, seller names, photos, timestamps, and attributes for market intelligence.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape public classifieds from OLX.ua search and category pages. The actor collects listing titles, prices, locations, seller names, photos, timestamps, category data, and OLX attributes into a clean dataset for market research, lead discovery, and price monitoring.
What does OLX Ukraine Classifieds Scraper do?
OLX Ukraine Classifieds Scraper turns public OLX.ua search results into structured JSON, CSV, Excel, or API output. Give it a keyword such as iphone, a public search URL, or a category URL, and it will paginate through OLX's public listing feed until it reaches your requested limit.
The actor is HTTP-based and designed for efficient extraction of listing-level data. It does not require an OLX account and does not scrape private messages, hidden phone numbers, or non-public user information.
Who is it for?
- 🛒 Ecommerce analysts tracking prices for electronics, furniture, bikes, tools, and second-hand goods.
- 🏠 Real-estate researchers monitoring flats, houses, rooms, and rental supply by city or region.
- 🚗 Vehicle market teams following cars, motorcycles, parts, and local supply trends.
- 📈 Market intelligence teams building dashboards for local Ukrainian classifieds demand.
- 🧲 Lead generation teams collecting public listing URLs and seller names for compliant outreach workflows.
- 🧪 Data teams that need repeatable OLX.ua search exports without manually copying results.
Why use this OLX.ua scraper?
- ⚡ HTTP extraction is faster and cheaper than browser automation.
- 📦 Results are available in Apify datasets, API, webhooks, and integrations.
- 🧭 Works with keywords, category URLs, search URLs, and OLX public API URLs.
- 🧾 Preserves category-specific parameters in the
attributesobject. - 🖼️ Exports listing image URLs and a thumbnail URL.
- 💸 Uses pay-per-result pricing so cost scales with useful data.
What data can you extract from OLX Ukraine?
| Field | Description |
|---|---|
listingId | Stable OLX listing ID |
title | Listing title |
description | Public listing description from OLX search/API data |
price, currency, priceDisplay | Numeric and display price information when available |
listingUrl | Direct URL to the OLX listing |
locationCity, locationRegion, locationDistrict | Public location fields |
sellerName, sellerId, sellerType | Public seller metadata returned by OLX |
isPromoted, isHighlighted | Promotion flags visible in OLX data |
createdTime, lastRefreshTime, validToTime | Listing timestamps |
thumbnailUrl, imageUrls | Public image URLs |
attributes | All public OLX category parameters, such as condition, manufacturer, room count, or mileage |
How much does it cost to scrape OLX Ukraine listings?
This actor uses Apify pay-per-event pricing. You pay a small run-start event and then a per-listing result event for each item saved to the dataset. The exact tiered prices are shown on the Apify actor page before you run it.
For a first test, keep Maximum listings at the prefilled value of 20. For production monitoring, increase the limit to match the search volume you need.
How to scrape OLX.ua search results
- Open the actor on Apify.
- Enter a
Search query, for exampleiphone,велосипед, orквартира київ. - Set
Maximum listingsto the number of classifieds you need. - Click Start.
- Export the dataset as JSON, CSV, Excel, XML, or via API.
How to scrape an OLX.ua category URL
You can paste a public OLX.ua URL into OLX.ua start URLs, for example:
https://www.olx.ua/uk/list/q-iphone/https://www.olx.ua/uk/nedvizhimost/kvartiry/
When start URLs are provided, the actor uses those URLs instead of the keyword input.
Input configuration
{"searchQuery": "iphone","maxResults": 20,"language": "uk","maxRequestRetries": 3}
You can also use startUrls:
{"startUrls": [{ "url": "https://www.olx.ua/uk/list/q-iphone/" }],"maxResults": 50,"language": "uk"}
Output example
{"listingId": "923505866","title": "Iphone xs розбитий","price": 1200,"currency": "UAH","priceDisplay": "1 200 грн.","listingUrl": "https://www.olx.ua/d/uk/obyavlenie/example.html","locationCity": "Київ","locationRegion": "Київська область","sellerName": "Даня","condition": "Вживане","imageUrls": ["https://ireland.apollo.olxcdn.com/..."],"attributes": {"state": "Вживане","Марка телефону": "Apple"},"scrapedAt": "2026-05-16T00:00:00.000Z"}
Tips for better OLX.ua scraping
- 🎯 Use specific keywords such as
iphone 13 київinstead of very broad searches when you want targeted output. - 🗂️ Use category URLs when you want all listings from a section rather than one keyword.
- 🧪 Start with 20 listings to verify the dataset shape before running a large job.
- 🔁 Schedule the actor daily or hourly to monitor changing prices and new supply.
- 📍 Combine location words in the search query if the category URL is too broad.
Common use cases
- Monitor average used phone prices by model.
- Track apartments or houses in a specific city.
- Watch competitor inventory for local resellers.
- Build lead lists from public seller names and listing URLs.
- Detect promoted vs organic supply changes in a category.
- Export daily classifieds snapshots into a BI dashboard.
Integrations
The actor works with standard Apify integrations:
- Dataset export to JSON, CSV, Excel, HTML, XML, or RSS.
- Webhooks to trigger a workflow when a run finishes.
- Google Sheets through Make, Zapier, or custom API code.
- Databases and warehouses by reading the dataset API.
- Monitoring workflows that compare today's dataset with yesterday's dataset.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/olx-ukraine-classifieds-scraper').call({searchQuery: 'iphone',maxResults: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/olx-ukraine-classifieds-scraper').call({'searchQuery': 'iphone','maxResults': 20,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~olx-ukraine-classifieds-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"searchQuery":"iphone","maxResults":20}'
MCP usage
Use this actor from MCP-compatible tools with:
https://mcp.apify.com/?tools=automation-lab/olx-ukraine-classifieds-scraper
Claude Code setup:
$claude mcp add apify-olx-ukraine https://mcp.apify.com/?tools=automation-lab/olx-ukraine-classifieds-scraper
Claude Desktop JSON config:
{"mcpServers": {"apify-olx-ukraine": {"url": "https://mcp.apify.com/?tools=automation-lab/olx-ukraine-classifieds-scraper"}}}
Example prompts:
- "Scrape 50 OLX Ukraine listings for used iPhones and summarize price ranges."
- "Find public OLX.ua apartment listings for Kyiv and export the dataset URL."
- "Run the OLX Ukraine scraper for bicycles and compare promoted listings with organic listings."
Scheduling and monitoring
Create an Apify schedule to run this actor repeatedly. For example, run a query every morning, export the dataset, and compare prices or listing counts against the previous day. This is useful for classifieds intelligence because OLX inventory changes quickly.
Limitations
- The actor extracts public listing data available in OLX.ua search/API responses.
- It does not log in and does not access private seller phone numbers or chats.
- Very broad searches may be limited by OLX's public pagination limits.
- Some fields are category-specific and appear only inside
attributes.
Legality and responsible use
This actor is intended for scraping publicly available information from OLX.ua. You are responsible for ensuring that your use complies with applicable laws, OLX terms, privacy rules, and data protection obligations. Do not use scraped data for spam, harassment, or unlawful profiling.
FAQ
Can I scrape phone numbers?
No. The actor does not log in, does not solve protected flows, and does not extract hidden phone numbers. It focuses on public listing metadata.
Why is a price missing?
Some OLX listings are free, exchange-only, negotiable, or do not expose a numeric price. In those cases, check priceDisplay and attributes.
Can I scrape multiple OLX URLs in one run?
Yes. Add multiple objects to startUrls. The actor deduplicates listings by listingId across sources.
What happens if OLX returns fewer listings than requested?
The actor stops when OLX pagination ends or when it reaches maxResults. Some narrow queries simply have fewer public listings.
Related scrapers
- OLX Poland Classifieds Scraper
- Craigslist Search Results Scraper
- Avito Search Results Scraper
- Google Maps Lead Finder
Changelog
Initial version: scrape OLX.ua public search/category listings with price, location, seller, photos, timestamps, and category attributes.