OLX Brazil Scraper — Ads, Prices, Location & Seller Data avatar

OLX Brazil Scraper — Ads, Prices, Location & Seller Data

Pricing

from $0.70 / 1,000 results

Go to Apify Store
OLX Brazil Scraper — Ads, Prices, Location & Seller Data

OLX Brazil Scraper — Ads, Prices, Location & Seller Data

Scrape OLX Brasil (olx.com.br) classified ads by keyword, category or URL. Get title, price, price drops, photos, location (city, neighbourhood, state, DDD), attributes, vehicle specs, market-price benchmarks and seller data. Export to JSON/CSV/Excel for price monitoring, leads and market research.

Pricing

from $0.70 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

8 days ago

Last modified

Share

Extract structured classified-ad data from OLX Brasil (olx.com.br), the largest marketplace for buying and selling new and used goods in Brazil. Search by keyword, narrow down by category, or paste any OLX search URL, and get clean, ready-to-use data for every ad: title, price, price drops, photos, location (city, neighbourhood, state, area code), product attributes, vehicle specs, market-price benchmarks and seller information.

No code, no login, no browser extensions. Run it from the Apify Console, on a schedule, or call it from your own app through the API. Results download as JSON, CSV, Excel, HTML or XML, or sync straight into Google Sheets, Airtable, Make, Zapier and n8n.


📋 What this scraper does

OLX Brasil lists tens of millions of ads across cars, motorcycles, real estate, electronics, phones, home & furniture, fashion, jobs, services and more. This actor turns those search-result pages into a structured dataset you can analyse, monitor or feed into another system.

Give it one or more search terms (for example iphone 13, honda civic, apartamento aluguel), and it will:

  • ✅ Collect every ad from the search results, page after page
  • ✅ Return the numeric price plus the original price text, and flag ads with a price reduction
  • ✅ Break the location into city, neighbourhood, state (UF) and DDD area code
  • ✅ Capture category-specific attributes — brand, model, condition, storage, colour, mileage, fuel, number of rooms, and dozens more depending on the category
  • ✅ Save all photo URLs for each ad
  • ✅ Tell you whether the seller is a private individual or a professional/business account
  • ✅ Optionally open each ad to pull the full description, seller details, vehicle specifications and vehicle market-price benchmarks

Everything is de-duplicated by ad ID, so you never get the same listing twice in a run.


⭐ Why choose this OLX scraper

Most OLX scrapers hand you a flat title and price. This one is built for analysis and automation:

  • Structured location, not a string. Every ad is split into city, neighbourhood, state (UF) and ddd area code — ready to group, filter and map without extra cleanup.
  • Built-in price intelligence. Get the numeric price, the previous price, and a priceDropped flag so you can track reductions and spot deals automatically.
  • Vehicle market-price benchmarks. For cars and motorcycles, the optional details mode returns the market low / median / high for comparable vehicles plus the sample size — instantly see whether an ad is over- or under-priced.
  • Rich, category-aware attributes. Phones come with storage, colour and battery health; cars with mileage, fuel and transmission; real estate with rooms and area — automatically, per category.
  • Private vs. professional sellers. Separate dealerships and stores from individuals for clean lead lists or supply analysis.
  • Fast and economical. Listing-only runs pull ~50 ads per page directly from search results, so a few hundred ads cost very little and finish in seconds.

Use caseHow this scraper helps
Price monitoring & repricingTrack asking prices for any product across Brazil, spot price drops, and benchmark your own listings.
Reselling & arbitrageFind underpriced phones, electronics, car parts or collectibles the moment they are posted.
Market researchMeasure supply, median prices and seller mix (private vs. professional) for any product or category.
Automotive intelligencePull car & motorcycle listings with mileage, fuel, transmission and a built-in market-price range to value any vehicle.
Real-estate analysisGather apartments and houses for sale or rent with location, attributes and price per region.
Lead generationBuild lists of professional sellers, dealerships and agencies by category and city for B2B outreach.
Competitor trackingWatch how specific stores or sellers price and rotate their inventory over time.
Dashboards & data productsFeed a clean, normalised classified-ads feed into BI tools, spreadsheets or your own database.

