OLX Scraper | Brazil Listings, Prices and Sellers avatar

OLX Scraper | Brazil Listings, Prices and Sellers

Pricing

from $1.70 / 1,000 listings

Go to Apify Store
OLX Scraper | Brazil Listings, Prices and Sellers

OLX Scraper | Brazil Listings, Prices and Sellers

OLX Brasil scraper for olx.com.br: 50 listings in 17 seconds, 43 fields each. Search by keyword, category, state or link and get price, full description, seller, CEP, photos and attributes, plus the FIPE price and OLX market price on cars, condo fee, IPTU and map position on homes. Filter by price.

Pricing

from $1.70 / 1,000 listings

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Features

Limited permissions

Share

OLX Scraper (OLX Brasil) | Brazil Listings, FIPE Prices and Sellers (2026)

OLX listings, 43 fields each, from any search.

From SilentFlow. Creators of Facebook Search Scraper and JD Products Scraper (#1 for “jd scraper” in Apify Store search), with 930,000+ combined lifetime runs.

Every OLX Brazil ad as one complete row, with the FIPE price and the OLX market price of the model on cars and the map position on homes. 50 ads in 17 seconds from a keyword or a link you paste.

Why choose this actor?

Opening car ads one by one to compare the asking price with the FIPE table? Guessing whether a Corolla is cheap without knowing what the same model sells for on OLX? Copying rental addresses into a map by hand to see which neighborhood they are in?

  • The FIPE table price on every car, next to the asking price. Each vehicle row carries fipePrice, the FIPE value OLX shows on the ad, and priceVsFipePercent, how far the ad sits above or below it. In our default run, 22 of the 25 Toyota Corolla ads in São Paulo came with their FIPE price, and 10 of them were priced under FIPE, the lowest at 12.1 % below. Sort the column and the deals are on top.
  • What the same model sells for on OLX right now. Car rows add the OLX market price range of the model and year: marketPriceMin, marketPriceMedian, marketPriceMax, the number of ads it is based on (marketPriceListings) and the month it covers, plus priceVsMarketPercent. All 25 Corolla rows of the default run had it, and 17 of them were under the OLX median. A Corolla XEI 2023 in Bauru asked 13.6 % less than the median of 48 similar ads.
  • The map position of each property. Real estate rows carry latitude and longitude when the advertiser places the home on the OLX map, the street in address when it is published, and the condominium fee and IPTU as numbers. 24 of the 25 Rio de Janeiro rentals of the default run came with coordinates, 16 with a condominium fee and 13 with an IPTU. Drop the file in a map or a GIS tool and every ad lands on its block.

Try OLX Scraper free

Try your first 50 listings

Paste this input in the Input tab, or keep the prefilled form, and press Start:

{
"searchQueries": ["Toyota Corolla"],
"category": "cars",
"state": "sp",
"startUrls": ["https://www.olx.com.br/imoveis/aluguel/estado-rj/rio-de-janeiro-e-regiao"],
"maxItems": 25
}

You get 25 Toyota Corolla ads from the state of São Paulo and 25 apartment and house rentals in Rio de Janeiro, each read from its own ad page: title, price, full description, seller name and type, CEP, neighborhood, city, every photo and every attribute OLX lists (year, mileage, gearbox, bedrooms, area, parking spaces). The cars add their FIPE price and the OLX market price range of the model; the rentals add their condominium fee, IPTU and map position. That is 50 rows in 17 seconds in our run, all 50 with a description, a seller name and a CEP. Swap the keyword for the model you track, the state for yours, and paste any OLX search you built on the site.

The Apify Free plan is enough to try it: no credit card, no OLX account, nothing to install.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it full context about this scraper:

You have access to the OLX Scraper on Apify: silentflow/olx-scraper
It reads public ads from OLX Brazil (olx.com.br) without any OLX account. Every row is one ad, read from its ad page.
Input (no field is required; give at least one keyword, one link, or a category or state to list on its own):
- searchQueries (array of strings): keywords as typed in the OLX search box (Toyota Corolla, iPhone 13, apartamento 2 quartos)
- startUrls (array of strings): olx.com.br links (search or category pages with filters, single ads, old regional links) or bare ad numbers (1543638559)
- category (string, default all): category of the keyword searches: all, cars, motorcycles, trucks, auto_parts, real_estate,
real_estate_sale, real_estate_rent, vacation_rentals, land, commercial_property, new_developments, cellphones, electronics,
computers, games, tvs, audio, cameras, appliances, furniture, home, construction, fashion, sports, bikes, kids, pets,
music_hobbies, agro, business, services; an OLX path such as imoveis/venda also works
- state (string, default all): Brazilian state of the keyword searches, as a UF code (sp), a name (São Paulo, sao paulo) or all
- maxItems (integer, default 100, max 5000): max ads per keyword and per search link; single ad links give one row each
- sortBy (relevance | newest | price_asc | price_desc, default relevance)
- minPrice, maxPrice (integer, reais): price range
- sellerType (all | private | business, default all)
- postedWithinDays (integer, default 0 = any): only ads published or renewed on OLX in the last N days
Filters are added to pasted search links that do not set them already.
Output: one flat row per ad (57 fields):
id, url, title, description, categoryId, categoryName, parentCategoryName, properties[{name, label, value}], highlights[],
sellerName, sellerId, sellerType (private | business), sellerRating, sellerSalesCount, officialStoreName, officialStoreUrl,
hasPhone, hasWhatsapp, isChatEnabled,
price, priceDisplay, currency (BRL), previousPrice, pixPrice, fipePrice, priceVsFipePercent, marketPriceMin, marketPriceMedian,
marketPriceMax, marketPriceListings, marketPriceMonth (YYYY-MM), priceVsMarketPercent, condoFee, iptu, imageCount, videoCount,
location, address, neighborhood, city, state (UF), zipcode (CEP), region, ddd, latitude, longitude, postedAt, bumpedAt,
isFeatured, hasOlxPay, hasOlxDelivery, imageUrl, images[], videoUrls[], searchQuery, sourceUrl, scrapedAt.
Prices are numbers in reais. Dates are RFC 3339 UTC. Missing values are null. FIPE and market prices exist on vehicle ads,
coordinates, condoFee and iptu on property ads.
Use apify-client for Python or JavaScript, or the Apify MCP server.

How to scrape OLX listings

Get every Honda Civic for sale in Minas Gerais

{
"searchQueries": ["Honda Civic"],
"category": "cars",
"state": "MG",
"maxItems": 200
}

A keyword, a category and a state: the same search you would run on olx.com.br, with the ad page of each result read for you. Each car comes with its FIPE price and the OLX market price of the model.

Find this week's iPhones in your budget

{
"searchQueries": ["iPhone 13"],
"category": "cellphones",
"state": "Rio de Janeiro",
"minPrice": 1500,
"maxPrice": 3500,
"sortBy": "newest",
"postedWithinDays": 3,
"maxItems": 60
}

In our run this returned 60 ads in 19 seconds, all in Rio de Janeiro, all priced between 1,500 and 3,500 reais and all dated within the previous day. 51 of them could be bought with OLX's payment protection and 48 showed a Pix price.

Pull rentals from a search you built on OLX

{
"startUrls": ["https://www.olx.com.br/imoveis/aluguel/estado-sp/sao-paulo-e-regiao/zona-sul"],
"sellerType": "private",
"maxItems": 100
}

Build the search on olx.com.br with every filter you want (bedrooms, area, furnished, pets), copy the link and paste it. Its filters are kept as they are; the seller type here is added because the link does not set one, so you get rentals listed by their owners only.

Input parameters

ParameterTypeDefaultWhat it does
searchQueriesarray of stringsnoneKeywords, one per line, searched in the category and state below.
startUrlsarray of stringsnoneOLX links (search, category, single ad) or ad numbers.
categoryselectallCategory of the keyword searches (32 options). Pasted links keep their own.
stateselect or textallBrazilian state of the keyword searches. All of Brazil when empty.
maxItemsinteger100Max ads per keyword and per search link, up to 5,000.
sortByrelevance, newest, price_asc, price_descrelevanceOrder of the results.
minPriceintegernoneLowest price, in reais.
maxPriceintegernoneHighest price, in reais.
sellerTypeall, private, businessallPrivate sellers only, or dealers, stores and agencies only.
postedWithinDaysinteger0Only ads published or renewed in the last N days. 0 keeps every date.

No field is required: the run needs at least one keyword, one link, or a category or state to list on its own (motorcycles in MG lists the motorcycle ads of Minas Gerais). Sort, price and seller filters apply to keyword searches and are added to pasted search links that do not set them already, so the filters you chose on the site always win.

Accepted formats

  • Keywords: anything you would type in the OLX search box, in Portuguese or with brand names: Toyota Corolla, iPhone 13 128gb, apartamento 2 quartos, sofá retrátil.
  • Search and category links: any olx.com.br link with its filters, such as https://www.olx.com.br/autos-e-pecas/carros-vans-e-utilitarios/estado-sp?q=corolla&f=p (private sellers only) or https://www.olx.com.br/imoveis/venda/estado-sp. The old regional links (https://sp.olx.com.br/sao-paulo-e-regiao/zona-sul/imoveis/aluguel) are read too.
  • Single ads: the ad link on any regional address (https://sp.olx.com.br/.../iphone-13-128gb-1543638559), the short link https://www.olx.com.br/vi/1543638559, or just the ad number 1543638559.
  • State: a UF code (SP, rj), the name with or without accents (São Paulo, sao paulo, Espirito Santo), the OLX path segment (estado-sp) or all.
  • Category: a key of the list (cars, real_estate_rent), its English title, or an OLX path (imoveis/venda, informatica/notebooks).
  • The field names of other OLX tools also work, so an input you already use runs as is: searchUrls, searchQuery, maxResults and includeBusinessOnly.

What data can you extract from OLX?

Each row is one OLX ad with 57 fields, flat and in a fixed order, grouped the way you read an ad:

What is sold (9 fields): id (the OLX ad number, stable), url (the ad page), title, description (the full text of the ad page, line breaks kept), categoryId, categoryName, parentCategoryName, properties (every attribute OLX lists as name, label and value: year, mileage, fuel, gearbox, color, bedrooms, bathrooms, area, parking spaces, storage, battery health, condition) and highlights (the badges of the ad: IPVA pago, Veículo quitado, Com chave reserva, Aceita troca).

Who sells (10 fields): sellerName, sellerId, sellerType (private or business), sellerRating and sellerSalesCount (for sellers who sold through OLX's payment protection), officialStoreName and officialStoreUrl (OLX official stores such as Localiza Seminovos), hasPhone, hasWhatsapp and isChatEnabled (how the seller can be reached on OLX).

Price (17 fields): price (a number in reais), priceDisplay (as OLX shows it), currency, previousPrice (the price before a reduction), pixPrice (the price paid by Pix with OLX's payment), fipePrice and priceVsFipePercent, marketPriceMin, marketPriceMedian, marketPriceMax, marketPriceListings, marketPriceMonth and priceVsMarketPercent (the OLX market price of the model on vehicle ads), condoFee and iptu (on property ads), imageCount, videoCount.

Where and when (12 fields): location (one readable line), address (street, when the advertiser publishes it), neighborhood, city, state (UF), zipcode (CEP), region (the OLX region), ddd (area code), latitude and longitude (property ads placed on the map), postedAt (first published) and bumpedAt (the date OLX shows on the ad, renewed when the seller bumps it).

Badges, media and source (9 fields): isFeatured, hasOlxPay, hasOlxDelivery, imageUrl, images (every photo in full size), videoUrls, searchQuery, sourceUrl (the keyword search or link the row came from) and scrapedAt.

Prices are numbers, never text, and absent values are null, so a spreadsheet sorts and filters them as they are. Dates are RFC 3339 in UTC. id and url are stable for the life of the ad.

Output example

A real row of the default run:

{
"id": "1540811288",
"url": "https://sp.olx.com.br/regiao-de-bauru-e-marilia/autos-e-pecas/carros-vans-e-utilitarios/toyota-corolla-xei-2-0-flex-16v-aut-2023-1540811288",
"title": "Toyota Corolla XEI 2.0 Flex 16V Aut. 2023",
"description": "Corolla XEI 2.0 completo em ótimo estado com pneus novos Pirelli Powergin e 54.500 km\n\nVeículo com passagem de leilão, pequena monta, apenas colisão na frente da lateral direita, observação: não consta passagem por leilão no documento\n\nEstudo trocas de maior ou menor valor\n\n14-991857711",
"categoryId": "2020",
"categoryName": "Carros, vans e utilitários",
"parentCategoryName": "Autos",
"properties": [
{ "name": "vehicle_model", "label": "Modelo", "value": "Corolla XEI 2.0 Flex 16V Aut." },
{ "name": "vehicle_brand", "label": "Marca", "value": "Toyota" },
{ "name": "cartype", "label": "Tipo de veículo", "value": "Sedã" },
{ "name": "regdate", "label": "Ano", "value": "2023" },
{ "name": "mileage", "label": "Quilometragem", "value": "54500" },
{ "name": "motorpower", "label": "Potência do motor", "value": "2.0 - 2.9" },
{ "name": "fuel", "label": "Combustível", "value": "Flex" },
{ "name": "gearbox", "label": "Câmbio", "value": "Automático" },
{ "name": "carcolor", "label": "Cor", "value": "Prata" },
{ "name": "doors", "label": "Portas", "value": "4 portas" },
{ "name": "owner", "label": "Único dono", "value": "Não" },
{ "name": "car_features", "label": "Opcionais", "value": "Air bag, Ar condicionado, Alarme, Bancos de couro, Câmera de ré, Computador de bordo, Conexão USB, Controle automático de velocidade, Rodas de liga leve, Sensor de ré, Trava elétrica, Vidro elétrico, Volante multifuncional" },
{ "name": "has_auction", "label": "De leilão", "value": "Não" },
{ "name": "has_paid_ipva", "label": "IPVA pago", "value": "Sim" },
{ "name": "is_settled", "label": "Quitado", "value": "Sim" }
],
"highlights": ["Com manual", "Com chave reserva", "IPVA pago", "Veículo quitado", "Não aceita troca"],
"sellerName": "fabio",
"sellerId": "3768930",
"sellerType": "private",
"sellerRating": null,
"sellerSalesCount": 0,
"officialStoreName": null,
"officialStoreUrl": null,
"hasPhone": false,
"hasWhatsapp": false,
"isChatEnabled": true,
"price": 108000,
"priceDisplay": "R$ 108.000",
"currency": "BRL",
"previousPrice": 110000,
"pixPrice": null,
"fipePrice": 122841,
"priceVsFipePercent": -12.1,
"marketPriceMin": 109900,
"marketPriceMedian": 124990,
"marketPriceMax": 137900,
"marketPriceListings": 48,
"marketPriceMonth": "2026-10",
"priceVsMarketPercent": -13.6,
"condoFee": null,
"iptu": null,
"imageCount": 9,
"videoCount": 0,
"location": "Vila São João da Boa Vista, Bauru - SP",
"address": null,
"neighborhood": "Vila São João da Boa Vista",
"city": "Bauru",
"state": "SP",
"zipcode": "17060300",
"region": "Bauru, Marília e região, SP",
"ddd": "14",
"latitude": null,
"longitude": null,
"postedAt": "2026-11-07T19:25:58Z",
"bumpedAt": "2026-11-07T19:25:58Z",
"isFeatured": true,
"hasOlxPay": false,
"hasOlxDelivery": false,
"imageUrl": "https://img.olx.com.br/images/15/157667813016886.jpg",
"images": [
"https://img.olx.com.br/images/15/157667813016886.jpg",
"https://img.olx.com.br/images/16/165638693175506.jpg",
"https://img.olx.com.br/images/17/173673457992172.jpg"
],
"videoUrls": [],
"searchQuery": "Toyota Corolla",
"sourceUrl": "https://www.olx.com.br/autos-e-pecas/carros-vans-e-utilitarios/estado-sp?q=Toyota+Corolla",
"scrapedAt": "2026-11-07T19:39:50Z"
}

The real row lists 32 properties and 9 photos; the example keeps 15 and 3 of them to stay readable.

Advanced usage

Catch cars listed under FIPE every morning

{
"searchQueries": ["Toyota Corolla", "Honda Civic", "Volkswagen T-Cross"],
"category": "cars",
"state": "SP",
"sortBy": "newest",
"postedWithinDays": 1,
"maxItems": 300
}

Schedule this run every morning in Apify and filter the dataset on priceVsFipePercent below zero, or on priceVsMarketPercent below -10. With newest first and a one-day window, the search ends as soon as the ads get older, so a daily run only reads the new stock.

Map the rentals of a neighborhood with their full monthly cost

{
"startUrls": ["https://www.olx.com.br/imoveis/aluguel/estado-rj/rio-de-janeiro-e-regiao"],
"minPrice": 2000,
"maxPrice": 6000,
"maxItems": 500
}

Add price, condoFee and iptu for the monthly cost and plot latitude and longitude on a map. The CEP and the neighborhood are on every row, so ads without coordinates still group by area.

Watch the dealers' stock of one model

{
"searchQueries": ["Jeep Compass"],
"category": "cars",
"state": "PR",
"sellerType": "business",
"maxItems": 1000
}

Professional rows carry the dealer's name in sellerName and, for OLX official stores, officialStoreName and officialStoreUrl. Run it weekly and compare the id lists to see what came in, what sold and which previousPrice dropped.

Build a list of private sellers in one city

{
"startUrls": ["https://www.olx.com.br/autos-e-pecas/motos/estado-mg?sf=1"],
"sellerType": "private",
"maxItems": 200
}

In our run, the motorcycle link above capped at 15 ads returned 15 private sellers of Minas Gerais, newest first. Each row says whether the seller can be reached by phone or WhatsApp on OLX and keeps the ad link for the chat.

Refresh a list of ads you already follow

{
"startUrls": [
"https://sp.olx.com.br/regiao-de-sao-jose-do-rio-preto/autos-e-pecas/carros-vans-e-utilitarios/toyota-corolla-xei-2-0-flex-16v-aut-2024-1546938135",
"1543638559",
"1000000001"
]
}

Paste ad links or ad numbers from your spreadsheet: each gives one fresh row with today's price, previous price and dates. An ad that was sold or removed is reported in the log as no longer on OLX and adds no row, so a shrinking dataset tells you what left the market.

FAQ

What is OLX? OLX Brasil (olx.com.br) is Brazil's largest classifieds site: cars and motorcycles, homes for sale and rent, phones, electronics, furniture and almost everything people sell second hand, from private sellers and from dealers, stores and agencies. It plays the role Craigslist or Leboncoin play in their countries.

What does the scraper return for each ad? 57 fields, read from the ad page: title, full description, price and previous price, every attribute OLX lists, seller name and type, CEP, neighborhood, city and state, every photo, the dates, and the badges. Vehicle ads add the FIPE price and the OLX market price range of the model; property ads add the map position, the condominium fee and the IPTU.

Do I need an OLX account? No. The scraper reads the ads OLX shows to any visitor. No login, no account, nothing to install.

Does it return the seller's phone number? No. OLX shows phone numbers only to logged-in buyers. Each row tells you whether the seller has a phone on OLX (hasPhone), whether WhatsApp is enabled (hasWhatsapp) and whether the chat is open (isChatEnabled), and keeps the ad link to contact them. Some sellers write their number in the description itself, which you get in full.

Why is fipePrice empty on some cars? OLX shows the FIPE value only when the ad matches a model and version of the FIPE table. In our default run that was 22 of 25 Corolla ads; motorcycles, trucks and older or customized cars often have none. The OLX market price range follows the same rule and was on all 25 Corolla ads.

How many ads can I get? Up to 5,000 per keyword and per search link: OLX shows at most 100 pages of 50 ads for one search. To go further, split by state, by category or by price range. There is no limit on the number of keywords and links in one run.

Can I combine filters? Yes, they add up. category: cars with state: SP, maxPrice: 90000, sellerType: private, sortBy: newest and postedWithinDays: 2 returns the cars under 90,000 reais listed by private sellers in São Paulo in the last two days, newest first. On a pasted link, the filters it already has are kept and the missing ones are added.

How fresh is the data? Live. Every run reads OLX at that moment, so the prices, the dates and the ads that are still online are those of the run. scrapedAt says when each row was read.

What does the date of an ad mean? bumpedAt is the date OLX shows on the ad. Sellers can renew an ad, which moves this date to today. postedAt is the date OLX gives as the publication of the ad. The postedWithinDays filter follows the date OLX shows, the one buyers see.

Do the photo links last? The links in images point to OLX's image server and work while the ad is online. Download the photos if you need to keep them after the ad is sold or removed.

Can I scrape several keywords or links in one run? Yes. Add as many keywords and links as you need: each one gets up to maxItems ads, and an ad found by two of them is delivered once.

Is it legal to scrape OLX? The scraper reads public ads, the ones anyone sees without an account. You are responsible for how you use the data, in particular the personal data of private sellers (see Legal compliance below).

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

🎬 Video

📰 News

🧰 More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available data from OLX Brazil, as shown to visitors who are not logged in. It does not bypass any login, paywall or CAPTCHA and never uses an OLX account. Users are responsible for complying with OLX's terms of service and applicable data protection laws (Brazil's LGPD, GDPR, CCPA, and PIPL where relevant). Seller names, descriptions and locations of private sellers are personal data: handle them accordingly, contact sellers only about their ads, keep only what you need, and honor removal requests. The data returned is informational; verify accuracy before any purchase or regulated use.

OLX Scraper by SilentFlow: every OLX Brazil ad with its full description, seller and CEP, the FIPE and OLX market price of each car and the map position of each home, in one run.