OLX Listings Search
GET /v1/classifieds/olx1 credit / listingcache 30 minListings from an OLX search on olx.pl, olx.ro, olx.pt, olx.bg, olx.ua, olx.kz, olx.uz or olx.com.br, by keywords, category path, city (or Brazilian state) and price range, or from any OLX results URL you copy from the browser: title, price, currency, negotiable flag and previous price, city, district, region, approximate coordinates, posted, refreshed and expiry dates, category, condition, every attribute OLX shows (with vehicles normalised to mileage in km, year, fuel, transmission, power and engine size), photos, promoted flag and seller type, 40 listings per OLX page (50 on olx.com.br) and up to 400 per call. Read from the search the signed-out site itself loads. Phone numbers are never collected, private sellers' names are pseudonymised unless you ask for them, and VINs and licence plates are removed. Billed per listing returned; blocked or failed requests are free.
Query parameters
countrystring | OLX site: pl (olx.pl), ro (olx.ro), pt (olx.pt), bg (olx.bg), ua (olx.ua), kz (olx.kz), uz (olx.uz) or br (olx.com.br). Ignored when url is given. Default: "pl" Allowed: pl, ro, pt, bg, ua, kz, uz, br |
querystring | Keywords, e.g. 'iphone 13' or 'bmw x5'. Default: null |
categorystring | Category path as it appears in the site's URLs, e.g. 'motoryzacja/samochody' (olx.pl), 'auto-masini-moto-ambarcatiuni/autoturisme' (olx.ro) or 'autos-e-pecas/carros-vans-e-utilitarios' (olx.com.br). Default: null |
category_idstring | Numeric OLX category id (not for olx.com.br). Overrides category. Default: null |
citystring | City to search in, e.g. 'Warszawa', 'Cluj-Napoca', 'Kyiv' (not for olx.com.br). Default: null |
statestring | olx.com.br only: two-letter state code, e.g. 'sp' or 'rj'. Default: null |
urlstring | An OLX results URL copied from the browser, e.g. https://www.olx.pl/motoryzacja/samochody/warszawa/q-bmw/. Overrides country, query, category and city. Default: null |
price_minstring | Minimum price in the site's currency. Default: null |
price_maxstring | Maximum price in the site's currency. Default: null |
sortstring | Result order (olx.com.br supports relevance and newest). Default: "relevance" Allowed: relevance, newest, price_asc, price_desc |
filtersobject | Extra OLX filters (not for olx.com.br) as the site's own filter_* names, e.g. {"filter_float_year:from": "2015", "filter_enum_petrol[0]": "diesel"}. |
pageinteger | Results page to start from (40 per page; olx.com.br 50). Default: 1 |
limitinteger | Maximum listings to return (1-400). Default: 40 |
include_promotedboolean | Keep promoted (paid top) listings, flagged promoted=true. Default: true |
include_descriptionboolean | Add each listing's description text (phone numbers and e-mail addresses removed). Default: false |
include_seller_namesboolean | Return private sellers' display names. Off by default: private sellers appear as 'Seller 1', 'Seller 2', ... Business sellers' names are always returned. Default: false |
max_ageinteger | Accept a cached answer up to this many seconds old, billed at 50%. |
Response data fields
Example
curl "https://api.gridlode.com/v1/classifieds/olx?country=pl&query=iphone%2013&limit=40" \
-H "Authorization: Bearer $GRIDLODE_KEY"Try it without code on the OLX Listings Search API page.