OLX Brazil Scraper avatar

OLX Brazil Scraper

Pricing

from $2.00 / 1,000 listing scrapeds

Go to Apify Store
OLX Brazil Scraper

OLX Brazil Scraper

Scrape OLX Brazil (olx.com.br) listings from any search URL: price, location, rooms, area, condo fee, mileage, photos, listing date, seller type. Real estate, cars and all categories.

Pricing

from $2.00 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Scrape OLX Brazil (olx.com.br) classified listings from any search or category URL: price, old price, title, city, neighbourhood and state, category-specific attributes (rooms, bathrooms, area, condo fee, IPTU for real estate; brand, model, year, mileage, fuel, gearbox for vehicles), photos, listing date and seller type. Works for imóveis, autos e peças, eletrônicos e celulares and every other OLX category.

Paste any olx.com.br search page (with whatever filters and sort you picked in the browser) or just pick a category, a state and a keyword, and get every ad as clean JSON, CSV or Excel, or straight into your app through the API. Built for reliability: it reads the structured data OLX embeds in every page instead of scraping the visual layout, uses browser-grade TLS fingerprints, throttles itself and retries on a fresh proxy session, so runs finish instead of failing halfway. You pay only for the listings you get.

What data does OLX Brazil Scraper extract?

Every ad from the search results gives you:

FieldDescription
id, urlOLX listing id and the ad URL
titleAd title
price, priceCurrency, priceTextNumeric price in BRL (sale price or monthly rent) and the text as shown ("R$ 1.490.000")
oldPrice, hasPriceReductionPrevious price when OLX shows a price drop
category, categoryIdTop-level category: Imóveis, Autos e peças, Eletrônicos e celulares, ...
subcategory, subcategoryId, adCategorye.g. "Venda - casas e apartamentos" / "Apartamentos", "Carros, vans e utilitários", "Celulares e Smartphones"
location{city, neighbourhood, state, ddd} (plus zipcode, zipcodePrefix, street, region, zone with details)
dealTypeReal estate: sale, rent or vacation
propertyType, rooms, bathrooms, parkingSpaces, areaSqm, condoFee, iptu, features, complexFeaturesReal-estate columns parsed from the ad attributes
brand, model, year, mileageKm, fuel, gearbox, color, doors, vehicleType, enginePower, featuresVehicle columns parsed from the ad attributes
attributesEvery category attribute OLX shows, as {name: value} (e.g. electronics_model, cellphone_storage, end_tag, re_types, exchange)
images, imageCount, videoCountFull-size photo URLs
publishedAtWhen the ad was listed (ISO 8601, UTC)
sellerType, sellerBusinessNameprofessional or private; the business name for professional accounts (agencies, dealerships, stores). Private sellers' names are never exported.
isFeatured, olxPayEnabled, olxDeliveryEnabled, hasInspectionReport, has360ViewAd flags
sourceUrl, scrapedAtThe search URL the ad came from and the scrape timestamp

Turn on Include listing details to also open each ad page and add:

FieldDescription
descriptionFull ad text (plain text)
attributesThe complete attribute list from the ad page (more fields than the search card)
location.zipcode, location.zipcodePrefix, location.street, location.region, location.zoneCEP, street (when the seller shows it), OLX region and zone
latitude, longitudeMap coordinates (real-estate ads; OLX sends none for other categories)
condoFee, iptu, iptuPeriod, priceLabelCondo fee and IPTU as shown in the price box ("Venda" / "Aluguel")
financing{isFinanceable, installment, upfrontPayment, acceptsConsortium, acceptsLoan}
fipePrice, marketPriceReferenceVehicles: FIPE table price and OLX's market reference {min, p25, median, p75, max, sampleSize, monthRef}
highlights, tags"Único dono", "IPVA pago", "Aceita troca", ...
videos, imagesVideo URLs and the full photo set
sellerId, phoneAvailable, chatEnabledProfessional account id; whether the ad shows a phone button / chat (the number itself is never collected)

How to scrape OLX listings

  1. Open olx.com.br, run the search you want (category, state, city, price range, rooms, brand, sort) and copy the URL from the address bar into Start URLs. Or fill Category (imoveis/venda, autos-e-pecas/carros-vans-e-utilitarios, celulares, ...), State (sp, rj, mg, ...) and an optional Search query, price range and sort.
  2. Set Max items (cost cap). Optionally turn on Include listing details.
  3. Click Start. Results appear in the Dataset tab; export as JSON, CSV or Excel, or read them through the API.

