# Casas Bahia API — search casasbahia.com.br (Brazil) and read products with preço, de-por, PIX/boleto à vista and parcelado sem juros prices, seller, stock, EAN, specs, offers and reviews

> 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.
> ReefAPI engine `casasbahia` · 3 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/casasbahia/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed calls are free except verified SHEIN NOT_FOUND on product/detail and price (4 credits).
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http). Send the key as `Authorization: Bearer <key>`, or put it in the URL (`?key=<key>`) when the client has no header field, as ChatGPT does.

## Endpoints

### POST https://api.reefapi.com/casasbahia/v1/search — 3 credits
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.

**Parameters:**
- `query` (string, required) — Search words as typed into the Casas Bahia search box (Portuguese), e.g. geladeira, smartphone samsung.
- `brand_id` (string, optional) — Brand id as a row's `brand_id` or `facets.brands[].id` returns it (165 = Electrolux). A brand id with no products returns 0 rows.
- `category_id` (string, optional) — Category id as a row's `categories[].id` or `facets.categories[].id` returns it (13 = Eletrodomésticos).
- `seller_id` (string, optional) — Only offers sold by this seller (`seller_id` of a row or `facets.sellers[].id`; 10037 = Casas Bahia itself).
- `min_price` (number, optional) — Lowest price in R$ (BRL). The source compares its lowest payable price, so a row whose PIX price is inside the range can carry a `price` outside it.
- `max_price` (number, optional) — Highest price in R$ (BRL). Same rule as min_price: measured 2026-10-15, 1 of 20 rows had price 528.99 over max 500 with pix_price 476.09 inside.
- `stars` (enum, optional) — The source's own star bucket: 4 means rated 4.0-4.9 (a 4.7 product is in 4, not 5); 0 means not yet rated. [one of: 5, 4, 3, 2, 1, 0]
- `sort` (enum, optional, default "relevance") — Result order (the site's own five choices). [one of: relevance, popularity, price_asc, price_desc, best_selling]
- `page` (integer, optional, default 1) — Result page, 20 rows each. The source stops at 10,000 rows.

**Returns:** results[]{product_id, sku_id, name, url, image, images[], brand, brand_id, categories[], rating, review_count, status, pinned, sponsored, product_type, price, list_price, pix_price, pix_discount_pct, pix_label, discount_pct, source_discount_pct, installments, installment_value, installment_interest_free, installment_text, installment_mismatch, currency, seller_id, seller_name, sold_by_casas_bahia, available, in_stock, price_sku_id} + total, total_capped, page, page_size, last_page, has_more, page_past_end, facets{brands[], categories[], sellers[], sorts[]}

**Example request body:**
```json
{
  "query": "geladeira",
  "brand_id": "165"
}
```

### POST https://api.reefapi.com/casasbahia/v1/product — 3 credits
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).

**Parameters:**
- `sku_id` (string, optional) — Casas Bahia sku id exactly as a search row returns it (`sku_id`; the number after /p/ in a product URL). A casasbahia.com.br product URL is accepted too.

**Returns:** {product_id, sku_id, name, variant_name, url, brand, brand_id, brand_support_phone, brand_support_site, ean, description, categories[], specifications[]{group, name, value}, highlights[], variants[]{sku_id, name, active}, variant_attributes[], images[], videos[], store_pickup_eligible, active, price, list_price, pix_price, pix_discount_pct, pix_label, pix_payment_methods, discount_pct, source_discount_pct, installments, installment_value, installment_interest_free, installment_text, installment_mismatch, installment_plans[], currency, seller_id, seller_name, sold_by_casas_bahia, available, in_stock, ships_nationwide, store_pickup, offers[]{seller_id, seller_name, sold_by_casas_bahia, elected, price, list_price, in_stock, active, store_pickup}, rating, review_count, recommendation_pct, rating_distribution_pct{}}

**Example request body:**
```json
{
  "sku_id": "1576385899"
}
```

### POST https://api.reefapi.com/casasbahia/v1/reviews — 1 credit
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.

**Parameters:**
- `product_id` (string, optional) — Casas Bahia product id exactly as a search row or `product` returns it (`product_id`).
- `sort` (enum, optional, default "most_useful") — Review order. [one of: most_useful, newest]
- `page` (integer, optional, default 1) — Review page.
- `page_size` (integer, optional, default 10) — Reviews per page (1-50).

**Returns:** reviews[]{review_id, rating, text, author, date, likes, dislikes} + product_id, rating, review_count, recommendation_pct, rating_distribution_pct{}, page, page_size, has_more

**Example request body:**
```json
{
  "product_id": "87599435"
}
```

## At scale
- **Volume:** 5M+ requests a day, measured at 60 requests a second across the fleet with no
  central bottleneck. Per-key limits are raised for high-volume accounts; volume pricing on request.
- **Missing a source:** tell us a site we do not cover and it becomes an engine. A customer asked
  for bestprice.gr on 21 Sep 2026 and it was in the catalog on 22 Sep.
- **Support:** 2 minute median time from a question in the live chat to the first answer. Setup
  help included, no support tier to buy.
- **One key, one credit pool** across every API. No per-site plans, no separate subscriptions.

## More
- Try it live, no code: https://reefapi.com/playground?engine=casasbahia
- Human docs page: https://reefapi.com/docs/casasbahia
- Overview page: https://reefapi.com/casasbahia-api
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