🚀 Quick start

  1. Open the actor in the Apify Console.
  2. In Search queries, type one or more keywords — for example iphone, playstation 5, geladeira.
  3. (Optional) Set a Category, a price range, or a Max items per search limit.
  4. Keep the default Brazil residential proxy turned on.
  5. Click Start. Watch the live log fill up, then download your data from the Storage → Dataset tab.

That's it. For a first test, leave Max items per search at 100 and Fetch ad details off — you'll get a full page of clean listing data in under a minute.


⚙️ Input

FieldTypeDescription
Search queriesarrayKeywords to search on OLX, one search per keyword. e.g. ["iphone 13", "playstation 5"].
Category slugstringOptional. Narrow every search to one OLX category, e.g. eletronicos-e-celulares, autos-e-pecas, imoveis. Leave empty for all categories.
Start URLsarrayOptional. Paste full OLX search/category URLs to scrape directly. The best way to target a specific state, city, region or sort order — apply those filters on olx.com.br, then copy the URL here. Overrides Search queries when set.
Minimum price (BRL)integerOnly return ads at or above this price in Reais.
Maximum price (BRL)integerOnly return ads at or below this price in Reais.
Fetch ad detailsbooleanOpen each ad for extra data: full description, seller name & type, vehicle specs and vehicle market-price benchmarks. Slower — leave off for fast listing collection.
Max items per searchintegerMaximum ads per keyword / start URL. Default 100.
Max total itemsintegerGlobal cap across all searches. 0 = unlimited.
ProxyobjectProxy configuration. Brazilian residential proxy is enabled by default and strongly recommended.
{
"searchQueries": ["iphone 13"],
"maxItemsPerSearch": 200
}

Example 2 — Category + price range

{
"searchQueries": ["notebook"],
"category": "informatica",
"minPrice": 1500,
"maxPrice": 4000,
"maxItemsPerSearch": 300
}

Example 3 — Cars with full details and market-price benchmarks

{
"searchQueries": ["honda civic"],
"category": "autos-e-pecas/carros-vans-e-utilitarios",
"fetchDetails": true,
"maxItemsPerSearch": 100
}

Example 4 — Scrape an exact OLX URL (state, city or custom sort)

{
"startUrls": [
"https://www.olx.com.br/estado-sp/regiao-de-sao-paulo/imoveis/aluguel?q=apartamento"
],
"maxItemsPerSearch": 500
}

Tip: To scrape a specific state, city, region, or a custom sort order, just apply the filters you want on olx.com.br and copy the resulting address into Start URLs. The scraper paginates through it automatically.


📦 Output

Each ad becomes one dataset record. Example (keyword iphone):

{
"listId": "1514012963",
"title": "iPhone 11 128gb",
"price": 990,
"priceText": "R$ 990",
"oldPrice": null,
"priceDropped": false,
"category": "Celulares e Smartphones",
"categoryId": "1020",
"isProfessional": false,
"isFeatured": false,
"state": "RS",
"city": "Porto Alegre",
"neighbourhood": "Cristal",
"ddd": "51",
"locationLabel": "Porto Alegre - RS",
"publishedAt": "2026-06-28T10:20:18.000Z",
"imageUrl": "https://img.olx.com.br/images/30/308636299900579.jpg",
"imageCount": 8,
"images": [
"https://img.olx.com.br/images/30/308636299900579.jpg",
"https://img.olx.com.br/images/32/328684650980481.jpg"
],
"attributes": {
"Categoria": "Celulares e Smartphones",
"Marca": "APPLE",
"Modelo": "IPHONE 11",
"Condição": "Usado - Bom",
"Memória interna": "128GB",
"Cor": "Preto",
"Saúde da bateria": "OK (60% até 79%)"
},
"sellerGoogleRating": null,
"hasOlxPay": true,
"hasOlxDelivery": false,
"url": "https://rs.olx.com.br/.../celulares/iphone-11-128gb-1514012963",
"searchTerm": "iphone",
"scrapedAt": "2026-06-30T12:00:00.000Z"
}

