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

Scrape Mercado Livre Brazil search results and daily offers without a login: title, price, previous price, discount, installments, coupons, units sold, rating, seller, shipping, and product link.
Pull product cards from Mercado Livre Brazil search results and the daily offers page into a clean table: title, current and previous price, discount, installments, coupons, units sold, rating, seller, shipping and the product link. No login, no cookies and no account. You pay a flat $1.50 per 1,000 products.
tênis nike or notebook gamer), or paste one or more Mercado Livre search URLs.| Field | What it does |
|---|---|
keyword | Product name to search on mercadolivre.com.br. |
startUrls | Optional lista.mercadolivre.com.br search URLs or the /ofertas page. Product pages and other sites are skipped. |
maxItems | Maximum products saved for the whole run (default 20). |
sort | relevance, price_asc or price_desc. |
maxPages | Search pages to read per search (about 48 products each, up to 50). |
promoted | Keep sponsored products (off by default). |
scrapeOfertas | Read the daily offers page instead of the product name. |
maxPagesOfertas | Daily-offer pages to read. |
{
"keyword": "sapatos",
"maxItems": 48,
"maxPages": 1,
"sort": "relevance",
"promoted": false
}
Daily offers:
{
"scrapeOfertas": true,
"maxPagesOfertas": 2,
"maxItems": 96
}
One row per product card.
| Field | Meaning |
|---|---|
eTituloProduto | Product title |
novoPreco / precoAnterior / precoDiscount | Current price, previous price and discount label (Brazilian format, e.g. 27,99) |
Moeda | Currency (BRL) |
installments / promocoes | Installment plan (12x 21,45) and coupon text |
precoOutrosMeios | Price with other payment methods when the card shows one ("ou 99 em outros meios" becomes 99) |
quantidadeVendida / produtoReviews | Units sold (+1mil becomes 1000) and average rating |
freteGratis / envio | Free-shipping flag and shipping text |
Vendedor / lojaOficial | Seller text and official store flag |
highlight / disponivelEm | Badge and "available in N colors" text |
idPublicacao / SKU / idVariacao / idProdutoUsuario / idProdutoCatalogo | Listing, variation, user-product and catalog ids |
tipoResultado / patrocinado | ORGANIC or PAD (sponsored) |
palavraChave / posicaoItem / resultadosTotais | Search term, position in this run, and the site's result count label |
zProdutoLink / imagemLink | Product URL and image URL |
produtoCategoryID / produtoDomainID / vertical | Category, domain and vertical ids |
Tiempo | When the row was collected (UTC) |
Example row from a real run (some empty fields trimmed):
{
"eTituloProduto": "Tênis Feminino Casual Slipon Preto Branco Confortavel Sapato",
"novoPreco": "27,99",
"precoAnterior": "54,9",
"precoDiscount": "49% OFF",
"Moeda": "BRL",
"promocoes": "10% OFF com Cupom",
"quantidadeVendida": 1000,
"produtoReviews": "4.3",
"freteGratis": true,
"envio": "Chegará grátis hoje Enviado pelo FULL",
"Vendedor": "LEZZIONE por LEZZIONE COMERCIO ELETRONICO Loja oficial",
"lojaOficial": true,
"disponivelEm": "Disponível em 2 cores",
"idPublicacao": "MLB3565219319",
"idVariacao": "181404336849",
"SKU": "MLB3565219319",
"tipoResultado": "ORGANIC",
"palavraChave": "sapatos",
"posicaoItem": 1,
"resultadosTotais": "+9.999 resultados",
"zProdutoLink": "https://produto.mercadolivre.com.br/MLB-3565219319-tnis-feminino-casual-slipon-preto-branco-confortavel-sapato-_JM",
"imagemLink": "https://http2.mlstatic.com/D_NQ_NP_762100-MLB94675428850_102025-O.webp",
"produtoCategoryID": "MLB23332",
"produtoDomainID": "MLB-SNEAKERS",
"vertical": "CORE",
"is_inStock": true,
"Tiempo": "2026-10-14T08:04:50.806Z"
}
Is it legal to scrape Mercado Livre? The actor reads only public listing pages that anyone can open without an account. It does not log in or collect personal data. Check that your use follows Mercado Livre's terms and your local law.
Do I need an account, cookies or a proxy? No. The run first tries one plain request through the default proxy. When Mercado Livre asks for a check, the run continues in a remote browser that exits in Brazil. You don't need to configure anything.
How many products can I get? Mercado Livre shows at most about 42 pages per search (around 2,000 products). When a search ends early, the run's status message says so. For more coverage, split the work into several narrower searches or search URLs with filters.
Why is a field empty?
The actor saves what the card shows. If a card has no previous price, coupon, rating or badge, that field is empty or null. The review count (numeroAvaliacoes) is no longer shown on Mercado Livre search cards, so it stays null.
Can I schedule it or use the API? Yes. Save a task with your input, add a schedule, and read the dataset through the API or the integrations.
Does it work for other Mercado Libre countries? No. This actor is built for mercadolivre.com.br (Brazil, Portuguese).
lista.mercadolivre.com.br and www.mercadolivre.com.br/ofertas). Product detail pages are not opened, so descriptions, questions and full specifications are not included.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.
keywordstringOptionalProduct name
Product name to search on Mercado Livre Brazil, for example "tênis nike" or "notebook gamer". Ignored when Daily offers is turned on.
startUrlsarrayOptionaldefault []Search or offers URLs
Optional Mercado Livre search or daily-offers URLs. Product pages are skipped.
maxItemsintegerOptionaldefault 20Maximum products
Maximum number of products to save for the whole run. Search pages hold about 48 products each, so raise Maximum search pages too when you want more than one page.
Order, paging, and sponsored products for keyword searches and search URLs.
sortenumOptionaldefault "relevance"Sort by
How to order a keyword search.
maxPagesintegerOptionaldefault 1Maximum search pages
How many search pages to read for each search. Each page has about 48 products. Mercado Livre shows at most about 42 pages (around 2,000 products) for one search.
promotedbooleanOptionaldefault falseInclude sponsored products
Keep sponsored products in the results. Leave this off to keep organic results only.
Read the Mercado Livre daily offers page instead of a search.
scrapeOfertasbooleanOptionaldefault falseDaily offers
Read https://www.mercadolivre.com.br/ofertas instead of the product name.
maxPagesOfertasintegerOptionaldefault 1Maximum offer pages
How many daily-offer pages to read when daily offers are turned on.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Proxy for the first plain HTTP request. When Mercado Livre asks for a check, the run continues in a remote browser that exits in Brazil and does not use this proxy.
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 |
|---|---|---|
| imagemLink | string | null | Product image |
| eTituloProduto | string | null | Product title |
| novoPreco | string | null | Current price |
| precoAnterior | string | null | Previous price |
| precoDiscount | string | null | Discount label |
| Moeda | string | null | Currency |
| installments | string | null | Installment plan, e.g. 12x 21,45 or 10x 91 sem juros (empty when the card shows none) |
| precoOutrosMeios | string | null | Price with other payment methods, when the card shows one (e.g. 'ou 99 em outros meios') |
| promocoes | string | null | Promotion text |
| quantidadeVendida | number | null | Units sold |
| produtoReviews | string | null | Average rating |
| numeroAvaliacoes | number | null | Number of reviews |
| freteGratis | boolean | null | Free shipping |
| Vendedor | string | null | Seller name |
| lojaOficial | boolean | null | Official store |
| envio | string | null | Shipping text |
| zProdutoLink | string | null | Product URL |
| posicaoItem | integer | null | Position in the results |
| tipoResultado | string | null | ORGANIC or PAD |
| palavraChave | string | null | Search term or ofertas |
| highlight | string | null | Highlight badge |
| SKU | string | null | Item id |
| idPublicacao | string | null | Publication id |
| idVariacao | string | null | Variation id |
| produtoCategoryID | string | null | Category id |
| produtoDomainID | string | null | Domain id |
| Tiempo | string | null | Collection time |
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 |
|---|---|---|
| Product | One product card saved to the dataset. | $0.0015 |
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/mercadolivre-scraper').call({
"keyword": "sapatos",
"startUrls": [],
"maxItems": 20,
"sort": "relevance",
"maxPages": 1,
"maxPagesOfertas": 1,
"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/mercadolivre-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/mercadolivre-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 on Mercado Livre Brazil.
Keyword search sorted by lowest price.
Products from a pasted Mercado Livre list link.
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.