OLX Brasil Classifieds & Real Estate Scraper
Pricing
from $1.00 / 1,000 listings
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Security
Limited permissionsShare
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.