When Fetch ad details is enabled, each car/motorcycle/listing is also enriched with:

{
"sellerName": "Paulo",
"sellerId": "b315d9f2-d061-4a98-8b99-bd6fd69b11c4",
"sellerType": "Private",
"description": "Vendo Opala 1980 Comodoro. Motor 4 cilindros, tudo funcionando...",
"vehicleBrand": "Chevrolet",
"vehicleModel": "Opala",
"vehicleYear": "1980",
"vehicleMileage": "85000",
"vehicleFuel": "Álcool",
"vehicleTransmission": "Manual",
"vehicleBodyType": "Coupé",
"vehicleDoors": "2 portas",
"marketPriceMin": 9000,
"marketPriceMedian": 30000,
"marketPriceMax": 55000,
"marketSampleSize": 11
}

Output fields

FieldDescription
listIdUnique OLX ad identifier (use it to de-duplicate across runs).
titleAd title.
pricePrice as a number, in BRL. null when the ad has no price ("a combinar").
priceTextPrice exactly as shown on OLX.
oldPricePrevious price when the ad shows a reduction.
priceDroppedtrue when OLX flags the ad as price-reduced.
category / categoryIdCategory name and OLX category ID.
isProfessionaltrue for professional/business sellers, false for private individuals.
isFeaturedtrue when the ad is promoted/featured.
stateTwo-letter Brazilian state (UF).
cityMunicipality.
neighbourhoodNeighbourhood.
dddPhone area code of the ad's region.
locationLabelLocation string as displayed on OLX.
publishedAtPublication date (ISO 8601).
imageUrlFirst / main photo URL.
imageCountNumber of photos.
imagesArray of all photo URLs.
attributesObject of category-specific attributes (brand, model, condition, mileage, rooms, etc.).
sellerGoogleRatingSeller's Google rating, when shown.
hasOlxPay / hasOlxDeliveryWhether OLX Pay / OLX Delivery are offered.
urlDirect link to the ad.
sellerName, sellerId, sellerTypeSeller info (with Fetch ad details).
descriptionFull ad description (with Fetch ad details).
vehicleBrandvehicleDoorsVehicle specifications (with Fetch ad details).
marketPriceMin/Median/Max, marketSampleSizeVehicle market-price benchmark from comparable listings (with Fetch ad details).
searchTermThe keyword or URL that produced this record.
scrapedAtExtraction timestamp.

🗂️ Categories you can scrape

Use these slugs in the Category field, or as part of a Start URL. A few of the most popular OLX Brasil categories:

CategorySlug
Cars, vans & utility vehiclesautos-e-pecas/carros-vans-e-utilitarios
Motorcyclesautos-e-pecas/motos
Auto parts & accessoriesautos-e-pecas/pecas-e-acessorios
Real estate (all)imoveis
Apartments for saleimoveis/venda/apartamentos
Apartments for rentimoveis/aluguel/apartamentos
Mobile phoneseletronicos-e-celulares/celulares
Electronics & phones (all)eletronicos-e-celulares
Computers & accessoriesinformatica
Video gameseletronicos-e-celulares/videogames
Home & furniturepara-a-sua-casa
Applianceseletro
Fashion & beautymoda-e-beleza
Sports & leisureesportes-e-lazer
Pets / animalsagro-e-industria
Music & hobbiesmusica-e-hobbies
Jobsvagas-de-emprego
Servicesservicos

Leave the Category empty to search across all categories at once.


🔎 Sample searches by use case

