
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Scrape OLX Brazil (olx.com.br) classified ads in every category: cars, motorcycles, real estate, phones, electronics, home and more. Search by URL or keyword with state, category, price and seller filters. Get title, price, photos, category attributes, city, neighbourhood, seller type, posting date and, optionally, full description, seller name, CEP and coordinates.
Scrape classified ads from OLX Brazil (olx.com.br), Brazil's largest classifieds marketplace, in every category: cars, motorcycles, real estate, phones, electronics, furniture, jobs and more. Paste any OLX search URL or type a keyword, and get clean rows with price, photos, category attributes, location, seller type and posting date in seconds. No login, no browser, pay only for the ads you get.
| Field | Description |
|---|---|
startUrls | OLX search, category, state or region URLs, or single ad URLs. |
searchQueries | Keywords, each run as an OLX search. |
maxItems | Max ads across all inputs (default 20, 0 = no limit). |
category | Category for keyword searches, e.g. autos-e-pecas/carros-vans-e-utilitarios, imoveis/aluguel, celulares. |
state | Two-letter state code for keyword searches (SP, RJ, MG, ...). |
sortBy | relevance, newest, price_asc or price_desc. |
minPrice / maxPrice | Price range in reais. |
sellerType | all, private or business. |
includeDetails | Open each ad page for the full details (extra event). |
{
"startUrls": [{ "url": "https://www.olx.com.br/autos-e-pecas/carros-vans-e-utilitarios/estado-sp" }],
"searchQueries": ["iphone 13"],
"state": "RJ",
"sortBy": "newest",
"maxPrice": 3000,
"maxItems": 100,
"includeDetails": true
}
| Field | Description |
|---|---|
listingId, url, title | OLX ad id, ad link and headline. |
price, priceDisplay, oldPrice, currency | Price in reais as a number and as shown, previous price if reduced. |
categoryId, categoryName, parentCategoryId, parentCategoryName | OLX category. |
city, neighborhood, state, ddd, locationDisplay | Location. |
photos, thumbnailUrl, imageCount, videoCount | Images. |
properties, attributes | Category attributes (brand, model, year, mileage, fuel, rooms, area, condition, ...), as a list and as a name → value map. |
sellerType, isBusiness, seller | Private or professional seller. |
isFeatured, postedAt, postedAtTimestamp, lastBumpAgeSecs | Promotion flag and dates. |
olxPayEnabled, olxDeliveryEnabled | OLX Pay and delivery available. |
With details: description, sellerName, sellerId, sellerAccountId, zipcode, street, region, zone, latitude, longitude, videos, features, condoFee, iptu, fipePrice, marketPriceMedian, phonesInDescription, phoneVerified, whatsappEnabled, adId, listedAt | Full ad page data. |
searchUrl, searchQuery, scrapedAt, hasDetails | Where the row came from. |
{
"listingId": "1543624076",
"title": "Honda Civic Sedan EXL 2.0 Flex 16V Aut.4p 2021",
"url": "https://sp.olx.com.br/sao-paulo-e-regiao/autos-e-pecas/carros-vans-e-utilitarios/honda-civic-sedan-exl-2-0-flex-16v-aut-4p-2021-1543624076",
"price": 119990,
"priceDisplay": "R$ 119.990",
"oldPrice": null,
"currency": "BRL",
"categoryId": "2020",
"categoryName": "Carros, vans e utilitários",
"parentCategoryId": "2000",
"parentCategoryName": "Autos",
"city": "Santo André",
"state": "SP",
"neighborhood": "Campestre",
"locationDisplay": "Santo André, Campestre",
"ddd": "11",
"zipcode": "09080001",
"street": null,
"region": "São Paulo e região, SP",
"zone": "abcd",
"latitude": null,
"longitude": null,
"photos": [
"https://img.olx.com.br/images/57/570613579423201.jpg"
],
"thumbnailUrl": "https://img.olx.com.br/images/57/570613579423201.jpg",
"imageCount": 1,
"videoCount": 0,
"properties": [
{
"name": "category",
"label": "Categoria",
"value": "Carros, vans e utilitários"
},
{
"name": "vehicle_model",
"label": "Modelo",
"value": "Civic Sedan EXL 2.0 Flex 16V Aut.4p"
},
{
"name": "vehicle_brand",
"label": "Marca",
"value": "Honda"
},
{
"name": "cartype",
"label": "Tipo de veículo",
"value": "Sedã"
}
],
"attributes": {
"vehicle_model": "Civic Sedan EXL 2.0 Flex 16V Aut.4p",
"vehicle_brand": "Honda",
"cartype": "Sedã",
"regdate": "2021",
"mileage": "68000",
"motorpower": "2.0 - 2.9"
},
"description": "*** OMODA&JAECCO LEAPMOTORS *** ACEITAMOS SEU USADO NA TROCA, FAZEMOS TROCA COM TROCO. APROVEITE NOSSAS CONDIÇÕES ESPECIAIS DE FINANCIAMENTOS. VENHA FAZER UM ",
"sellerName": "Carlos Souza",
"sellerType": "business",
"sellerId": "123456789",
"sellerAccountId": "00000000-0000-0000-0000-000000000000",
"isBusiness": true,
"phoneVerified": false,
"phonesInDescription": [],
"seller": {
"name": "Carlos Souza",
"type": "business",
"id": "123456789",
"phoneAvailable": true
},
"isFeatured": true,
"postedAt": "2026-10-14T18:04:10+00:00",
"postedAtTimestamp": 1792001050,
"lastBumpAgeSecs": 17310,
"olxPayEnabled": false,
"olxDeliveryEnabled": false,
"hasDetails": true,
"adId": "1817622010",
"videos": [],
"listedAt": "2026-10-14T18:04:10.000Z",
"features": [],
"fipePrice": 124958,
"marketPriceMedian": 127900,
"whatsappEnabled": true,
"searchUrl": "https://www.olx.com.br/autos-e-pecas/carros-vans-e-utilitarios/estado-sp?q=honda+civic",
"searchQuery": "honda civic",
"scrapedAt": "2026-10-15T22:52:18+00:00"
}
result-item), so 1,000 ads cost about $1.00 plus a little platform usage (a few cents of compute and proxy traffic).listing-details), charged only for ads that come back with details: 1,000 detailed ads ≈ $2.50 plus usage.Is it legal to scrape OLX? The scraper only reads public ad pages that anyone can open without an account. You are responsible for how you use the data, including Brazil's LGPD for any personal data.
Do I need an OLX account or a proxy? No login is needed. The run uses Scrapely's proxies by default and switches to Brazilian residential exits by itself if OLX starts blocking.
How many ads can I get? OLX serves at most 5,000 ads per search. Above that, the scraper splits the search into price ranges and keeps going, so large categories can return tens of thousands of ads.
Can I get the seller's phone number? OLX only shows phone numbers to logged-in users, so they are not included. With details on, phone numbers that sellers write into the ad text are extracted into phonesInDescription.
Why is a field empty? Many fields depend on the category and what the seller filled in. Description, seller name, CEP, street and coordinates need Full ad details; coordinates and street are only published for some real-estate ads.
Can I schedule it or use the API? Yes. Schedule runs in the console, call the API, or connect webhooks and integrations to act on new ads.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
startUrlsarrayOptionalOLX URLs
Paste links from olx.com.br: search or category result pages (any category, state, region, keyword and filters) or single ad pages. Open OLX, set your filters, and copy the address bar.
searchQueriesarrayOptionalSearch keywords
Plain keywords such as 'iPhone 13', 'Honda Civic' or 'apartamento'. Each one runs as an OLX search, narrowed by the category and state below.
maxItemsintegerOptionaldefault 20Max ads
Maximum number of ads to save across all URLs and keywords. 0 means no limit. OLX shows at most 5,000 ads per search, so bigger searches are split into price ranges automatically.
Category and state apply to keyword searches (and to browsing when no URL or keyword is given). Sort, price and seller type also apply to pasted search URLs unless the URL already sets them.
categoryenumOptionalCategory
Limit keyword searches to one OLX category. Leave empty for all categories.
stateenumOptionalState
Limit keyword searches to one Brazilian state. Leave empty for all of Brazil.
sortByenumOptionaldefault "relevance"Sort order
Order of the results. A pasted URL that already has a sort keeps it.
minPriceintegerOptionalMin price (R$)
Only ads priced at or above this amount in Brazilian reais.
maxPriceintegerOptionalMax price (R$)
Only ads priced at or below this amount in Brazilian reais.
sellerTypeenumOptionaldefault "all"Seller type
Private individuals (particular) or professional sellers (shops, dealers, agencies).
includeDetailsbooleanOptionaldefault falseFull ad details
Open each ad page to add the full description, seller name and id, CEP postal code, street, coordinates (real estate), region, all photos, videos, posting time, condo fee and IPTU (real estate), FIPE and market price (cars), and phone numbers written in the description. Charged as an extra event per ad that comes back with details.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work for this site. If OLX starts blocking them, the run switches to residential proxies in Brazil automatically.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| thumbnailUrl | any | Photo |
| url | any | Ad |
| title | any | Title |
| price | any | Price (R$) |
| categoryName | any | Category |
| city | any | City |
| neighborhood | any | Neighbourhood |
| state | any | State |
| sellerType | any | Seller type |
| sellerName | any | Seller |
| postedAt | any | Posted |
| listingId | any | Ad id |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Ad details | Full ad page details (description, seller, CEP, coordinates, ...) for one saved ad. Only charged when Full ad details is on and the details were loaded. | $0.0015 |
| Ad | One saved OLX Brazil ad. | $0.001 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('shelfbright/olx-brazil-scraper').call({
"startUrls": [
{
"url": "https://www.olx.com.br/autos-e-pecas/carros-vans-e-utilitarios/estado-sp"
}
],
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run shelfbright/olx-brazil-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=shelfbright/olx-brazil-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Keyword search in one state with full ad details.
Price-filtered search sorted from cheapest.
Listings from an OLX category URL.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.