OLX Brasil Scraper avatar

OLX Brasil Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
OLX Brasil Scraper

OLX Brasil Scraper

Scrape cars, real estate, phones, and other ads from olx.com.br. Use the same listing filters as the site or paste an OLX URL — the URL wins when set.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Marco Rodrigues

Marco Rodrigues

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

a day ago

Last modified

Categories

Share

🇧🇷 OLX Brasil Scraper

Want OLX Brasil ads in a spreadsheet? This scraper makes it easy.

This actor covers the marketplace, not just cars: vehicles, real estate, phones, electronics, services, jobs, and other live listing pages.

Use structured filters — the same ones as the OLX listing; structured filters work better for AI agents — or paste an input_url once you've already filtered in the browser. When input_url is set it overrides the filters below.

OLX lists millions of ads. This actor reads the public listing payload and returns up to 2000 rows per run.

💡 Perfect for...

  • Agents: Export Toyota automatics, 2-bed apartments in SP, or iPhones without paging the site.
  • Dashboards: Track price, city, and category across OLX.
  • Market research: Slice cars, motos, real estate, phones, and other verticals.
  • Data analysts: Export structured OLX rows with public ad URLs.
  • 🤖 AI Agents: Power Claude, Cursor, Codex, the Hermes Agent, and OpenClaw workflows with live OLX results.
  • 📚 RAG Systems: Feed titles, specs, and locations into retrieval pipelines.
  • 🔗 AI Workflows: Plug into LangChain, AutoGPT, CrewAI, and similar stacks.

✨ Why you'll love this scraper

  • 🔗 Input URL or Filters: Paste /celulares/apple, /imoveis/venda/apartamentos, or /autos-e-pecas/motos/honda (input_url) if you already filtered in the browser, or use dropdowns (better for AI agents). input_url always wins when set.
  • 🎯 Website-Matched Filters: Category plus the live listing filters for that page — cars (marca, câmbio, combustível, …), motos (tipo, ano, km), real estate (quartos, banheiros, área, IPTU), and phones (marca, condição).
  • 🌐 Nationwide: All 27 UF slugs as a suffix (/toyota/estado-sp, /celulares/apple/estado-sp). Prefer www.olx.com.br/.../estado-sp over city subdomains.

📦 What's inside the data?

Every row includes listing fields from the public payload:

  • Core: id, url, title, category, price, old_price, currency (BRL), price_reduction, installments
  • Vehicles: make, model, year, mileage_km, body_type, engine, fuel, transmission, steering, color, doors, plate_end, features
  • Phones / electronics: brand, condition, storage
  • Real estate: rooms, bathrooms, garage_spaces, area_sqm, condo_fee, property_type
  • Condition / docs: single_owner, accepts_trade, gnv_kit, financial_status, documentation, conservation, festival
  • Place / seller: location, city, neighbourhood, state, ddd, professional_ad, seller, seller_rating
  • Flags / media: featured, inspected, vehicle_history, published_at, image_url, image_count
  • Catch-all: attributes — every name/value pair from the listing payload, so category-specific fields are never dropped

🚀 Quick start

Option A — Input URL

  1. Open OLX, apply filters, copy the URL — e.g. https://www.olx.com.br/celulares/apple or https://www.olx.com.br/imoveis/venda/apartamentos.
  2. Paste it into input_url.
  3. Set max_results and click Start.

Option B — Structured filters (better for AI agents)

  1. Leave input_url empty.
  2. Pick a category, then the filters that apply to that page.
  3. Set max_results (up to 2000) and click Start.

Tech details for developers 🧑‍💻

Input Example (cars):

{
"category": "carros",
"make": "toyota",
"transmission": "automatico",
"year_min": 2018,
"state": "sp",
"max_results": 100
}

Input Example (apartments):

{
"category": "imoveis-venda-apartamentos",
"state": "sp",
"rooms": "2",
"price_max": 500000,
"max_results": 100
}

Input Example (phones):

{
"category": "celulares",
"phone_brand": "apple",
"phone_condition": "usado-excelente",
"max_results": 50
}

Input Example (URL override):