GoalTry a search like
Used phone pricingiphone 13, samsung galaxy s23, iphone + category eletronicos-e-celulares/celulares
Car valuationhonda civic, toyota corolla, jeep compass + category autos-e-pecas/carros-vans-e-utilitarios + Fetch ad details
Motorcycle markethonda cb 500, yamaha fazer + category autos-e-pecas/motos
Apartment rentalsapartamento + category imoveis/aluguel/apartamentos + Start URL for the city
Gaming resaleplaystation 5, nintendo switch, xbox series
Appliancesgeladeira, máquina de lavar, ar condicionado
Furniture flipssofá, guarda roupa, mesa de jantar
Dealer lead listsany car/real-estate search → filter isProfessional = true

You can pass several queries at once — they run as separate searches in a single run and land in the same dataset.


🧭 Tips for best results

  • Target a state or city by applying the filter on olx.com.br and pasting the URL into Start URLs (e.g. https://www.olx.com.br/estado-rj?q=bicicleta). The scraper paginates through whatever URL you give it.
  • Custom sorting (most recent, price ascending/descending) works the same way — choose it on the site and copy the URL.
  • Keep runs fast and cheap: leave Fetch ad details off when you only need price, location and listing data. Turn it on only when you need full descriptions or vehicle specs.
  • Scale gradually: start with maxItemsPerSearch: 100, confirm the data looks right, then raise the limit.
  • Multiple keywords run as separate searches in a single run, so you can collect several products at once.
  • A search returns roughly 50 ads per page; OLX limits very deep pagination, so extremely broad queries are best split by category or region.

🔌 Integrations & export

  • Download formats: JSON, CSV, Excel, HTML, XML, RSS.
  • Google Sheets / Airtable / Make / Zapier / n8n: push results automatically after each run.
  • API: start runs and fetch the dataset programmatically with the Apify API or one of the official clients (JavaScript / Python).
  • Scheduling: run the scraper hourly, daily or weekly to track prices and new listings over time.
  • Webhooks: trigger your own services the moment a run finishes.

Run via API (example)

curl -X POST "https://api.apify.com/v2/acts/YOUR~olx-brasil-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "searchQueries": ["iphone 13"], "maxItemsPerSearch": 200 }'

❓ FAQ

Do I need an OLX account or API key? No. You only need an Apify account and the proxy that ships with the actor.

Why is the Brazil residential proxy on by default? OLX serves its content reliably to Brazilian visitors. The default Brazil residential proxy ensures pages load consistently. You can change proxy settings in the input, but the default is recommended.

Can I scrape a specific state or city? Yes — apply the location filter on olx.com.br and paste the resulting URL into Start URLs. That is the most reliable way to scope results geographically.

How many ads can I get per search? As many as the search returns, up to the limit you set. OLX caps very deep pagination, so for huge result sets, split the work by category, price band or region.

Can I get the seller's phone number? OLX hides direct contact details behind its chat. This actor returns the seller's name, type (private/professional) and public profile ID when Fetch ad details is enabled, but not private phone numbers.

How fast / how expensive is it? Listing-only runs are fast and inexpensive because the data comes straight from the search results. Enabling Fetch ad details opens one extra page per ad, so it is slower and uses more resources — enable it only when you need the extra fields.

Does it return duplicates? No. Every ad is de-duplicated by its OLX ad ID within a run.


This actor collects publicly available information from OLX Brasil search pages — the same data any visitor can see without logging in. It does not bypass logins, access private messages, or collect personal contact details hidden behind OLX's chat.

You are responsible for how you use the data. Please:

  • Respect OLX's Terms of Use and Brazil's data-protection law (LGPD).
  • Use the data for lawful purposes such as price research, analytics and market intelligence.
  • Do not use scraped personal data for spam or any purpose that infringes individual privacy.

If you have questions about compliance for your specific use case, consult a legal professional.


🛟 Support

Found a field you'd like added, a category that needs better coverage, or hit an issue? Open a ticket from the actor's Issues tab and include your input configuration — most requests are quick to address.

Happy scraping! 🇧🇷

📅 Changelog & Maintenance

Last updated: 2026-07-02 — Actor verified and maintained. Data pipeline tested for quality, structure and freshness; selectors/endpoints confirmed against the live site.