Magazine Luiza Scraper at a glance
Magazine Luiza Scraper is a ready-to-run Apify actor from abotapi for collecting web data. Its documented output includes product id, sku, title, brand and url, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.00 per 1,000 results on the Apify Free plan and from $1.60 on paid plans, with smaller per-run or optional feature charges listed on Apify.
- Runs on
- Apify cloud: console, API, schedules and integrations
- Data type
- Other
- Pricing
- $2.00 per 1,000 results (Free plan), from $1.60 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 23 options
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.
What Magazine Luiza Scraper can do
- 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.
Choose what to collect
These inputs let you configure Magazine Luiza Scraper - Products, Prices, Sellers & Reviews. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring · required | Search by keyword, or paste search and category links. |
searchTermsarray | One or more product keywords, for example notebook or geladeira. Used only in search mode. |
sortBystring | Result order for search mode. |
minPricenumber | Only products priced at or above this amount, in reais. The store applies it to the cash (Pix) price shown on each product. Leave empty for no minimum. |
maxPricenumber | Only products priced at or below this amount, in reais. The store applies it to the cash (Pix) price shown on each product. Leave empty for no maximum. |
brandsarray | Brand names such as Samsung, Lenovo or Apple, written the way the store's brand filter shows them. Every entry is searched separately (each brand adds one search per keyword), so results are not mixed. Leave empty for all brands. |
sellersarray | Seller names such as Magalu, Kabum or Lenovo Oficial, written the way the store's Sold by filter shows them. Every entry is searched separately. Leave empty for all sellers. A name the store does not know returns no products and is reported in the log. |
Show 16 more inputs
| Input | What it controls |
|---|---|
minRatingstring | Only products rated at or above this score out of 5. Products with no rating yet are skipped when a minimum is set. Applied to the rows the store returns, so a strict minimum can return fewer products than Max items. |
excludeSponsoredboolean | Leave out paid placements and keep organic results only. |
availableOnlyboolean | Skip products shown as unavailable. |
urlsarray | One link per line. Accepted: search pages, category pages, subcategory and brand/model pages, and single product pages (a bare product id also works). Search-mode filters (price, brand, seller) are ignored here; filters and sort set in a link are honored. Pagination walks forward from the page in the link. |
maxPagesinteger | Optional. Empty or 0 means no page limit; it does NOT cap the run and defers to Max items. One page holds about 40 products. |
maxItemsinteger | The single cap on this run: stop after this many products across all searches and links. Set 0 for unlimited. |
includeDetailsboolean | Off by default. Turn on to read each product page as well: full description, image gallery, specification sheet, key selling points, variations, dimensions, seller legal name and tax id, rating breakdown and customer reviews. Billed as a detail charge per product returned with details. Product links always include details. |
maxReviewsinteger | Customer reviews to attach to each product when Fetch full product details is on (and for product links). The store shows the newest reviews on the product page, so a product never returns more than it displays there. Set 0 to skip reviews. Each delivered review is billed as one review charge. |
resumeFromRunIdstring | Paste a previous run ID or dataset ID to continue a large crawl without returning or charging for records already collected there. Use this after an interrupted or capped run. For recurring monitoring of the same search, use Incremental mode below instead. |
incrementalModeboolean | Turn this on for daily or weekly recurring monitoring of the same search, for example a price watch. The first run returns everything matching as NEW. Later runs normally return only NEW, UPDATED and REAPPEARED records. Price moves, discount changes, stock changes and new reviews ARE reported as UPDATED: on a retail site they are the signal, not noise. Detail fields (description, images, specifications, reviews) are not compared, only the listing and price fields. Turn on Emit unchanged or Emit expired only when you also want those rows returned (and billed). State is kept separately per search, URL and filter setup; use State key to name or deliberately share a monitoring campaign. To continue one specific interrupted run instead, use Resume from a previous run above. |
stateKeystring | Optional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently configured runs. Leave empty to let the actor derive a key automatically from the search terms, URLs and filters, so two different searches never mix state. |
emitUnchangedboolean | Off by default. Turn on to also return records that have not changed since the last run, marked UNCHANGED. This returns, and bills, extra rows you already have, so leave it off unless you specifically want a full snapshot every run. |
emitExpiredboolean | Off by default. Turn on to also return records that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked search: not when Max items capped it, not when Resume was used, and not when the run was refused. This returns, and bills, extra synthetic rows, so leave it off unless you need expiry tracking. |
mcpConnectorsarray | Optionally send results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify, Settings, API and Integrations, then select it here. Notion gets a page per record; other connectors get a best-effort write or digest. Each connector receives a condensed summary per record, not the full record; the complete record always stays in the dataset. Leave empty to skip; this never changes the dataset output. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com). |
notionParentPageUrlstring | URL or id of the Notion page under which record pages are created. Required to enable the Notion export; ignored by other connectors. |
maxNotifyListingsinteger | Cap on records written to each connector per run. Does not affect the dataset. |
Fields in the output
The documented dataset includes the fields below. Availability can depend on the source page and selected mode.
productIdProduct ID (text)skuSKU (text)titleTitle (text)brandBrand (text)urlURL (link)pricePrice (number)listPriceList price (number)discountPercentDiscount % (number)currencyCurrency (text)cashPriceCash price (number)installmentCountInstallments (number)installmentAmountInstallment amount (number)Show 37 more fields
installmentInterestFreeInterest-free (boolean)sellerNameSeller (text)availableAvailable (boolean)ratingRating (number)reviewCountReviews (number)categoryCategory (text)subcategorySubcategory (text)sponsoredSponsored (boolean)magaluRecommendsMagalu recommends (boolean)imageImage (image)searchQuerySearch term (text)pagePage (number)positionPosition (number)scrapedAtScraped at (date)changeTypeChange (text)changedFieldsChanged fields (array)firstSeenAtFirst seen (date)lastSeenAtLast seen (date)previousPricePrevious price (number)priceChangePrice change (number)isPriceDropPrice drop (boolean)sellerLegalNameSeller legal name (text)sellerCnpjSeller tax id (text)sellerCitySeller city (text)sellerStateSeller state (text)sellerScoreSeller score (number)ratingBreakdownStars breakdown (object)descriptionDescription (text)keySellingPointsHighlights (array)imagesImages (array)specificationsSpecifications (array)variationsVariations (array)dimensionsDimensions (object)breadcrumbBreadcrumb (array)couponCodeCoupon code (text)reviewsReviews (array)reviewsDeliveredReviews returned (number)Example output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"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,
"listPrice": 3499,
"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
}Ways to use this data
- 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.
Before you run
Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.
Questions about this actor
What data does Magazine Luiza Scraper return?
The documented output for Magazine Luiza Scraper includes product id, sku, title, brand, url, price, list price and discount %. Availability of each field depends on the source page and the selected mode.
How much does Magazine Luiza Scraper cost?
It costs $2.00 per 1,000 results on the Apify Free plan and from $1.60 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.
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.
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.
