Magazine Luiza Scraper - Products, Prices, Sellers & Reviews avatar

Magazine Luiza Scraper - Products, Prices, Sellers & Reviews

Pricing

from $1.60 / 1,000 product records

Go to Apify Store
Magazine Luiza Scraper - Products, Prices, Sellers & Reviews

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

Abot API

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Features

Limited permissions

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.

FieldExample
productId / sku"000000000" / "0000000"
title"Sample Notebook 14 inch 8GB"
brand"Sample Brand"
urlLink to the product page
price / listPrice2999.0 / 3499.0
discountPercent / currency14.3 / "BRL"
cashPrice2849.05
installmentCount / installmentAmount / installmentInterestFree10 / 299.9 / true
sellerName"Sample Seller"
soldByMagalufalse
availabletrue
rating / reviewCount4.7 / 120
category / subcategory"Sample Category" / "Sample Subcategory"
sponsored / isBuyBoxfalse / false
coupondiscount type and value when a coupon applies
badges / tags / shippingTagpromotion badges, product tags, delivery cost and time when shown
attributescolour, capacity and other variant facts
imageLink to the main product image
description / images / specificationsFull text, image gallery and specification sheet (details on)
variations / dimensions / keySellingPointsColour and size options with links, weight and size, highlights (details on)
sellerLegalName / sellerCnpj / sellerScoreSeller legal details and score (details on)
ratingBreakdown / ratingAspectsStars histogram and per-aspect ratings (details on)
reviewsCustomer reviews with rating, text, date and variant (details on)
searchQuery / page / position"notebook" / 1 / 4

How to Use

  1. Pick a mode: search (by keyword) or url (paste links).
  2. Fill in the fields for that mode and set optional price, brand, seller, rating and sort options.
  3. Set Max items to control run size and cost, then click Start.
  4. 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 ApifyClient
client = 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 price can 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.

  1. Authorize a connector once under Apify → Settings → Integrations (Notion, Linear, Airtable, or Apify).
  2. Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
  3. For Notion, also set notionParentPageUrl to 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

ParameterTypeDefaultDescription
modestringsearchsearch by keyword or url to paste links.
searchTermsarray["notebook"]Product keywords, used in search mode.
sortBystringrelevanceResult order: relevance, lowest or highest price, lowest price with shipping, fastest delivery, best selling, best rated or newest.
minPricenumbernoneMinimum price in reais, matched against the cash (Pix) price.
maxPricenumbernoneMaximum price in reais, matched against the cash (Pix) price.
brandsarraynoneBrand names such as Samsung. Each entry is searched separately.
sellersarraynoneSeller names such as Magalu or Kabum. Each entry is searched separately.
minRatingstringanyOnly products rated at or above 3, 4 or 4.5 stars.
excludeSponsoredbooleanfalseLeave out paid placements.
availableOnlybooleanfalseSkip products shown as unavailable.
urlsarrayone sample linkSearch, category, subcategory and product links, or product ids. Filters and sort set in the link are honored.
maxPagesintegernoneOptional page limit per search. Empty or 0 means no limit and it does not cap the run.
maxItemsinteger20The single cap on the run. Set 0 for unlimited.
includeDetailsbooleanfalseRead each product page for full details and reviews.
maxReviewsinteger20Reviews per product when details are on. 0 skips reviews.
proxyobjectstandard proxyConnection settings. The standard pool is the default and works on every plan; Residential is recommended for the most reliable results.
resumeFromRunIdstringnoneRun or dataset id of an earlier run; products already collected there are skipped and not charged again.
incrementalModebooleanfalseFor scheduled monitoring: later runs return only NEW, UPDATED and REAPPEARED products. Price, stock, discount and rating changes count as updates.
stateKeystringautoOptional name for a monitoring campaign; by default state is kept per search, link and filter setup.
emitUnchangedbooleanfalseAlso return products that did not change, marked UNCHANGED.
emitExpiredbooleanfalseAlso return products that disappeared since the last run, marked EXPIRED. Only after a fully scanned search.
ignoreFieldsForChangesarraynoneExtra field names to keep out of change detection.
mcpConnectorsarraynoneOptional MCP connectors to send results to.
notionParentPageUrlstringnoneNotion page under which record pages are created.
maxNotifyListingsinteger50Cap 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.

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...

👉 Browse all abotapi scrapers

💬 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.