Use www.olx.com.br URLs for searches. Regional sub-domains (sp.olx.com.br/...) are fine for single ad URLs, which return one fully detailed listing.

Input example

{
"startUrls": [{ "url": "https://www.olx.com.br/imoveis/venda/apartamentos/estado-rj?ps=200000&pe=600000&sf=1" }],
"maxItems": 500,
"includeDetails": false
}

or, by category:

{
"category": "autos-e-pecas/carros-vans-e-utilitarios",
"state": "sp",
"searchQuery": "honda civic",
"minPrice": 40000,
"maxPrice": 120000,
"sort": "newest",
"maxItems": 200,
"includeDetails": true
}

Output example

{
"id": "1533858908",
"url": "https://sp.olx.com.br/grande-campinas/imoveis/vendo-apartamento-1533858908",
"title": "Vendo apartamento",
"price": 190000,
"priceCurrency": "BRL",
"priceText": "R$ 190.000",
"oldPrice": null,
"category": "Imóveis",
"subcategory": "Venda - casas e apartamentos",
"adCategory": "Apartamentos",
"location": { "city": "Sumaré", "neighbourhood": "Jardim Santa Maria (Nova Veneza)", "state": "SP", "ddd": "19" },
"dealType": "sale",
"propertyType": "Padrão",
"rooms": 2,
"bathrooms": 1,
"parkingSpaces": 1,
"areaSqm": 48,
"condoFee": 377,
"iptu": null,
"features": ["Academia", "Armários na cozinha", "Armários no quarto", "Piscina"],
"complexFeatures": ["Academia", "Condomínio fechado", "Permitido animais", "Piscina", "Portaria", "Salão de festas", "Segurança 24h"],
"attributes": { "real_estate_type": "Venda - apartamento padrão", "condominio": "R$ 377", "size": "48m²", "rooms": "2", "bathrooms": "1", "garage_spaces": "1", "re_types": "Padrão" },
"images": ["https://img.olx.com.br/images/12/126668798559786.jpg"],
"imageCount": 9,
"publishedAt": "2026-09-09T16:25:47+00:00",
"sellerType": "private",
"sellerBusinessName": null,
"isFeatured": true,
"hasPriceReduction": false,
"sourceUrl": "https://www.olx.com.br/imoveis/estado-sp",
"scrapedAt": "2026-09-09T16:43:35+00:00"
}

A vehicle ad has brand, model, year, mileageKm, fuel, gearbox, color, doors, vehicleType instead of the real-estate columns; with details it also carries fipePrice, marketPriceReference, financing.installment and highlights.

OLX shows 50 ads per page and serves at most 100 pages, so one search URL yields up to 5,000 listings. To go beyond that, split the search: by state (estado-sp, estado-rj), by region or city path (/imoveis/venda/estado-sp/sao-paulo-e-regiao/zona-sul), by subcategory (/imoveis/venda/apartamentos, /autos-e-pecas/motos) or by price band (ps= / pe=). Run several URLs in one run; results are de-duplicated by listing id. Sorting by newest (sf=1, or Sort: Newest first) is the best way to collect fresh ads on a schedule.

Does it work for cars, phones and other categories, not just real estate?

Yes. Every OLX category is supported: paste the category or search URL, or set Category to its path. The attributes object always carries every attribute OLX shows for that category; the real-estate and vehicle columns are filled in whenever the attributes exist.

Does it collect seller phone numbers or names?

No. This Actor collects public listing data only. Business names of professional accounts (imobiliárias, concessionárias, lojas) are exported as sellerBusinessName; names of private sellers and all phone numbers are never collected. phoneAvailable only tells you whether the ad shows a phone button.

Do I need a proxy?

Apify Proxy is enabled by default. OLX sits behind Cloudflare; datacenter proxies worked in testing, and the Actor retries on a fresh proxy session when it sees 403/429. If a run logs many retries, switch the proxy to the RESIDENTIAL group.

Pricing

Pay per result: a small fee for every listing saved from a search page, plus a small fee per ad page opened when Include listing details is on (see the Pricing tab). There is no subscription and no start fee; Apify's free plan is enough to try it.

Integrations and API

Use the run in Zapier, Make, n8n, Google Sheets, or call it from Python/Node with the Apify client. See the API tab for ready-made snippets.

This Actor collects only publicly available, non-personal listing data (no phone numbers, no names of private sellers). You are responsible for how you use the data and for complying with OLX's terms, the LGPD and other applicable law.

Support

Found a bug or need a field added? Open an issue in the Issues tab; it is usually answered within a day.