OLX Brasil Classifieds & Real Estate Scraper avatar

OLX Brasil Classifieds & Real Estate Scraper

Pricing

from $1.00 / 1,000 listings

Go to Apify Store
OLX Brasil Classifieds & Real Estate Scraper

OLX Brasil Classifieds & Real Estate Scraper

Collect OLX Brazil general classifieds and real estate listings, with pagination, duplicate suppression, optional detail pages and a maximum result count.

Pricing

from $1.00 / 1,000 listings

Rating

0.0

(0)

Developer

Philip Kirkbride

Philip Kirkbride

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Security

Limited permissions

Share

OLX Brasil Scraper

Collect OLX Brazil general classifieds and real estate listings, with pagination, duplicate suppression, optional detail pages and a maximum result count.

Each row carries the listing ID, URL, title, BRL price, category, state, city, neighbourhood, posted date, a professional-seller flag and image URLs. Real estate rows add property type, rent or sale, bedrooms, bathrooms, area, condominium fee, IPTU, parking spaces and features where OLX shows them. Seller names and contact fields are never collected. Missing source values are null.

Usage

{"keyword":"bicicleta","maxResults":20,"includeDetails":false}

An input with no keyword, the all category, no state and no searchUrl uses the example search bicicleta. With a category, a state or a search URL, an empty keyword browses that scope without a term.

Structured inputs support category (all, imoveis, imoveis-rent, imoveis-sale), state UF, city and BRL priceMin/priceMax. city takes an OLX location name under the state, spelled as OLX spells it, for example the region São Paulo e Região (search path /imoveis/aluguel/estado-sp/sao-paulo-e-regiao); plain city names resolve to their own location path. Because OLX region pages legitimately cover several municipalities, rows are filtered by state and price but not by city name.

Provide searchUrl for an exact OLX search including category, location and source filters. An explicit URL replaces the generated path and query; state and price constraints still apply to output.

Output

Results contain listingId, url, title, price, currency, category, state, city, neighborhood, public postalCode, postedDate, professionalSeller, description and images. Property fields are propertyType, businessType, bedrooms, bathrooms, usableAreaM2, condoFee, iptu, parkingSpaces and amenities. Overlapping field names match the VivaReal/ZAP actor, so the two datasets can be joined.

{
"listingId": "1511090340",
"url": "https://df.olx.com.br/distrito-federal-e-regiao/ciclismo/vendo-bike-scott-speedster-s60-quadro-aluminio-super-leve-garfo-carbono-aro-700-1511090340",
"title": "Vendo bike Scott Speedster S60 | Quadro Alumínio Super Leve + Garfo Carbono | Aro 700",
"price": 2500.0,
"currency": "BRL",
"category": "Ciclismo",
"state": "DF",
"city": "Brasília",
"neighborhood": "Vila Planalto",
"postalCode": null,
"postedDate": "2026-10-31T17:59:53+00:00",
"professionalSeller": false,
"description": null,
"images": ["https://img.olx.com.br/images/37/377655535290488.jpg"],
"propertyType": null,
"businessType": null,
"bedrooms": null,
"bathrooms": null,
"usableAreaM2": null,
"condoFee": null,
"iptu": null,
"parkingSpaces": null,
"amenities": []
}

Real-estate cards carry bedrooms, bathrooms, area, condominium fee, IPTU, garage spaces and feature lists directly; postalCode and full description appear only with includeDetails, and fields a card does not state stay null. Prices and fees are BRL; dates are UTC ISO timestamps from the public card date (which may reflect a refresh). Descriptions are excerpts of up to 500 characters, with email and Brazilian phone patterns redacted. Images and amenities are arrays.

Detail pages

includeDetails defaults to false. Enabling it makes one additional request per listing; the detail page's embedded listing state and schema.org block add the public postal code, description, place fields and any card attributes, and may refresh price and posted date. An unrecognized detail page keeps the card fields; the run status and the OUTPUT record report incomplete extraction. No property attributes are inferred from titles or keyword inputs.

Proxy route

The default route is Apify UNBLOCKER, without a country or session. Direct, datacenter and Brazilian residential requests were blocked during platform probes. proxyConfiguration can override the default; other groups may fail. TLS certificate verification is disabled only for a route that is exactly the Apify UNBLOCKER group, whose proxy re-signs certificates; it stays on for every other group and for custom proxy URLs. Requests use a generic desktop browser user agent and no identity or contact headers. Redirects are not followed.

Pagination and limits

The observed search exposes 100 pages; actual result counts and caps vary by query. A repeat page stops pagination and reports incomplete coverage. Empty pages require a second successful request. After 5 consecutive pages with no listing matching the state or price filters, the run stops and says so in its status message and OUTPUT issues. Requests and retry delays share the actor deadline, reserving 20 seconds for final delivery. Full Retry-After delays are honored; a delay that cannot fit ends collection. Partial output remains available with a status message when blocked or time-limited.

Pricing

Pay-per-event pricing uses the platform start event once per run plus the default dataset item event per delivered unique row, like the rest of this fleet. With includeDetails, each row whose detail page actually added data is also charged one listing-details event; a failed or unrecognized detail page is not charged. Check the current listing for the applicable prices. The customer's maximum charge is respected: a row, and its detail page, is only fetched when both can still be paid for. Duplicate, malformed, blocked and empty rows create no listing events.

Run size

The default memory is 512 MB. When a per-event plan applies, the start event is counted per GB of memory, rounded up; the default 512 MB run is one start event.

Test fixtures

Offline fixtures come from successful platform captures (search page 1, search page 2 with its next-page link, an /imoveis/aluguel/estado-sp/sao-paulo-e-regiao search and one apartment detail page) with seller payloads and phone area codes removed. They prove parsing shapes, not live availability; platform canaries are still required before publication.