OLX Brazil Scraper — Any Category, Any Keyword avatar

OLX Brazil Scraper — Any Category, Any Keyword

Pricing

from $1.00 / 1,000 results

Go to Apify Store
OLX Brazil Scraper — Any Category, Any Keyword

OLX Brazil Scraper — Any Category, Any Keyword

Searches any category on olx.com.br - real estate, cars, electronics, anything - and returns priced listings with structured attributes (area, bedrooms, mileage, color, engine) parsed from the site's own detail chips. No seller identity is ever collected.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

reventadata

reventadata

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Share

Unofficial. This Actor is not affiliated with, authorised by, endorsed by, or in any way officially connected to OLX. "OLX" is a trademark of its respective owner and is used here only to describe what this tool reads. It reads the same public pages a browser does.

OLX Brazil Scraper searches any category on olx.com.br — real estate, cars, electronics, anything the site lists — and returns priced listings with the structured attributes OLX itself publishes on the search card (area, bedrooms, bathrooms, mileage, color, engine size), plus a raw catch-all for any category-specific attribute this Actor's recon pass did not name.

What data can you extract from OLX Brazil (olx.com.br)?

olx.com.br is a Next.js App Router site with no clean embedded JSON on its search-results page, so this Actor reads the rendered HTML tiles directly, the same way a browser paints them. You point it at any OLX BR category path — copied straight from the site's own address bar — with an optional keyword to narrow inside it, and it walks pages until the results run out, the 100-page site ceiling is hit, or your row cap is reached.

Why scrape OLX Brazil (olx.com.br)?

  • Truly generic — one Actor, any category. categoryPath is free text: paste in imoveis, autos-e-pecas/carros-vans-e-utilitarios, a specific city/UF path, or a category this Actor was never specifically tested against. Chips it doesn't recognise are still returned raw in attributes, not dropped.
  • No category enum to fall out of date. OLX BR's full slug list was never independently enumerated (a lot of it is regional and dynamic); a free-text path avoids inventing one and breaking when the site adds a category.
  • Real estate and autos get typed fields. areaM2/bedrooms/bathrooms/parkingSpaces for imóveis, mileageKm/color/engineSize/bodyType for autos, parsed from the site's own aria-label detail chips — not free-text mining, so there is nothing to hallucinate.
  • The phantom-results trap is handled. A keyword with zero real matches still renders up to 8 unrelated "Mais recentes" fallback cards under the exact same markup as a genuine result. This Actor keys off the page's own "0 - 0 de 0 resultados" text, never off how many cards are on the page, so a bad search reports zero rows instead of eight wrong ones.
  • No seller identity, ever. OLX BR's search tiles carry no seller name, phone, e-mail or profile link anywhere in the markup — that data exists only on individual listing pages, which this Actor never fetches. There is nothing to redact because nothing is collected.

How to scrape OLX Brazil (olx.com.br)

  1. Paste a category path from OLX BR's own address bar into categoryPath — or leave it empty to search all of olx.com.br nationwide.
  2. Optionally add searchQueries to narrow inside that category, a price range, and (for autos) a mileage range or "accepts trade-ins" filter.
  3. Run it. Results land in the dataset.

Input

FieldTypeMeaning
categoryPathstringOLX BR's own URL path segments — category, transaction type, location, and (autos) registration year all live here. E.g. imoveis/aluguel/apartamentos/estado-df/distrito-federal-e-regiao/brasilia or autos-e-pecas/carros-vans-e-utilitarios/2019. Empty = nationwide.
searchQueriesarrayOptional keywords. Each narrows within categoryPath — confirmed not to replace it. Empty is a valid, fully generic "browse this category" run.
sortBystringrelevance | newest | priceAsc | priceDesc.
minPrice / maxPriceintegerOptional, in R$. Omitted from the request entirely when empty — never defaulted to 0.
minMileageKm / maxMileageKmintegerAutos category only; confirmed genuinely bounded there.
acceptsTradeOnlybooleanAutos category only ("Aceita trocas" badge). Confirmed genuinely filtered.
requireKeywordMatchbooleanA defensive second pass after OLX's own q narrowing. Default on.
maxItemsintegerHard cap on rows pushed. Default 300 (lowered from 1000 on 2026-08-22 — see below).
maxPagesintegerClamped to OLX's own confirmed ceiling of 100.
proxyConfigurationobjectApify Unblocker by default. olx.com.br blocks plain HTTP and the Apify datacenter/residential proxy groups outright.
{
"categoryPath": "autos-e-pecas/carros-vans-e-utilitarios",
"searchQueries": ["civic"],
"minPrice": 60000,
"maxPrice": 120000,
"maxItems": 200
}

Output

