ScavioScavio
Pricing
Tools
Sign InsGet Startedg
Quick StartAPI & SDKsEcosystem

OLX

OLX Seller Ads API

One OLX seller's live ads by seller id on any of the seven OLX Europe sites, with the search sorts and filters (price, condition, OLX delivery, photos, location, the category's own filters) and an optional query or category. Each ad has the same fields as search: id, title, price, condition, every parameter, category, location, dates, promoted and delivery flags, photos and the seller id. Costs 1 credit per request.

POST/api/v1/olx/seller-ads

Authorizations

Authorizationstringheaderrequired

Bearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).

Body

application/json
user_idstring | integerrequired

An OLX seller id: items[].seller.id of a search or seller.id of an ad. Send the country of the site where you found the id.

Example: 2547532895

querystring

Search within the seller's ads, 1-200 characters.

Example: iphone 17

category_idinteger

Only the seller's ads in this category (categories[].id or an item's category_id).

Example: 2298

countryenum<string>default:pl

The OLX site. Titles, parameters and labels come back in the site's language (Polish on pl; Russian by default on kz and uz), prices in its currency. When you send a url, the market follows the url.

Example: pl

  • pl — olx.pl, PLN, Polish. The default.
  • ro — olx.ro, RON, Romanian.
  • pt — olx.pt, EUR, Portuguese.
  • bg — olx.bg, EUR, Bulgarian.
  • ua — olx.ua, UAH, Ukrainian.
  • kz — olx.kz, KZT, Russian by default, Kazakh with language kk.
  • uz — olx.uz, UZS, Russian by default, Uzbek with language uz.
languageenum<string>

kz and uz only. olx.kz and olx.uz answer in Russian by default; kk returns Kazakh on kz and uz returns Uzbek (Latin) on uz. A 400 on the other five sites, which answer in their own language.

Example: kk

  • ru — Russian, the default on kz and uz.
  • kk — Kazakh, kz only.
  • uz — Uzbek, uz only.
pageinteger

Results page, 1-based. Defaults to 1. OLX serves the first 1,000 results of a search only, so page x page_size may not exceed 1,000 (25 pages at the default page size).

Example: 2

page_sizeintegerdefault:40

Ads per page, 1-50. Promoted ads come on top of these: 40 asks return about 52 items.

Example: 40

sortenum<string>default:relevance

The order of the ads. Promoted ads are not sorted.

  • relevance — The site's own order. The default.
  • newest — Most recently posted or refreshed first, approximately: neighbouring ads can be a few minutes out of order. Sellers can refresh an ad to the top, so this is last refresh, not first posting.
  • price_low_to_high — Cheapest first.
  • price_high_to_low — Most expensive first.
min_pricenumber

Lowest price, in the site's currency.

Example: 500

max_pricenumber

Highest price, in the site's currency.

Example: 2000

conditionenum<string>

Item condition, in categories that have one.

  • new — New.
  • used — Used.
  • refurbished — Refurbished.
  • damaged — Damaged.
seller_typeenum<string>

Private individuals or business sellers.

  • private — Private sellers.
  • business — Business sellers.
olx_deliveryboolean

Only ads that can be bought with OLX delivery (shipped through OLX). pl, ro, pt, bg and ua; a 400 on kz and uz, which have no OLX delivery.

Example: true

with_photosboolean

Only ads with photos.

Example: true

region_idinteger

Only ads in this region: region_id of the locations endpoint or of an item's location.

Example: 2

city_idinteger

Only ads in this city: city_id of the locations endpoint or of an item's location.

Example: 17871

district_idinteger

Only ads in this district of a city: district_id of the locations endpoint.

Example: 381

distance_kminteger

With city_id: include ads within this many km of the city. One of 0, 2, 5, 10, 15, 30, 50, 75, 100.

Example: 30

filtersobject

The category's own filters, as the filters endpoint lists them (filters[].send_as): a range as filter_float_<name>:from / :to with a number (filter_float_year:from 2018, filter_float_milage:to 100000, filter_float_m:from 40), a choice as filter_enum_<name> with one value id or a list (filter_enum_rooms ["two", "three"]). Up to 20 keys; other keys are a 400.

Example: {"filter_float_m:from": 40, "filter_enum_rooms": ["two"]}

include_promotedbooleandefault:true

Keep the promoted ads the site places on each page. Each is flagged is_promoted with promoted_position, its slot on the page.

Example: false

Request

from scavio import ScavioClient

client = ScavioClient(api_key="sk_live_your_key")

# Snapshot a competitor shop's catalogue, cheapest first.
res = client.olx.seller_ads(user_id=2547532895, sort="price_low_to_high", page_size=50)["data"]
print(res["total"], "live ads")
for ad in res["items"]:
    print(ad["id"], ad["price"]["value"], ad["condition"], ad["title"])

Response

"user_id": 2547532895,
"query": null,
"category_id": null,
"sort": "relevance",
"applied_filters": {},
"total": 65,
"total_capped": false,
"page": 1,
"page_size": 40,
"total_pages": 2,
"has_next_page": true,
"count": 40,
"promoted_count": 0,
"country": "pl",
"language": "pl",
"currency": "PLN"
},
"response_time": 10753
}
PreviousOLX SellerNextOLX Category Filters
ScavioScavio

One scraper API for every social, search, e-commerce and real estate platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

Ask AI about Scavio

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy