OLX Brazil Scraper | Listings, Prices & Seller Data avatar

OLX Brazil Scraper | Listings, Prices & Seller Data

Pricing

from $1.00 / 1,000 results

Go to Apify Store
OLX Brazil Scraper | Listings, Prices & Seller Data

OLX Brazil Scraper | Listings, Prices & Seller Data

[💰 $1.0 / 1K] Scrape OLX Brazil listings at scale. Extract titles, prices, descriptions, photos, seller details, location, and category data from Brazil's largest classifieds marketplace by keyword or URL.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

1

Bookmarked

10

Total users

4

Monthly active users

13 days ago

Last modified

Share

OLX Brazil Scraper

Pull classifieds from OLX Brazil at scale — every title, price in Brazilian Reais, photos, seller details, neighbourhood, CEP postal code, and listing timestamp from Brazil's largest classifieds marketplace. Built for real-estate aggregators, price-arbitrage resellers, lead-generation teams, and Brazilian-market analysts who need fresh OLX data without juggling regional subdomains or building their own pipeline.

Why This Scraper?

  • All 27 Brazilian states, strict-validated — every official UF code (AC through TO) is supported as a path-segment filter; invalid codes get an actionable error instead of silent all-Brazil results.
  • Four sort orders applied at the source — Most Relevant, Newest First, Price: Low to High, and Price: High to Low — encoded into the OLX query itself so paging order is consistent.
  • Native min/max price filter in Brazilian Reais — clamps results at OLX's own query layer; no wasted rows on out-of-budget ads.
  • Business-only toggle for B2B prospecting — isolate professional sellers (lojas e profissionais) and exclude private individuals in one click.
  • Optional detail enrichment for full description, seller name, and CEP — toggle on for complete records, off to roughly halve cost when you only need title, price, photos, and location.
  • URL passthrough plus plain-text queries in one run — paste any olx.com.br URL (search, category, or state path like /imoveis/venda/estado-sp) and mix it with keyword searches; results are combined and de-duplicated by listing ID.
  • High-fidelity records straight from OLX's own data layer — every field matches what the OLX product page shows, with prices parsed to integers + currency code and timestamps emitted as ISO 8601 plus epoch seconds.
  • Up to 5,000 listings per search URL — the actor walks OLX's paging ceiling, detects the server-side clamp, and surfaces a friendly "split by state or category" hint when you hit it.
  • Actionable zero-result hint — when a filter combo returns nothing, the run reports the exact keyword, state, and price range you used so you can adjust without guessing.

Use Cases

Real Estate Market Research

  • Track apartment and house inventory across São Paulo, Rio de Janeiro, and Minas Gerais
  • Compare median asking prices by state, city, and neighbourhood
  • Spot new construction launches by sorting "Newest First"
  • Map regional price compression by combining imoveis URLs across UF codes

Property & Auto Lead Generation

  • Build prospect lists of business sellers (includeBusinessOnly: true) — auto dealerships, real-estate agencies, and electronics resellers
  • Capture seller name and phone-availability flag for every active listing
  • Target one state at a time with state: "SP" for regional sales teams

Price Intelligence for Resale

  • Monitor iPhone, PlayStation, and laptop pricing in BRL across the country
  • Identify under-priced listings with a tight maxPrice cap
  • Compare private-seller vs. business-seller pricing on the same model

Cross-Border Investment Scouting

  • Surface vacation rentals and second homes in Florianópolis, Búzios, or Trancoso
  • Quantify entry prices for foreign buyers exploring the Brazilian market
  • Track price-history shifts week-over-week by re-running the same URL

Demand & Category Trend Tracking

  • Map listing volume by category across imoveis, autos-e-pecas, eletronicos-e-celulares, and more
  • Detect seasonal spikes in regional categories (air conditioners in summer, heaters in winter)
  • Feed time-series dashboards with postedAt ISO timestamps

Data Enrichment & Aggregation

  • Augment internal CRMs with current OLX prices and photos
  • Power classifieds aggregators that compete with OLX-only feeds
  • Build alerting systems for new listings under a price threshold

Getting Started

Search by URL

The simplest possible run — paste any olx.com.br URL with your filters already applied:

{
"searchUrls": ["https://www.olx.com.br/imoveis/venda/estado-sp"],
"maxResults": 100
}

Plain-Text Search with State Filter

Run a keyword across one Brazilian state and sort by newest first:

{
"searchQueries": ["iPhone 13"],
"state": "RJ",
"sortBy": "newest",
"maxResults": 200
}

Price-Filtered Business Listings

