Americanas Brazil - Products, Prices, Sellers & Reviews
Pricing
from $1.50 / 1,000 product results
Americanas Brazil - Products, Prices, Sellers & Reviews
Scrape Americanas Brazil (americanas.com.br) by keyword, department or pasted link. Returns SKU, title, brand, seller (store or marketplace), price, PIX price, discount, instalments in BRL, stock, images, variants, specs and reviews. Incremental mode tracks changes.
Pricing
from $1.50 / 1,000 product results
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Americanas Brazil Marketplace Scraper: Prices, PIX, Sellers & Reviews
Americanas Brazil Marketplace Scraper turns americanas.com.br into clean, structured product data. Get one row per product with identity, seller, the full Brazilian price picture (current price, pre-discount price, discount, PIX cash price and instalment terms in BRL), stock, media, every colour and size variant, the description, the specification table and the warranty. Search by keyword and filters, or paste product, department and search links straight from the store, then export to JSON, CSV or Excel, or pull the results straight into your app through the API.
Why This Scraper?
- Two ways to find products. Search by keyword and filters, or paste product pages, department pages and search pages straight from the store. No need to build URLs by hand.
- A complete price picture on every row, at no extra cost. Current price, pre-discount price, discount percent, PIX cash price and instalment terms all arrive with the listing.
- Store stock and marketplace sellers told apart. Every row says whether Americanas itself sold it or an independent marketplace seller did, and lists every other seller's own offer on the same product.
- Full product detail included by default. Every colour, size and model variant, the description, the specification table and the warranty term, all returned without an extra request.
- Delivery and reviews on demand. Turn on delivery estimates for a Brazilian postal code, or customer ratings and full review text, and pay only for the products that use them.
- Reliable filtering. Department and brand filters are checked against the store's own published lists before a run starts, so a typo is reported by name instead of silently returning the unfiltered catalogue.
- Built for schedules. Incremental mode returns only new and changed products on recurring runs, and a run that could not read the store fails loudly instead of returning an empty dataset.
Use Cases
- Price and PIX tracking: monitor a product list or a whole department for price, discount and PIX cash price changes over time.
- Marketplace research: compare the same product across the store's own stock and independent marketplace sellers side by side.
- Catalogue and assortment analysis: build a department-level view of brands, price bands and stock levels.
- Review and rating monitoring: track customer ratings, review volume and review text for a set of products.
- Price comparison tools: feed current price, original price and discount percent into your own comparison site or app.
Data You Get
Sample shape: values are illustrative placeholders, not from a live record.
| Field | Example |
|---|---|
productId / skuId | "5001234" / "5101234" |
name | "Sample Wireless Mouse 2.4GHz with USB Receiver" |
brand / brandId | "Sample Brand" / "9001" |
url | Product link on americanas.com.br |
department / categoryPath | "Computadores e Informática" / "Computadores e Informática > Periféricos" |
sellerId / sellerName / sellerType | "1" / seller name / "first_party" (also "marketplace") |
sellerCount / otherSellers[] | How many sellers offer this SKU, and every other one's own price and stock |
sellerReputation | Always null. The store publishes no seller rating anywhere in its data |
price / originalPrice / discountPercent | 89.9 / 129.9 / 30.8 |
onSale / currency | true / "BRL" |
pixPrice / pixDiscountPercent | 85.4 / 5.0 |
maxInterestFreeInstallments / maxInstallments | 3 / 10 |
installmentPlans[] | One row per payment method and instalment count, with the interest rate and total |
inStock / availableQuantity | true / 42 |
image / images[] / videos[] | The full media gallery |
variants[] / variantCount | Every SKU option (colour, size and so on), with its own price and stock; 2 |
description / specifications | Free text description and a flat specification name to value table |
warranty / itemCondition | "3" / "Novo" |
shippingCost / deliveryEstimate / pickupAvailable | Delivery details, when Fetch delivery details is on |
rating / reviewCount / ratingBreakdown / reviewsAvailable | 4.6 / 18 / all five star buckets / true, when Fetch customer reviews is on |
reviews[] | Author, date, rating, text, verified purchase and photos, when reviews are on. A product with no reviews returns reviews: [], reviewsAvailable: false and reviewCount: 0, not a failure |
searchMode / scrapedAt | Bookkeeping: how the row was found, and when it was read |
changeType / changedFields / firstSeenAt / lastSeenAt | Incremental mode only: NEW, UPDATED, UNCHANGED, REAPPEARED or EXPIRED, what moved, and the tracking dates |
How to Use
- Pick a mode:
search(by keyword and filters) orurl(paste store links). - Fill in your keywords or links, and switch on Department, Brand or the other filters you want.
- Turn on delivery details or customer reviews if you need them, set Max products to control run size and cost, then click Start.
- Download the dataset as JSON, CSV or Excel, or read it through the API.
Search a department by keyword:
{"mode": "search","queries": ["notebook dell"],"categories": ["computadores-e-informatica"],"maxItems": 20}
Browse a whole department, in stock only, best rated first:
{"mode": "search","categories": ["telefonia"],"sortBy": "best_rated","inStockOnly": true,"maxItems": 50}
Paste store links, with reviews turned on:
{"mode": "url","urls": ["https://www.americanas.com.br/computadores-e-informatica/notebook","https://www.americanas.com.br/busca/cafeteira"],"fetchReviews": true}
Marketplace sellers only, in a price band, with an instalment requirement:
{"mode": "search","queries": ["tenis nike"],"sellerType": "marketplace","minPrice": 100,"maxPrice": 500,"minInterestFreeInstallments": 6}
Run it from your code
Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("abotapi/americanas-com-br-scraper").call(run_input={"mode": "search", "queries": ["notebook dell"], "maxItems": 20})for product in client.dataset(run["defaultDatasetId"]).iterate_items():print(product["name"], product["price"], product["sellerType"])
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('abotapi/americanas-com-br-scraper').call({mode: 'search', queries: ['notebook dell'], maxItems: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Or connect it to Make, Zapier, n8n, Google Sheets or webhooks from the Integrations tab.
How Max products and Max result pages shape a run
Max products is the run's cap, shared across every keyword, department or link you gave it: a run over several departments returns a fair share from each rather than letting the first one spend the whole budget. Max result pages limits how many result pages are read per keyword, department or link; left at 0 (the default), a scope stops only at Max products, at the end of its results, or when a page returns nothing new. Selecting several departments is a union built one department at a time, because the store cannot combine two departments in a single request.
Resume and recurring updates
Resume from a previous run (resumeFromRunId) continues ONE interrupted run: paste its run or dataset ID and this run skips, and does not charge for, everything already collected there.
Incremental mode (incrementalMode) is for a schedule: run the same search or department again and again and get only what changed. The first run returns everything as NEW; later runs return NEW, UPDATED and REAPPEARED, with changedFields naming exactly what moved. UNCHANGED rows are suppressed (and not billed) unless Emit unchanged is on. EXPIRED rows are only produced once a run has fully scanned the tracked search, so a run capped by Max products, or a resumed run, can never wrongly tombstone live products. Clock-like fields (scrapedAt, priceValidUntil, and the rolling delivery estimate dates) are excluded from change detection so they never trigger a false UPDATED. The bulky reviews, installmentPlans and specificationGroups lists are never named in changedFields either; a change in them still shows up through reviewCount, rating, ratingBreakdown, maxInterestFreeInstallments, interestFreeInstallmentValue, maxInstallments and specifications, which are all tracked. State key names a monitoring campaign, or shares one across runs; left empty, a key is derived automatically from the search, filters and lookup settings, so different setups never mix state.
Send results into your apps (MCP connectors)
Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape: the Apify dataset is never changed.
What gets written to the connector: a condensed, human-readable summary of each product, not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. The complete record always stays in the Apify dataset.
- Authorize a connector once under Apify → Settings → Integrations (Notion, Linear, Airtable, or Apify).
- Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
- For Notion, also set
notionParentPageUrlto the page where items should be created.
The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.
Input Parameters
Start here: pick your mode
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | search | search searches the catalogue by keyword and filters. url scrapes pasted links: product pages, department pages and search result pages are all accepted. |
queries | array | (empty) | Search mode only. One or more keywords, for example notebook dell, cafeteira or tenis nike. Each keyword is searched separately and Max products is shared across all of them. Leave empty to browse by Department, Brand or price alone. |
urls | array | (empty) | URL mode only. Mix freely: product pages ending in /p, department pages such as /computadores-e-informatica/notebook, and search pages such as /busca/notebook-dell. A link that already names a page (?page=2) starts there. |
Filters (apply to a keyword search AND to a pasted department or search link)
| Parameter | Type | Default | Description |
|---|---|---|---|
categories | array | (empty) | Keep only products in these store departments. Resolved against the store's own published department list and applied at the source. Selecting several returns products from any of them, walked one department at a time. |
brands | array | (empty) | Keep only products from these brands, typed as the store writes them (Lenovo, Samsung). Accents and capitals do not matter. A brand the store does not publish is reported by name and skipped; if none of your brands exist, the run stops rather than returning unfiltered results. |
sellerType | string | any | any, first_party (store's own stock) or marketplace (independent sellers). Applied to the results for marketplace, since the store publishes no filter that excludes its own stock. |
minPrice | integer | (none) | Keep only products priced at or above this amount in BRL. Applied by the store. |
maxPrice | integer | (none) | Keep only products priced at or below this amount in BRL. Applied by the store. |
minInterestFreeInstallments | integer | 0 | Keep only products payable in at least this many interest free instalments (parcelas sem juros), 0 to 24. Applied to the results. 0 means no requirement. |
inStockOnly | boolean | false | Keep only products the store will currently accept an order for. Applied to the results, because the store returns sold out listings alongside available ones. |
onSaleOnly | boolean | false | Keep only products whose current price is below their advertised original price. The PIX cash discount does not count here; it is returned separately in pixPrice. |
sortBy | string | relevance | One of relevance, price_asc, price_desc, best_selling, best_rated, newest, biggest_discount, name_asc, name_desc. All nine are the store's own orderings, applied at the source. |
Output, limits and extra lookups
| Parameter | Type | Default | Description |
|---|---|---|---|
fetchDetails | boolean | false | Read the delivery estimate, shipping cost and pickup availability for each product at the postal code below. One extra request per product, billed as one Detail enrichment event per product returned. |
deliveryPostalCode | string | 01310100 | Destination for delivery enrichment. The default is central Sao Paulo; replace it with your own 8 digit Brazilian postal code (CEP) for destination-specific shipping cost and delivery time. |
fetchReviews | boolean | false | Add each product's rating, review count, per star breakdown and individual reviews. Ratings are looked up for a whole result page in one request; only a product that actually has reviews costs a request of its own, and only those products are billed a Detail enrichment event. |
maxReviewsPerProduct | integer | 20 | Cap on individual reviews returned per product. The rating, count and per star breakdown stay complete regardless. 0 returns all reviews a product has. |
maxItems | integer | 20 | Maximum products returned across the whole run. 0 means unlimited. |
maxPages | integer | 0 | Maximum result pages read per keyword, department or link. 0 means no limit, which is the default. |
Resume and recurring updates
| Parameter | Type | Default | Description |
|---|---|---|---|
resumeFromRunId | string | (none) | Continue ONE interrupted run. Paste that run's id or dataset id and this run skips, and does not bill for, everything already collected there. |
incrementalMode | boolean | false | Turn on for daily or recurring monitoring of the same search. The first run returns everything as NEW; later runs return only NEW, UPDATED and REAPPEARED. |
stateKey | string | (none) | Incremental mode only. Name a monitoring campaign to keep its state stable, or to deliberately share state across runs. Left empty, the key is derived from the mode, keywords, links, filters and lookup settings, so two different setups never mix state. |
emitUnchanged | boolean | false | Incremental mode only. Also return products that have not changed, marked UNCHANGED. This returns, and bills, extra rows. |
emitExpired | boolean | false | Incremental mode only. Also return products that were present before and are no longer found, marked EXPIRED. Only produced after a complete scan, so never when maxItems capped the run or resumeFromRunId was used. This returns, and bills, extra rows, and EXPIRED rows are added on top of maxItems rather than counted against it. |
Connection
| Parameter | Type | Default | Description |
|---|---|---|---|
proxy | object | Apify Proxy, standard pool | The standard pool is the default and is sufficient for this store. A residential pool is available but is not needed here. |
MCP connectors
| Parameter | Type | Default | Description |
|---|---|---|---|
mcpConnectors | array | (none) | Optional: send a summary of each product to apps you authorized under Integrations. |
notionParentPageUrl | string | (none) | Notion connector only: page under which product pages are created. |
maxNotifyListings | integer | 50 | Cap on items written to each connector per run. |
Output Example
Sample shape: values are illustrative placeholders, not from a live record.
{"productId": "5001234","skuId": "5101234","name": "Sample Wireless Mouse 2.4GHz with USB Receiver","brand": "Sample Brand","brandId": "9001","url": "https://www.americanas.com.br/sample-wireless-mouse-24ghz-usb-receiver/p","department": "Computadores e Informática","categoryPath": "Computadores e Informática > Periféricos","sellerId": "1","sellerName": "Sample Store Official","sellerType": "first_party","sellerReputation": null,"currency": "BRL","price": 89.9,"originalPrice": 129.9,"discountPercent": 30.8,"onSale": true,"pixPrice": 85.4,"pixDiscountPercent": 5.0,"maxInterestFreeInstallments": 3,"maxInstallments": 10,"inStock": true,"availableQuantity": 42,"warranty": "3","itemCondition": "Novo","variantCount": 2,"rating": 4.6,"reviewCount": 18,"ratingBreakdown": { "1": 0, "2": 1, "3": 1, "4": 4, "5": 12 },"reviewsAvailable": true,"shippingCost": 9.9,"deliveryEstimate": "2bd","pickupAvailable": false,"searchMode": "search","scrapedAt": "2026-08-01T09:00:00Z"}
Plan Requirement
The default proxy setting works out of the box, and the actor rotates connections automatically when one is refused. A residential pool is available for large or frequent runs, but this store does not need it; pick it under Connection if you want one.
FAQ
How much does it cost?
You pay per product returned, plus a Detail enrichment charge only for products that used delivery details or customer reviews. The Pricing tab shows the current rates. Use Max products to cap the cost of any run; with Emit expired on, the EXPIRED rows come on top of that cap.
Is it legal to scrape Americanas?
This actor collects only publicly available product data. You are responsible for how you use it: follow Americanas' terms and the laws that apply to you, and get legal advice if you plan commercial redistribution. Product listings and prices are generally facts, but images and descriptions may be subject to third-party rights.
Can I get only new or changed products on a schedule?
Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only new and updated products, and unchanged ones are not billed.
Why is there no country setting?
Americanas is a Brazilian retailer serving Brazil only: every price is in Brazilian reais, and the store's own delivery quote refuses addresses outside Brazil. A country input would be a knob with exactly one working value, so there is none. Use a Brazilian postal code for the delivery lookup.
Why did my run fail instead of returning an empty dataset?
If the store refuses every request, the run stops with a clear message so "no products matched" is never confused with "nothing could be read". Run it again in a few minutes. If only some departments or links could be read, you still get what was found.
Can I use it with AI agents or MCP?
Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.
🔗 Want more e-commerce data?
Pair this actor with these related scrapers from the same team:
| 🔌 Casas Bahia Brazil Electronics & Home Goods Scraper Scrape products from Casas Bahia Brazil by keyword, department, or URL. Filter by brand... | 🛒 Netshoes Brazil Scrape sportswear and footwear from netshoes.com.br. Search by keyword with the store's... |
| 🛒 Drogasil Brazil Pharmacy, Health & Beauty Scraper Scrape Drogasil (drogasil.com.br) medicines, health and beauty products by keyword... | 🧩 Mercado Livre Brazil Scrape Mercado Livre Brazil by keyword or URL. Filter by category, brand, price... |
| 🏠 QuintoAndar Scraper Scrape QuintoAndar property listings across Brazil with 80+ fields, including rent, sale... | 🛒 Nitori Japan Furniture & Home Goods Scraper Scrape Nitori Japan (nitori-net.jp) furniture and home goods by keyword, category or... |
💬 Support
- 🐞 Found a bug or a missing field? Open a ticket on the Issues tab. We usually reply within hours.
- 🛠️ Need another site, extra fields or a private build? Email contact@abotapi.com.
- ⭐ Enjoying it? A quick review on the actor page helps other users find it.