{
"input_url": "https://www.olx.com.br/autos-e-pecas/motos/honda",
"max_results": 50
}

Output Example:

{
"id": "1527847223",
"url": "https://pi.olx.com.br/regiao-de-teresina-e-parnaiba/autos-e-pecas/carros-vans-e-utilitarios/toyota-hilux-sw4-srx-plat-4x4-2-8-tb-die-aut-2024-1527847223",
"title": "Toyota Hilux SW4 SRX Plat. 4X4 2.8 TB Die. Aut. 2024",
"category": "Carros, vans e utilitários",
"price": 349900,
"currency": "BRL",
"make": "Toyota",
"year": 2024,
"mileage_km": 30000,
"fuel": "Diesel",
"transmission": "Automático",
"city": "Teresina",
"state": "PI"
}

Output fields:

FieldDescription
idOLX listing id.
urlPublic ad page.
titleAd title.
categoryCategory label from the card.
priceAsking price when shown.
old_pricePrevious price when OLX shows a drop.
currencyAlways BRL.
makeVehicle or electronics brand when shown.
modelVehicle or electronics model when shown.
yearVehicle year when shown.
mileage_kmOdometer in kilometres when shown.
fuelFuel type for cars.
transmissionGearbox for cars.
roomsBedroom count for property ads.
bathroomsBathroom count for property ads.
area_sqmFloor area for property ads.
cityCity.
stateState abbreviation.
neighbourhoodNeighbourhood when shown.
sellerSeller name when shown.
featuredWhether OLX marked the ad as featured.
published_atPublished time.
image_urlFirst photo.
image_countNumber of photos.

Category-specific extras (condition, storage, garage, financing, inspection, and similar) appear when that ad type has them.

📋 Input reference (detailed)

Common

ParameterTypeRequiredDefaultDescription
input_urlstringNoAny OLX listing URL; overrides filters when set.
categorystring enumNocarrosLive listing category (cars, motos, apartments, phones, jobs, …).
querystringNoSearch box (?q=).
subcategorystringNoExtra path after the category (apple, honda).
statestring enumNoallAll 27 UF slugs (sp, rj, …).
price_min / price_maxintegerNops= / pe= (BRL).
advertiserstring enumNoanyparticular, profissional.
sortstring enumNorelevancerelevance, date, price, biggest_price.
max_resultsintegerNo50Maximum rows (12000).

Cars and motos

ParameterTypeDescription
makestring enumCars path slug, or /motos/{make}.
model / versionstringModelo / versão.
year_min / year_maxintegerAno (rs= / re=).
mileage_min / mileage_maxintegerQuilometragem.
colorstring enumCor.
accepts_tradestring enumAceita trocas.
financial_status / documentationstring enumQuitado/financiado, IPVA, leilão.
inspected / below_fipebooleanVistoriado / abaixo da FIPE.
transmission, fuel, body_type, doors, steering, engine, feature, gnv_kit, conservation, plate_end, festival, vehicle_historycars onlySame filters as the cars listing.
moto_typestring enumStreet, esportiva, custom, trail, …

Real estate

ParameterTypeDescription
rooms / bathrooms / garage_spacesstring enum05 (5 = 5+).
property_subtypestring enumCobertura, kitnet, loft, …
area_min / area_maxintegerÁrea in m².
iptu_min / iptu_maxintegerIPTU in BRL.
moving_festivalbooleanFestival da Mudança.

Phones

ParameterTypeDescription
phone_brandstring enum/celulares/{brand} (apple, samsung, …).
phone_conditionstring enumNovo, usado, recondicionado, …
donatebooleanPara doação.

Notes on filters

  • Prefer exact enum strings from the Apify input dropdowns.
  • input_url always wins over filters when provided.
  • Chevrolet is gm-chevrolet and Volkswagen is vw-volkswagen.
  • Hub pages such as /imoveis or /servicos do not list ads — pick a leaf category or paste a leaf input_url.
  • State is appended as /estado-{uf} after the category path (not as a prefix).
  • www.olx.com.br, olx.com.br, and UF hosts such as sp.olx.com.br are accepted.