Casas Bahia API & Scraper
Casas Bahia is one of Brazil's largest retailers of electronics, furniture and home appliances, with a marketplace of outside sellers.
🤖 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.
This API reads casasbahia.com.br as JSON. `search` takes a Portuguese keyword with the site's own filters (brand, category, seller, price range in R$, star rating) and five sort orders, and returns 20 products per page, each with the full Brazilian price set: the selling price, the crossed-out 'de' price, the PIX/boleto à vista price and its discount when the site offers one, the instalment plan (number of instalments, instalment value, whether it is sem juros, and the site's own text such as '12x de R$47,06'), who sells it (Casas Bahia itself or a named marketplace seller), availability, rating and review count, plus the site's own total. `product` returns one sku in full: EAN, description, category path, specifications, variants such as 110V and 220V with their own sku ids, images, the price set for that exact sku, every marketplace offer with its seller and price, and the rating summary. `reviews` returns the written buyer reviews.
What a Casas Bahia field actually contains
Fields that read differently from how they look. Every row was measured against live Casas Bahia responses on 2026-10-15.
| Field | What it holds |
|---|---|
| sku_id, product_id | sku_id is the number after /p/ in every product URL and is what product takes; a product URL works too. product_id groups the variants of one product (110V and 220V are two skus of one product) and is what reviews takes. Search to product returned the same sku and product id on 12 of 12. |
| price, list_price, discount_pct | price is the selling price in R$. list_price is the crossed-out 'de' price, only when it is above price. discount_pct is computed from the two; source_discount_pct is the site's own figure, which it writes as a negative number (-25 means 25 % off). |
| pix_price, pix_label | The à vista price when paying by PIX or boleto, only when the site marks a discount for it (92 of 239 rows). Empty means no PIX discount, not a missing value. |
| installments, installment_value, installment_interest_free, installment_text | The instalment plan the site leads with: how many, how much each, and whether it is sem juros. installment_text is the site's own string ('6x de R$383,17'); on 239 rows it agreed with the numbers every time. |
| seller_id, seller_name, sold_by_casas_bahia | Who sells the offer shown. 10037 is Casas Bahia itself; anything else is a marketplace seller, named. In 239 search rows 76 were sold by Casas Bahia and 163 by marketplace sellers. |
| price_sku_id (search) | Search rows are priced the way the site prices its result grid: by product, which picks one variant. When price_sku_id differs from sku_id the price belongs to the other variant; product always prices the sku you ask for. |
| offers (product) | Every seller offering that sku, with name, price, stock and which offer the site shows first (elected). |
| total, total_capped | The site's own count. It stops at 10,000: broad searches such as smartphone samsung report exactly 10,000 and total_capped is true. |
Prices were checked against prices Casas Bahia prints itself: the homepage banners name a sku and its PIX or instalment price, and all 3 found on 2026-10-15 matched (R$ 999,00 PIX, R$ 1.115,40 PIX, 12x R$ 99,11). Prices are the national prices, without a CEP.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/casasbahia/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "geladeira",
"brand_id": "165"
}
}{
"ok": true,
"meta": {
"api": "casasbahia",
"endpoint": "search",
"mode": "live",
"latency_ms": 2184.9,
"record_count": 20,
"bytes": 76629,
"cache_hit": false,
"upstream_requests": 2,
"total": 138,
"priced_rows": 20,
"charged_credits": 3,
"version": "0.1.0",
"request_id": "81ae2da7eff24502",
"queue_ms": 1.9,
"fetched_at": "2026-10-18T11:42:01.088Z"
},
"data": {
"results": [
{
"product_id": "87599435",
"sku_id": "1576385899",
"name": "Geladeira Electrolux Frost Free 320L Duplex Branca (TF38)",
"url": "https://www.casasbahia.com.br/geladeira-electrolux-frost-free-320l-duplex-branca-tf38/p/1576385899",
"image": "https://imgs.casasbahia.com.br/1576385899/1xg.jpg",
"images": [
"https://imgs.casasbahia.com.br/1576385899/1xg.jpg",
"https://imgs.casasbahia.com.br/1576385899/2xg.jpg",
"https://imgs.casasbahia.com.br/1576385899/3xg.jpg"
],
"brand": "Electrolux",
"brand_id": "165",
"categories": [
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]"
},
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]"
},
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]"
}
],
"rating": 4.7,
"review_count": 238,
"status": "AVAILABLE",
"pinned": false,
"sponsored": false,
"product_type": "Nacional",
"price": 2299,
"list_price": 3049.9,
"pix_price": null,
"pix_discount_pct": null,
"pix_label": null,
"discount_pct": 24.6,
"source_discount_pct": -25,
"installments": 6,
"installment_value": 383.17,
"installment_interest_free": true,
"installment_text": "6x de R$383,17",
"installment_mismatch": false,
"currency": "BRL",
"seller_id": "24506",
"seller_name": "Loja Electrolux",
"sold_by_casas_bahia": false,
"available": true,
"in_stock": true,
"price_sku_id": "1576385905"
},
{
"product_id": "91309307",
"sku_id": "55071760",
"name": "Geladeira Electrolux IF41S Frost Free Duplex 380L AutoSense Inverter Inox Look Econômica Silenciosa",
"url": "https://www.casasbahia.com.br/geladeira-electrolux-if41s-frost-free-duplex-380l-autosense-inverter-inox-look-economica-silenciosa/p/55071760",
"image": "https://imgs.casasbahia.com.br/55071760/1g.jpg",
"images": [
"https://imgs.casasbahia.com.br/55071760/1g.jpg",
"https://imgs.casasbahia.com.br/55071760/2g.jpg",
"https://imgs.casasbahia.com.br/55071760/3g.jpg"
],
"brand": "Electrolux",
"brand_id": "165",
"categories": [
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]"
},
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]"
},
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]"
}
],
"rating": 4.73,
"review_count": 110,
"status": "AVAILABLE",
"pinned": false,
"sponsored": false,
"product_type": "Nacional",
"price": 3331.11,
"list_price": 3592.17,
"pix_price": 2998,
"pix_discount_pct": 10,
"pix_label": "No Pix",
"discount_pct": 7.3,
"source_discount_pct": -7,
"installments": 1,
"installment_value": 2998,
"installment_interest_free": false,
"installment_text": "1x de R$2.998,00",
"installment_mismatch": false,
"currency": "BRL",
"seller_id": "10037",
"seller_name": "Casas Bahia",
"sold_by_casas_bahia": true,
"available": true,
"in_stock": true,
"price_sku_id": "55071760"
},
{
"product_id": "81777836",
"sku_id": "1570556212",
"name": "Geladeira Electrolux Frost Free com AutoSense 432L Efficient Duplex Inox Look (TF70S)",
"url": "https://www.casasbahia.com.br/geladeira-electrolux-frost-free-com-autosense-432l-efficient-duplex-inox-look-tf70s/p/1570556212",
"image": "https://imgs.casasbahia.com.br/1570556212/1xg.jpg",
"images": [
"https://imgs.casasbahia.com.br/1570556212/1xg.jpg",
"https://imgs.casasbahia.com.br/1570556212/2xg.jpg",
"https://imgs.casasbahia.com.br/1570556212/3xg.jpg"
],
"brand": "Electrolux",
"brand_id": "165",
"categories": [
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]"
},
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]"
},
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]"
}
],
"rating": 4.77,
"review_count": 187,
"status": "AVAILABLE",
"pinned": false,
"sponsored": false,
"product_type": "Nacional",
"price": 3199,
"list_price": 4149.9,
"pix_price": null,
"pix_discount_pct": null,
"pix_label": null,
"discount_pct": 22.9,
"source_discount_pct": -23,
"installments": 6,
"installment_value": 533.17,
"installment_interest_free": true,
"installment_text": "6x de R$533,17",
"installment_mismatch": false,
"currency": "BRL",
"seller_id": "24506",
"seller_name": "Loja Electrolux",
"sold_by_casas_bahia": false,
"available": true,
"in_stock": true,
"price_sku_id": "1570556212"
}
],
"total": 138,
"total_capped": false,
"page": 1,
"page_size": 20,
"last_page": 7,
"has_more": true,
"page_past_end": false,
"facets": {
"brands": [
{
"id": "165",
"name": "Electrolux"
},
{
"id": "117",
"name": "Consul"
},
{
"id": "62",
"name": "Brastemp"
}
],
"categories": [
{
"id": "13",
"name": "Eletrodomésticos"
}
],
"sellers": [
{
"id": "10037",
"name": "CB Full"
}
],
"sorts": [
"relevance",
"popularity",
"price_asc"
]
},
"applied": {
"query": "geladeira",
"filter": "m165",
"sort": "relevance"
}
}
}What the Casas Bahia API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search Casas Bahia (Brazil) by keyword with the site's own filters: brand id, category id, seller id (10037 = Casas Bahia itself), price range in R$, star bucket, and 5 sort orders. Each row: product id, sku id, name, URL, images, brand, categories, rating, review count, plus the live price set from the site's own price service: preço, the strike-through 'de' price, the PIX/boleto à vista price and its discount, the instalment plan (N× value, sem juros flag and the source's own text), the selling seller and whether it is Casas Bahia, availability. Plus the source's own total and its brand / category / seller filter lists. | Pricing teams call search to search Casas Bahia (Brazil) by keyword with the site's own filters. | query, brand_id, category_id, seller_id, min_price, ... |
| product | Full Casas Bahia product record for one sku: name, variant, brand (and its customer-service contact as published), EAN, description, category path, grouped specifications, highlights, all variants (e.g. 110V / 220V) with their sku ids, images, the price set for THIS sku (preço, de-por, PIX/boleto à vista, parcelado plans), the selling seller, every marketplace offer (seller, price, stock, elected), and the rating summary (average, count, recommendation %, star distribution). | Marketplace operators call product to get full Casas Bahia product record for one sku. | sku_id |
| reviews | Buyer reviews of a Casas Bahia product: stars, text, first name as published, date, likes and dislikes, plus the average rating, review count, recommendation % and star distribution. | Catalog enrichment teams call reviews to get buyer reviews of a Casas Bahia product. | product_id |
Call search from your stack
curl -X POST https://api.reefapi.com/casasbahia/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"geladeira","brand_id":"165"}'import requests
r = requests.post(
"https://api.reefapi.com/casasbahia/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "geladeira",
"brand_id": "165"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/casasbahia/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "geladeira",
"brand_id": "165"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.casasbahia.search with {"query":"geladeira","brand_id":"165"}.Who uses this API and why
- Track Casas Bahia card, PIX and parcelado prices on TVs, phones, fridges and furniture day by day.
- See which marketplace sellers offer a product and at what price next to Casas Bahia's own offer.
- Match Casas Bahia products to Magalu, Americanas or Mercado Livre by EAN.
- Watch 'de-por' discounts and PIX discounts in a category over time.
- Collect Brazilian buyer reviews and star distributions for product research.
Questions developers ask before integrating
Do I need a Casas Bahia account?
No. Everything is read logged out, and you call reefapi.com from anywhere.
Which price is the real one?
All of them are real, they are different prices: price is the card price, pix_price is the à vista price paying by PIX or boleto (when the site offers a discount), list_price is the crossed-out 'de' price, and installments × installment_value is the parcelado plan. They are returned side by side so nothing has to be guessed.
Can I see whether Casas Bahia or a marketplace seller sells the product?
Yes. Every row has seller_id, seller_name and sold_by_casas_bahia. product also lists every seller offering that sku in offers. To keep only Casas Bahia's own offers, search with seller_id 10037.
Which filters are there and do they work?
Brand, category, seller, price range in R$ and star rating, plus five sort orders. Each was checked against the unfiltered count in the same run: geladeira 744 → Electrolux 134, sold by Casas Bahia 70, 5 stars 82, R$ 1.500-3.000 192, Electrolux and 5 stars 13.
Is shipping by CEP included?
Not at present. Prices are the national prices without a CEP, and no delivery quote is returned.
How deep can I page?
20 products per page. The site stops at 10,000 results; a page past the last one returns no rows and page_past_end is true.
Are EAN barcodes included?
Yes, in product, when Casas Bahia publishes one for the sku (the fridge we measured: 7909569472170).
What is the Casas Bahia API?
Casas Bahia API is a ReefAPI endpoint group for brazil's big electronics, furniture and appliance retailer: preço, de-por, pix à vista and parcelado prices, seller, stock, ean, offers and reviews. It returns live JSON through POST requests under /casasbahia/v1.
Is the Casas Bahia API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Casas Bahia calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Casas Bahia login or account?
No login to Casas Bahia 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 Casas Bahia 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 Casas Bahia API use?
Casas Bahia actions currently cost 1-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Casas Bahia from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call casasbahia actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Casas Bahia API a Casas Bahia scraper?
It is the managed alternative to a DIY Casas Bahia 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 brazil's big electronics, furniture and appliance retailer: preço, de-por, pix à vista and parcelado prices, seller, stock, ean, offers and reviews back as clean JSON.