Magazine Luiza Scraper - Products, Prices, Sellers & Reviews
Pricing
from $1.60 / 1,000 product records
Magazine Luiza Scraper - Products, Prices, Sellers & Reviews
Scrape Magazine Luiza (magazineluiza.com.br) by keyword, brand, seller or URL. Extract product names, prices, cash and installment offers, sellers, ratings, stock, badges and attributes. Optional enrichment adds full product details and customer reviews.
Pricing
from $1.60 / 1,000 product records
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Features
Share
Magazine Luiza Scraper: Products, Prices, Installments & Ratings
Magazine Luiza Scraper turns Magazine Luiza (magazineluiza.com.br) search and category pages into clean product data. Get titles, brands, prices, list prices, discounts, cash payment prices, installment offers, sellers, ratings, review counts, stock status, badges, coupons and product attributes for every listing. Search by keyword, brand, seller and rating, or paste search, category, subcategory and product links, optionally add full product pages with customer reviews, then export to JSON, CSV or Excel, or pull the results straight into your app through the API.
Why This Scraper?
- Two ways in. Search by keyword with price, brand, seller, rating and sort options, or paste search, category, subcategory and product links and the filters in them are honored.
- Optional full product pages. Turn on Fetch full product details for the description, image gallery, specification sheet, variations, dimensions, seller legal name and tax id, rating breakdown and customer reviews.
- Every price that matters. Current price, list price, discount percent, the cash payment price and the best installment plan on every row.
- Seller and stock on every row. Seller name, whether Magalu itself sells the item, buy box flag and availability.
- Rich product facts. Ratings, review counts, badges, coupons, promotion dates, delivery tags and product attributes such as colour and capacity.
- Sponsored flag. Paid placements are marked so you can separate them from organic results.
- Built for control. One Max items cap sets the run size, pages walk forward until it is reached, and a refused run fails loudly instead of returning an empty dataset.
Use Cases
- Price monitoring: track prices, discounts and cash price offers for products and brands over time.
- Marketplace research: compare sellers, brands and category mix for any keyword.
- Catalog enrichment: collect titles, images, attributes and ratings to fill your own product database.
- Deal hunting: sort by lowest price or best rated and feed the results into alerts.
- Market analysis: study installment terms, review volume and sponsored share across a category.
Data You Get
Sample shape: values are illustrative placeholders, not from a live record.
| Field | Example |
|---|---|
productId / sku | "000000000" / "0000000" |
title | "Sample Notebook 14 inch 8GB" |
brand | "Sample Brand" |
url | Link to the product page |
price / listPrice | 2999.0 / 3499.0 |
discountPercent / currency | 14.3 / "BRL" |
cashPrice | 2849.05 |
installmentCount / installmentAmount / installmentInterestFree | 10 / 299.9 / true |
sellerName | "Sample Seller" |
soldByMagalu | false |
available | true |
rating / reviewCount | 4.7 / 120 |
category / subcategory | "Sample Category" / "Sample Subcategory" |
sponsored / isBuyBox | false / false |
coupon | discount type and value when a coupon applies |
badges / tags / shippingTag | promotion badges, product tags, delivery cost and time when shown |
attributes | colour, capacity and other variant facts |
image | Link to the main product image |
description / images / specifications | Full text, image gallery and specification sheet (details on) |
variations / dimensions / keySellingPoints | Colour and size options with links, weight and size, highlights (details on) |
sellerLegalName / sellerCnpj / sellerScore | Seller legal details and score (details on) |
ratingBreakdown / ratingAspects | Stars histogram and per-aspect ratings (details on) |
reviews | Customer reviews with rating, text, date and variant (details on) |
searchQuery / page / position | "notebook" / 1 / 4 |
How to Use
- Pick a mode:
search(by keyword) orurl(paste links). - Fill in the fields for that mode and set optional price, brand, seller, rating and sort options.
- Set Max items to control run size and cost, then click Start.
- Download the dataset as JSON, CSV or Excel, or read it through the API.
Search with a price range:
{"mode": "search","searchTerms": ["notebook"],"minPrice": 2000,"maxPrice": 3000,"maxItems": 40}
Lowest price first for two keywords:
{"mode": "search","searchTerms": ["geladeira", "fogao"],"sortBy": "priceAsc","maxItems": 100}
Brands, a seller and a minimum rating, with full details and reviews:
{"mode": "search","searchTerms": ["notebook"],"brands": ["Samsung", "Lenovo"],"sellers": ["Magalu"],"minRating": "4","includeDetails": true,"maxReviews": 20,"maxItems": 40}
Paste links:
{"mode": "url","urls": ["https://www.magazineluiza.com.br/busca/notebook/","https://www.magazineluiza.com.br/informatica/l/in/","https://www.magazineluiza.com.br/notebook/informatica/s/in/note/","https://www.magazineluiza.com.br/notebook-samsung-galaxy-book4-np750xgk-lg5br-intel-core-3-8gb-ram-256gb-ssd-156-full-hd-windows-11/p/242119700/in/nsbo/"],"maxItems": 60}
Run it from your code
Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("<ACTOR_ID>").call(run_input={"mode": "search", "searchTerms": ["notebook"], "maxItems": 20})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["price"])
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('<ACTOR_ID>').call({ mode: 'search', searchTerms: ['notebook'], maxItems: 20 });const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].title, items[0].price);
Resume and recurring updates
Use Resume from a previous run to continue a large collection without paying again for products already returned. Use Incremental changes on a schedule to get only new, changed and returned products; fields that move with list position (page, position, sponsored flag, search term) never count as a change. When a price moves, the changed row also carries previousPrice, priceChange and isPriceDrop.
Tips
- A page holds about 40 products and a single search reaches roughly 1000 results, so split very broad searches by brand or price range.
- Prices in the filters are in reais and are matched against the cash (Pix) price, so a row's regular
pricecan sit slightly above your maximum. Brands and sellers take plain names such as Samsung or Kabum; each one runs as its own search, so a name the store does not know simply returns nothing. - Pasted links can be search pages, category pages, subcategory or brand/model pages and single product pages. A bare product id works too. Other pages (home, blog, seller storefronts) are skipped with a warning.
- Fetch full product details reads each product page once. Reviews are the ones the store shows on the product page, newest first, up to Max reviews per product. Product links always include details.
- Change detection compares the listing and price fields. Description, images, specifications and reviews are not compared.
- When several keywords are given, Max items is shared evenly between them.
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 record, 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
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | search | search by keyword or url to paste links. |
searchTerms | array | ["notebook"] | Product keywords, used in search mode. |
sortBy | string | relevance | Result order: relevance, lowest or highest price, lowest price with shipping, fastest delivery, best selling, best rated or newest. |
minPrice | number | none | Minimum price in reais, matched against the cash (Pix) price. |
maxPrice | number | none | Maximum price in reais, matched against the cash (Pix) price. |
brands | array | none | Brand names such as Samsung. Each entry is searched separately. |
sellers | array | none | Seller names such as Magalu or Kabum. Each entry is searched separately. |
minRating | string | any | Only products rated at or above 3, 4 or 4.5 stars. |
excludeSponsored | boolean | false | Leave out paid placements. |
availableOnly | boolean | false | Skip products shown as unavailable. |
urls | array | one sample link | Search, category, subcategory and product links, or product ids. Filters and sort set in the link are honored. |
maxPages | integer | none | Optional page limit per search. Empty or 0 means no limit and it does not cap the run. |
maxItems | integer | 20 | The single cap on the run. Set 0 for unlimited. |
includeDetails | boolean | false | Read each product page for full details and reviews. |
maxReviews | integer | 20 | Reviews per product when details are on. 0 skips reviews. |
proxy | object | standard proxy | Connection settings. The standard pool is the default and works on every plan; Residential is recommended for the most reliable results. |
resumeFromRunId | string | none | Run or dataset id of an earlier run; products already collected there are skipped and not charged again. |
incrementalMode | boolean | false | For scheduled monitoring: later runs return only NEW, UPDATED and REAPPEARED products. Price, stock, discount and rating changes count as updates. |
stateKey | string | auto | Optional name for a monitoring campaign; by default state is kept per search, link and filter setup. |
emitUnchanged | boolean | false | Also return products that did not change, marked UNCHANGED. |
emitExpired | boolean | false | Also return products that disappeared since the last run, marked EXPIRED. Only after a fully scanned search. |
ignoreFieldsForChanges | array | none | Extra field names to keep out of change detection. |
mcpConnectors | array | none | Optional MCP connectors to send results to. |
notionParentPageUrl | string | none | Notion page under which record pages are created. |
maxNotifyListings | integer | 50 | Cap on records written to each connector. |
Output Example
Sample shape: values are illustrative placeholders, not from a live record.
{"productId": "000000000","sku": "0000000","title": "Sample Notebook 14 inch 8GB","brand": "Sample Brand","url": "https://www.magazineluiza.com.br/sample-notebook/p/000000000/in/nsbo/","price": 2999.0,"listPrice": 3499.0,"discountPercent": 14.3,"currency": "BRL","cashPrice": 2849.05,"installmentCount": 10,"installmentAmount": 299.9,"sellerName": "Sample Seller","soldByMagalu": false,"available": true,"rating": 4.7,"reviewCount": 120,"category": "Sample Category","subcategory": "Sample Subcategory","sponsored": false,"isBuyBox": false,"coupon": null,"badges": [],"tags": [],"attributes": [{"type": "color", "label": "Cor", "value": "Prata"}],"description": "Sample product description (details on).","specifications": [{"group": "Ficha-Técnica", "name": "Processador", "value": "Sample"}],"reviews": [{"reviewId": "sample", "rating": 5, "text": "Sample review", "date": "2026-01-01T00:00:00Z"}],"searchQuery": "notebook","page": 1,"position": 4}
Plan Requirement
The standard proxy pool is the default and works on every plan. Residential is recommended for the most reliable results, especially on large or frequent runs.
If the standard pool is refused for several requests in a row, the actor switches to Apify Residential for the rest of the run. Residential traffic is billed to your Apify plan, and the actor keeps it within a fixed per-run traffic budget. If you choose Residential yourself, the actor first tries the cheaper standard pool and only keeps using Residential when that pool is refused.
Apify free plans do not include residential proxies. On a free plan the run logs a warning and continues on a backup connection, so some pages may still be unavailable. For full residential access, upgrade your plan at https://apify.com/pricing or supply your own proxy URLs.
FAQ
How much does it cost?
You pay per product record returned plus a small start fee. Turning on Fetch full product details adds a charge for each product returned with its full page, and each customer review delivered adds a review charge; products that are not returned (for example unchanged ones in incremental mode) are never charged for details or reviews. Set Max items and Max reviews per product to keep a run at the size you want.
Is it legal to scrape Magazine Luiza?
The actor reads publicly visible product listings. You are responsible for using the data in line with the site terms and the laws that apply to you.
Can I run it on a schedule?
Yes. Use Apify schedules and compare datasets between runs to track price changes.
Why did a run return fewer products than expected?
A single search reaches about 1000 results, and filters can narrow a search further. Split broad searches by brand or price range.
Why did a run fail instead of returning an empty dataset?
When no page could be read the run is marked failed with a message, so you never pay for an empty result. Retry later, or choose Residential in the proxy field. On a free plan the message says residential access is not included.
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.
🔗 More scrapers you might like
Pair this actor with these related scrapers from the same team:
| 🛒 Americanas Brazil Scrape Americanas Brazil (americanas.com.br) by keyword, department or pasted link... | 🔌 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... | 🧩 Mercado Livre Brazil Scrape Mercado Livre Brazil's best-sellers, category and product-video feeds without... |
| 🛒 Drogasil Brazil Pharmacy, Health & Beauty Scraper Scrape Drogasil (drogasil.com.br) medicines, health and beauty products by keyword... | 🏠 Zap Imóveis Scraper Scrape Zap Imóveis sale, rental and new-development listings by city, filters or URL... |
💬 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.