Find apartments under R$500,000 from business sellers only, sorted cheapest first:

{
"searchUrls": ["https://www.olx.com.br/imoveis/venda/estado-mg"],
"minPrice": 100000,
"maxPrice": 500000,
"sortBy": "price_asc",
"includeBusinessOnly": true,
"maxResults": 500
}

Combined Multi-Source Run with Full Enrichment

Mix multiple URLs and keyword queries, pull descriptions, seller names, and CEPs:

{
"searchUrls": [
"https://www.olx.com.br/autos-e-pecas/carros-vans-e-utilitarios/estado-sp",
"https://www.olx.com.br/autos-e-pecas/carros-vans-e-utilitarios/estado-rj"
],
"searchQueries": ["Honda Civic", "Toyota Corolla"],
"state": "SP",
"minPrice": 30000,
"maxPrice": 80000,
"sortBy": "price_asc",
"enrichDetails": true,
"maxResults": 1000
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
searchUrlsstring[]["https://www.olx.com.br/imoveis/venda/estado-sp"]Paste one or more OLX Brazil URLs. Search pages, category pages, and state path URLs (/imoveis/venda/estado-sp) are all supported.
searchQueriesstring[][]Plain-text search terms — for example iPhone 13, Gol G5, or Apartamento. Each query runs on OLX Brazil and returns matching listings.

Options

ParameterTypeDefaultDescription
maxResultsinteger100Maximum number of listings to collect across all URLs and queries. Set to 0 for unlimited (capped internally at 50,000). OLX itself limits results to roughly 5,000 listings per search URL — split larger queries by state or category to scale beyond that.
sortByselectMost RelevantOrder in which listings are collected. Options: Most Relevant, Newest First, Price: Low to High, Price: High to Low. If a Search URL already specifies a sort order, that URL's sort wins and this setting is ignored for it.

Filters

ParameterTypeDefaultDescription
stateselect(any)Restrict plain-text Search Queries to one of the 27 Brazilian states by UF code (e.g. SP, RJ, MG). Search URLs already carry their own state and take precedence.
minPriceinteger(none)Only include listings priced at or above this amount in Brazilian Reais. Applied at OLX's native query layer.
maxPriceinteger(none)Only include listings priced at or below this amount in Brazilian Reais. Applied at OLX's native query layer.
includeBusinessOnlybooleanfalseWhen enabled, only include ads posted by business sellers (lojas / profissionais) and exclude private individuals.
enrichDetailsbooleantrueWhen enabled, each listing's detail page is fetched to add the full description, seller name, and CEP (postal code). Roughly doubles the per-listing request count — disable when you only need title, price, photos, and location.

Output

Every row is a single OLX listing with prices in BRL, photos, seller details, and posting timestamps. Here is a representative result with enrichDetails: true:

{
"listingId": "1419837622",
"title": "Apartamento 2 quartos no Centro de São Paulo",
"description": "Apartamento mobiliado, 2 quartos, 1 vaga de garagem, próximo ao metrô.\n\nÁrea: 65m². Sol da manhã. Aceita financiamento.",
"url": "https://sp.olx.com.br/sao-paulo-e-regiao/imoveis/apartamento-2-quartos-centro-sp-1419837622",
"price": 420000,
"priceDisplay": "R$ 420.000",
"currency": "BRL",
"city": "São Paulo",
"state": "SP",
"neighborhood": "Centro",
"locationDisplay": "São Paulo, SP",
"zipcode": "01001000",
"categoryId": "1020",
"categoryName": "Apartamentos",
"parentCategoryName": "Imóveis",
"photos": [
"https://img.olx.com.br/images/01/example1.jpg",
"https://img.olx.com.br/images/02/example2.jpg"
],
"thumbnailUrl": "https://img.olx.com.br/images/01/example1.jpg",
"imageCount": 12,
"videoCount": 0,
"properties": [
{ "name": "Quartos", "value": "2" },
{ "name": "Área útil", "value": "65" }
],
"seller": {
"name": "Imobiliária Central",
"type": "business",
"id": "8472193",
"phoneAvailable": true
},
"isBusiness": true,
"isFeatured": false,
"postedAt": "2026-05-12T14:22:00+00:00",
"postedAtTimestamp": 1747059720,
"lastBumpAgeSecs": 86400,
"ddd": "11",
"searchUrl": "https://www.olx.com.br/imoveis/venda/estado-sp",
"searchQuery": null,
"scrapedAt": "2026-05-16T10:30:00+00:00"
}

Core Fields

FieldTypeDescription
listingIdstringUnique OLX listing identifier
titlestringListing headline as shown on OLX
descriptionstringFull description text (populated when enrichDetails: true)
urlstringDirect OLX listing URL on the regional subdomain
categoryIdstringOLX category ID
categoryNamestringCategory label (e.g. Apartamentos, Carros)
parentCategoryNamestringTop-level category (e.g. Imóveis, Autos e peças)
propertiesobject[]Category-specific attributes (bedrooms, area, mileage, year, etc.)
isFeaturedbooleanWhether the ad was promoted to a featured slot
postedAtstringISO 8601 timestamp of when the ad was first listed
postedAtTimestampnumberEpoch seconds of the post time
lastBumpAgeSecsnumberSeconds since the seller last bumped the listing
scrapedAtstringISO 8601 timestamp of data collection
searchUrlstringThe OLX URL this row came from
searchQuerystringThe plain-text query that produced this row, when applicable

Price

FieldTypeDescription
pricenumberNumeric price in Brazilian Reais (integer)
priceDisplaystringPrice as shown on OLX (e.g. R$ 420.000, À combinar)
currencystringAlways BRL

Location

FieldTypeDescription
citystringCity name
statestringTwo-letter UF code (e.g. SP, RJ)
neighborhoodstringNeighbourhood name
locationDisplaystringOLX's combined location string
zipcodestringCEP postal code (populated when enrichDetails: true)
dddstringBrazilian area code for the listing region

Seller

FieldTypeDescription
seller.namestringSeller name (populated when enrichDetails: true)
seller.typestringbusiness for professional sellers, private for individuals
seller.idstringOLX seller identifier
seller.phoneAvailablebooleanWhether OLX exposes a contact method on the ad
seller.imageUrlstringSeller avatar URL when available
isBusinessbooleanConvenience flag mirroring seller.type == "business"

Photos

FieldTypeDescription
photosstring[]Every image URL on the listing in original resolution
thumbnailUrlstringFirst image, suitable for previews
imageCountnumberTotal number of listing photos
videoCountnumberTotal number of attached videos

Tips for Best Results

  • Start small. Set maxResults to 30–100 on your first run to verify the data matches your needs, then scale up.
  • Use UF codes for state filtering. The state field accepts the 27 official two-letter codes — combine with broad keywords like apartamento or casa rather than long-tail terms; OLX matches fuzzily and tight phrases drop too many real ads.
  • Native price filters are free. Setting minPrice and maxPrice filters at the OLX query layer, so you never pay for listings outside your budget. Prefer this over post-filtering in your own pipeline.
  • Turn off enrichDetails for fast browse runs. When you only need title, price, photos, and city, disabling enrichment roughly halves the request count and finishes much faster.
  • Pageable ceiling is ~5,000 per URL. If you need every apartment in São Paulo state, split the run by city URLs or category sub-paths instead of one mega query — the actor will surface a friendly message when it hits the cap.
  • Mix URLs and keyword queries in one run. You can paste category URLs from olx.com.br and add free-text queries together; results are de-duplicated by listing ID so there are no double-counts.
  • Many sources are processed sequentially. Adding many URLs queues them one after another with a short pause between each — useful if you want predictable ordering, but for very large batches consider grouping by category instead of pasting dozens of individual URLs.
  • For listings under a tight budget, set maxPrice rather than trusting sort. OLX's "Price: Low to High" order is not strictly ascending — combine sortBy: "price_asc" with maxPrice for the cleanest cheap-end sweep.

Pricing

$1.00 per 1,000 listings — Pay per Result. You only pay for the listings actually returned to your dataset.

ListingsEstimated Cost
100$0.10
1,000$1.00
10,000$10.00
100,000$100.00

No compute charges — you only pay per result returned. A "result" is any listing row in the output dataset. Platform fees (storage, optional bandwidth) are additional and depend on your Apify plan.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n — Workflow automation
  • Google Sheets — Direct spreadsheet export
  • Slack / Email — Notifications on new results
  • Webhooks — Trigger custom APIs on run completion
  • Apify API — Full programmatic access via SDK or REST

This actor is designed for legitimate market research, price intelligence, lead generation, and data aggregation. Users are responsible for complying with applicable Brazilian and international laws and OLX Brazil's terms of service, including making reasonable-rate requests and only collecting publicly accessible classified-ad data. Do not use extracted data for spam, harassment, fraud, or any illegal purpose. Be mindful of the LGPD (Lei Geral de Proteção de Dados) when handling any personal information that appears in seller profiles.