{
"id": "1516661625",
"title": "Honda Civic Sedan EXL 2019",
"url": "https://sp.olx.com.br/sp/autos-e-pecas/honda-civic-sedan-exl-2019-1516661625",
"imageUrl": "https://img.olx.com.br/thumbs700x500/99/991595642999302.webp",
"price": 89900,
"currency": "BRL",
"location": "São Luís - MA",
"postedAt": "Hoje, 15:30",
"areaM2": null,
"bedrooms": null,
"bathrooms": null,
"parkingSpaces": null,
"mileageKm": 133,
"color": "Vermelho",
"engineSize": "1.3",
"bodyType": "Sedã",
"year": 2019,
"acceptsTrade": true,
"isSellerOnline": true,
"attributes": [],
"matchedKeyword": "civic"
}

For a real-estate search, areaM2/bedrooms/bathrooms/parkingSpaces are filled from the site's own chips and the autos-only fields come back null. A land listing carries only areaM2; the other property fields are null, never 0 — absence of a chip is not zero.

Notes and limits

  • The default maxItems is 300, not 1000. A category-less, keyword-less nationwide browse (this Actor's own daily auto-test input) measured 244s at 991 rows against Apify's 5-minute auto-test window — too little headroom. The same run at 300 rows finished in 50s. Raise maxItems explicitly if you need more and can accept a longer run.
  • Page 100 is a hard clamp. Pages 101 through at least 1000 serve byte-identical content to page 100 — confirmed by comparing the first AND last listing on each. At 50 rows/page that is roughly 5,000 listings per distinct filter combination. Narrow with categoryPath or a price range to get past it, the same mitigation the Gumtree sibling recommends.
  • Only Apify Unblocker and Bright Data reach this site. Plain HTTP, Apify datacenter and Apify residential all return the identical ~5.8 KB block page — measured 25/25 failures on two separate verticals. There is no "cheap, no-proxy" mode here.
  • year is a best-effort guess, not a published field. OLX BR never puts registration year in a chip — it is read from the trailing token of the title, and only on tiles a real vehicle chip (mileage/color/engine/body type) already confirms as an auto, to avoid mistaking a real-estate street number for a year.
  • attributes is a catch-all. Any detail chip that doesn't match one of the eight recognised patterns (area, bedrooms, bathrooms, parking, mileage, color, engine, body type) is kept here as raw text instead of being silently dropped — useful for a category this Actor's recon pass never specifically covered.
  • A run that returns zero rows fails rather than succeeding empty. If every page came back empty or every row was filtered out, the Actor raises instead of writing an empty dataset, so a silent misconfiguration cannot look like "no stock today".
  • minMileageKm/maxMileageKm/acceptsTradeOnly were only verified on the autos category. Setting them elsewhere is unlikely to error, but whether OLX BR honours them outside autos was not tested.
  • categoryPath is not validated against a slug list. An invalid path segment was not confirmed to redirect anywhere (no Milanuncios-style silent-redirect trap was found in testing), but this Actor sets follow_redirects=False defensively regardless, so any redirect surfaces as a visible failure rather than silently returning an unfiltered page.
  • Reads the same public page a browser does. See the disclaimer at the top.

How much does it cost to scrape OLX Brazil (olx.com.br)?

Pricing is pay-per-event: $0.001 per result written to the dataset ($1.00 per 1,000 results), plus $0.00005 charged once when the run starts. There is no subscription — you pay only for what you get.

FAQ

Is a proxy required to scrape OLX Brazil? Yes. Plain HTTP, Apify's datacenter proxy and Apify's residential proxy all returned the identical block page — measured 25/25 failures on two separate verticals. Only Apify Unblocker and Bright Data reach this site, and this Actor defaults to Unblocker.

Is seller identity collected? No. OLX BR's search tiles carry no seller name, phone, e-mail or profile link anywhere in the markup, and this Actor never fetches individual listing pages.

How many listings can one search return? Up to page 100, roughly 5,000 listings per distinct filter combination — OLX BR's own hard clamp. Pages beyond 100 re-serve page 100's content rather than erroring.

More second-hand marketplace scrapers

ActorWhat it scrapes
Wallapop ScraperWallapop, Spain — any keyword, phone mode with battery-health parsing
Wallapop + Vinted + Milanuncios Scraper — SpainWallapop, Vinted and Milanuncios in Spain — one keyword, one merged table
Cash Converters Spain ScraperCash Converters Spain — graded second-hand stock with price when new
Milanuncios ScraperMilanuncios — 17 categories, condition, storage and battery-health filters
Gumtree UK ScraperGumtree UK — any category, vehicle and phone details parsed from the ad's own text
OLX Romania ScraperOLX Romania (olx.ro) — any keyword, no proxy required
Vinted Spain ScraperVinted Spain (vinted.es) — any keyword or category, no proxy required
Todocolección ScraperTodocolección — collectibles, antiques and auctions, fixed-price and bidding modelled apart
Back Market Spain ScraperBack Market Spain — refurbished phones, laptops and tablets, priced against new
eBay Spain ScrapereBay Spain (ebay.es) — active listings with seller type