Magalu API & Scraper
The Magalu API turns magazineluiza.com.br, Brazil's largest retailer and marketplace, into clean JSON in six actions: search, category, product/detail, product/reviews, product/shipping and search/suggest.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
Every product carries the three prices Magalu shows side by side, each in its own field: price is the card price (the interest-free installment total, for example 6332.22 in 10 x 633.22 sem juros), pix_price is the lower PIX price with pix_discount_pct (5699.00, 10% off), and list_price is the struck "de" price (7599.00). installments gives the best plan with count, amount, total and whether it is interest-free, and coupon returns a running coupon with its code, value and dates (LU250, R$ 250 off until 2026-09-18) without subtracting it from the price. seller says whether Magalu itself or a marketplace seller sells the item, with the seller's rating on a 5 scale, total sales, response and delivery reputation and city; product/detail adds the EAN, reference, description, specifications, images, variants with their own ids, package dimensions, rating distribution and the category breadcrumb, and still returns out-of-stock items with their last known price. product/shipping quotes delivery to any Brazilian CEP as Magalu does on the product page: standard delivery and store pickup with cost, working days and expected dates. Verification on 2026-09-15: 25 of 25 searches, 30 of 30 product reads across 18 categories, 12 of 12 review pages and 12 of 12 delivery quotes succeeded, all 50 controlled checks passed, and on 8 of 8 products title, card price, PIX price, list price, availability, rating, review count and seller matched Magalu's own product page. No Magalu account needed - one ReefAPI key and the standard { ok, data, meta, error } envelope.
Magalu shows three prices for one product - the API returns each in its own field
On a Magalu page the big number is the PIX price, the card price hides in the installment line and the struck price sits above both. Mixing them up is the most common way to store a wrong Magalu price. Values measured on 2026-09-15.
| Magalu product | price (card) | pix_price | list_price | What else the record says |
|---|---|---|---|---|
| Apple iPhone 17 256GB Branco (sold by Magalu) | 6332.22 BRL | 5699.00 BRL | 7599.00 BRL | 10 x 633.22 interest-free; coupon LU250, R$ 250 off, not applied to price |
| Notebook Dell Inspiron 15 I15-I1300-A60P | 5999.00 BRL | 5399.10 BRL | 6999.00 BRL | rating 4.77 from 256 reviews |
| Micro-ondas LG 30L Solo MS3091BC | 714.74 BRL | 679.00 BRL | 899.00 BRL | rating 4.78 from 2074 reviews |
| iPhone 17 Pro Max 256GB (marketplace seller KaBuM!) | 10555.54 BRL | 10555.54 BRL | 14998.89 BRL | no PIX discount (pix_discount_pct null); seller rating 3.5 of 5, 2621761 sales |
| Apple iPhone 17 256GB Lavanda (out of stock) | 6332.22 BRL | null | 7599.00 BRL | availability out_of_stock, price_source last_known, no installments |
Magalu sorts by price and filters by price range on the lower of these numbers (the PIX price when there is one), so a price_asc page is ordered by pix_price, not by price. On 8 of 8 products checked, all three prices matched Magalu's own product page.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/magalu/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "geladeira"
}
}{
"ok": true,
"meta": {
"api": "magalu",
"endpoint": "search",
"mode": "live",
"latency_ms": 1545.8,
"record_count": 40,
"bytes": 64373,
"cache_hit": false,
"country": "br",
"requests": 1,
"pagination": {
"page": 1,
"page_size": 40,
"has_more": true,
"total": 10000
}
},
"data": {
"results": [
{
"product_id": "013070701",
"type": "product",
"title": "Geladeira Electrolux Cycle Defrost 260L Super Freezer Duplex Branca DC35A",
"brand": "Electrolux",
"url": "https://www.magazineluiza.com.br/geladeira-electrolux-cycle-defrost-260l-super-freezer-duplex-branca-dc35a/p/013070701/ed/ref2/",
"image": "https://a-static.mlcdn.com.br/1000x1000/geladeira-electrolux-cycle-defrost-260l-super-freezer-duplex-branca-dc35a/magazineluiza/013070701/02f3faa6d87b2a4161ea70d426e5f99e.jpg",
"price": 2314.74,
"pix_price": 2199,
"pix_discount_pct": 5,
"list_price": 2799,
"discount_pct": 17,
"best_price_other_method": null,
"installments": {
"count": 10,
"amount": 231.47,
"total": 2314.74,
"interest_free": true,
"label": "sem juros"
},
"currency": "BRL",
"price_source": "offer",
"coupon": {
"code": null,
"discount_type": "amount",
"discount_value": 150,
"message": null,
"valid_from": null,
"valid_until": null
},
"offer_discounts": null,
"seller": {
"id": "magazineluiza",
"sku": "013070701",
"is_magalu": true,
"name": null
},
"availability": "in_stock",
"search_index_rating": 4.67,
"search_index_review_count": 10334,
"rating_scale": 5,
"badges": null,
"max_quantity": null,
"has_variants": true,
"category": {
"id": "ED",
"name": "Eletrodomésticos"
},
"subcategory": {
"id": "REF2",
"name": "[redacted-name]"
},
"sponsored": false
},
{
"product_id": "238975900",
"type": "product",
"title": "Geladeira/Refrigerador Electrolux Frost Free Duplex Inox Look 480L Efficient TF71S",
"brand": "Electrolux",
"url": "https://www.magazineluiza.com.br/geladeira-refrigerador-electrolux-frost-free-duplex-inox-look-480l-efficient-tf71s/p/238975900/ed/ref2/",
"image": "https://a-static.mlcdn.com.br/1000x1000/geladeira-refrigerador-electrolux-frost-free-duplex-inox-look-480l-efficient-tf71s/magazineluiza/238975900/c18bedf79097270f59476a52b544b6bc.jpg",
"price": 3644.79,
"pix_price": 3426.1,
"pix_discount_pct": 6,
"list_price": 4219,
"discount_pct": 14,
"best_price_other_method": null,
"installments": {
"count": 10,
"amount": 364.48,
"total": 3644.79,
"interest_free": true,
"label": "sem juros"
},
"currency": "BRL",
"price_source": "offer",
"coupon": null,
"offer_discounts": null,
"seller": {
"id": "magazineluiza",
"sku": "238975900",
"is_magalu": true,
"name": null
},
"availability": "in_stock",
"search_index_rating": 4.77,
"search_index_review_count": 2259,
"rating_scale": 5,
"badges": null,
"max_quantity": null,
"has_variants": true,
"category": {
"id": "ED",
"name": "Eletrodomésticos"
},
"subcategory": {
"id": "REF2",
"name": "[redacted-name]"
},
"sponsored": false
},
{
"product_id": "240972400",
"type": "product",
"title": "Geladeira/Refrigerador Brastemp Frost Free Duplex 385L BRM46MK",
"brand": "Brastemp",
"url": "https://www.magazineluiza.com.br/geladeira-refrigerador-brastemp-frost-free-duplex-385l-brm46mk/p/240972400/ed/refr/",
"image": "https://a-static.mlcdn.com.br/1000x1000/geladeira-refrigerador-brastemp-frost-free-duplex-385l-brm46mk/magazineluiza/240972400/148cc96df0b4609fd52f0321fca107bb.jpg",
"price": 3199,
"pix_price": 3039.05,
"pix_discount_pct": 5,
"list_price": 4409,
"discount_pct": 27,
"best_price_other_method": null,
"installments": {
"count": 10,
"amount": 319.9,
"total": 3199,
"interest_free": true,
"label": "sem juros"
},
"currency": "BRL",
"price_source": "offer",
"coupon": null,
"offer_discounts": null,
"seller": {
"id": "magazineluiza",
"sku": "240972400",
"is_magalu": true,
"name": null
},
"availability": "in_stock",
"search_index_rating": 4.81,
"search_index_review_count": 989,
"rating_scale": 5,
"badges": null,
"max_quantity": null,
"has_variants": true,
"category": {
"id": "ED",
"name": "Eletrodomésticos"
},
"subcategory": {
"id": "REFR",
"name": "Geladeira / Refrigerador"
},
"sponsored": false
}
],
"count": 40,
"sponsored_dropped": 0,
"sponsored_included": null,
"fallback_results_dropped": 0,
"total_results": 10000,
"total_results_capped": true,
"total_pages": 25,
"page": 1,
"page_size": 40,
"has_more": true,
"page_notice": null,
"matched_query": null,
"filters_available": {
"attributes": [
{
"name": "Cor",
"slug": "cor",
"values": [
"[trimmed-depth]",
"[trimmed-depth]",
"[trimmed-depth]"
]
},
{
"name": "Tipo de Degelo",
"slug": "tipo-de-degelo",
"values": [
"[trimmed-depth]",
"[trimmed-depth]",
"[trimmed-depth]"
]
},
{
"name": "Capacidade Líquida Total",
"slug": "capacidade-liquida-total",
"values": [
"[trimmed-depth]",
"[trimmed-depth]",
"[trimmed-depth]"
]
}
]
},
"keyword_matches_on_page": 40,
"query": "geladeira",
"sort": "relevance",
"applied_filters": null,
"country": "br",
"currency": "BRL"
}
}What the Magalu API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search Magalu by keyword. Each product comes with the card price, the PIX price and its discount, the struck list price, the best interest-free installment plan, any coupon (not applied to the price), the seller (Magalu itself or a marketplace seller), availability, rating and review count, badges and category. Sort by price, best sellers, rating, newest or fastest delivery; filter by brand, seller, price range, category or subcategory. Sponsored rows are removed and counted. | Pricing teams call search to search Magalu by keyword. | query, country, page, page_size, sort, ... |
| category | Every product in a Magalu category or subcategory (by id such as TE / IP17, or by the category URL), paged, with the same rows, sorts and filters as search. | Marketplace operators call category to get every product in a Magalu category or subcategory (by id such as TE / IP17, or by the categor…. | category, subcategory, country, page, page_size, ... |
| product/detail | The full Magalu product record by id or URL: title, brand, EAN, reference, card price, PIX price, list price and discount, best installment plan, coupon, promotions, the seller (Magalu or marketplace) with seller rating, total sales and response/delivery reputation, availability including out-of-stock items, rating with distribution, description, specifications, images, videos, variants with their own ids, package dimensions and category breadcrumb. | Catalog enrichment teams call product/detail to get the full Magalu product record by id or URL. | product_id, country, max_rotations |
| product/reviews | Customer reviews of a Magalu product, paged and sorted (most relevant, newest, positive, negative), with rating, title, text, date, reviewer first name, the variant bought and review photos, plus the average rating, rating count and star distribution. | Retail analysts call product/reviews to get customer reviews of a Magalu product, paged and sorted (most relevant, newest, positive, nega…. | product_id, country, page, page_size, sort, ... |
| product/shipping | Delivery options and prices for a Magalu product to a Brazilian CEP, as Magalu quotes them on the product page: standard delivery and store pickup with cost, working days or hours, expected delivery dates and who ships it. | Pricing teams call product/shipping to get delivery options and prices for a Magalu product to a Brazilian CEP, as Magalu quotes them on…. | product_id, zipcode, quantity, country, max_rotations |
| search/suggest | Magalu's search-box suggestions for what a shopper has typed. | Marketplace operators call search/suggest to get magalu's search-box suggestions for what a shopper has typed.. | query, country, max_rotations |
Call search from your stack
curl -X POST https://api.reefapi.com/magalu/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"geladeira"}'import requests
r = requests.post(
"https://api.reefapi.com/magalu/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "geladeira"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/magalu/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "geladeira"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.magalu.search with {"query":"geladeira"}.Who uses this API and why
- Price monitors in Brazil track Magalu's card, PIX and list prices separately, with the coupon that is running.
- Brands and distributors see which marketplace sellers list their products on Magalu, at what price and with what seller rating.
- Logistics and pricing teams compare delivery cost and time for the same product across Brazilian CEPs.
- Catalog teams match Magalu products to other retailers by EAN and pull specifications, images and variants.
Questions developers ask before integrating
Which Magalu price should I store?
All three mean different things. price is what a card buyer pays (it equals the interest-free installment total), pix_price is the lower price for paying by PIX, and list_price is the struck "de" price, null when Magalu shows none (5 of 30 sampled products). discount_pct compares price with list_price; pix_discount_pct is Magalu's own PIX discount. A coupon is returned in coupon and is never subtracted.
Is it sold by Magalu or by a marketplace seller?
seller.is_magalu is true for Magalu's own stock and marketplace is true for everyone else. product/detail names the seller and adds its rating on a 5 scale, total sales, how fast it answers, whether it delivers on time and its city and state - KaBuM! read 3.5 of 5 with 2621761 sales. Each marketplace seller's listing has its own product id on Magalu, so one product/detail is one seller's offer.
Can I get the delivery price and date for a CEP?
Yes, product/shipping takes a product id and any Brazilian CEP and returns the options Magalu offers there: on 2026-09-15 an iPhone sold by Magalu was free in 3 working days to São Paulo 01310-100 with store pickup in 2 hours, and 15 working days to Manaus; the KaBuM! listing cost 37.78 to São Paulo and 95.23 to Manaus. A CEP that does not exist returns INVALID_PARAM, an out-of-stock product returns no options, and a seller that does not ship to the region says so in shipping_status.
What happens with out-of-stock products?
They are still returned. availability is out_of_stock, price is the last price Magalu showed (price_source last_known) and pix_price and installments are null because nothing can be bought. A product id that does not exist returns NOT_FOUND.
Do the sorts and filters really apply?
Yes, measured on 2026-09-15: geladeira has more than 10000 results; brand consul cut it to 2124 (every row Consul), seller magazineluiza to 372 (every row sold by Magalu) and a R$ 1500-2500 price range to 2212. Price sorts and the price range use the PIX price when there is one, and Magalu lets a few rows just outside a range through (37 of 40 in one sample). Totals are capped at 10000 and search stops at page 100.
What happens when a search has no match or is misspelled?
Misspellings are corrected by Magalu and say so in matched_query (geladera to geladeira, notbook to notebook); 30 of 30 real keywords including misspellings returned products. When a nonsense keyword gets unrelated filler products they are removed and counted in fallback_results_dropped, and include_fallback_results returns them separately. Sponsored rows are removed and counted in sponsored_dropped.
What does Magalu NOT publish here?
No stock quantity (availability is a status), no full installment table per card (only the best plan), no Magalu Pay or Cartão Luiza member price, and no daily-deals list. Search suggestions are terms, not products. A price-sorted page can come back shorter than page_size because Magalu removes rows after paging; has_more still tells you whether more pages exist.
What is the Magalu API?
Magalu API is a ReefAPI endpoint group for magazine luiza in brazil: card, pix and list prices kept apart, installments, marketplace sellers and delivery by cep. It returns live JSON through POST requests under /magalu/v1.
Is the Magalu API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Magalu calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Magalu login or account?
No login to Magalu is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Magalu data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Magalu API use?
Magalu actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Magalu from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call magalu actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Magalu API a Magalu scraper?
It is the managed alternative to a DIY Magalu scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same magazine luiza in brazil: card, pix and list prices kept apart, installments, marketplace sellers and delivery by cep back as clean JSON.