OLX Item
Turn a single OLX ad page into structured JSON with the full description, ad parameters, photos, location, and seller. Pass scraper=olx-item to the Crawling API with any OLX ad URL.
Usage
Send the individual OLX ad URL to the Crawling API with the scraper=olx-item parameter. Ad pages live under the /d/ path. The scraper covers OLX's shared frontend, so the same scraper name works across markets - only the domain in the request URL changes.
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://www.olx.pl/d/oferta/bmw-320d-f30-2016-xdrive-IDABC12.html' \
--data-urlencode 'scraper=olx-item' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://www.olx.pl/d/oferta/bmw-320d-f30-2016-xdrive-IDABC12.html',
{'scraper': 'olx-item'}
)
import json
data = json.loads(res['body'])const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });
const res = await api.get(
'https://www.olx.pl/d/oferta/bmw-320d-f30-2016-xdrive-IDABC12.html',
{ scraper: 'olx-item' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://www.olx.pl/d/oferta/bmw-320d-f30-2016-xdrive-IDABC12.html', scraper: 'olx-item')
data = JSON.parse(res.body)Example input URL
Any individual OLX ad URL (the /d/ detail path). A few examples across OLX markets:
https://www.olx.pl/d/oferta/bmw-320d-f30-2016-xdrive-IDABC12.html
https://www.olx.ua/d/uk/obyavlenie/planka-IDVDALa.html
https://www.olx.pt/d/anuncio/iphone-15-pro-IDXYZ99.htmlThe olx-item scraper works on the shared OLX frontend across olx.pl, olx.ua, olx.pt, olx.ro, olx.bg, olx.kz, and olx.uz - only the TLD in the request URL changes. OLX rate-limits datacenter IPs, but you don't pick a proxy pool yourself - the Crawling API routes through its residential network by default and auto-selects the best exit per request. Pass country= (e.g. country=PL for olx.pl) only when you need a specific market's geo.
Response
The scraper returns a JSON object with the full ad, including its parameters, photos, location, and seller.
automotive).PLN, UAH, EUR).zł).new, used).private, business).active, removed).Sample response
{
"url": "https://www.olx.pl/d/oferta/bmw-320d-f30-2016-xdrive-IDABC12.html",
"id": 915581849,
"title": "BMW 320d F30 2016 xDrive - pełen serwis",
"description": "Sprzedam BMW 320d F30, rok 2016, xDrive. Pełna historia serwisowa, bezwypadkowy, jeden właściciel.",
"category": {
"id": 4,
"type": "automotive"
},
"price": {
"value": 45900,
"currency": "PLN",
"currencySymbol": "zł",
"displayValue": "45 900 zł",
"negotiable": true,
"free": false,
"exchange": false
},
"itemCondition": "used",
"params": [
{
"key": "make",
"name": "Marka",
"value": "BMW",
"normalizedValue": "bmw"
},
{
"key": "year",
"name": "Rok produkcji",
"value": "2016",
"normalizedValue": "2016"
},
{
"key": "mileage",
"name": "Przebieg",
"value": "142 000 km",
"normalizedValue": "142000"
}
],
"location": {
"city": "Warszawa",
"region": "Mazowieckie",
"district": "Mokotów",
"path": "Mazowieckie, Warszawa, Mokotów",
"latitude": 52.2297,
"longitude": 21.0122
},
"photos": [
"https://ireland.apollo.olxcdn.com:443/v1/files/765inat2qu8k1-PL/image;s=1024x768",
"https://ireland.apollo.olxcdn.com:443/v1/files/a1b2c3d4e5f6-PL/image;s=1024x768"
],
"seller": {
"id": 8842013,
"name": "Auto Komis Premium",
"type": "business",
"companyName": "Auto Komis Premium Sp. z o.o.",
"registeredAt": "2019-03-11T00:00:00+01:00",
"lastSeenAt": "2026-07-21T18:42:00+02:00"
},
"contact": {
"name": "Auto Komis Premium",
"phoneAvailable": true,
"chatAvailable": true,
"courier": false,
"negotiation": true
},
"createdTime": "2026-07-18T10:24:55+02:00",
"lastRefreshTime": "2026-07-21T08:05:12+02:00",
"validToTime": "2026-08-18T10:24:55+02:00",
"status": "active",
"isActive": true,
"isBusiness": true,
"isPromoted": true,
"isHighlighted": false
}