Casas Bahia Brazil Electronics & Home Goods Scraper icon

Casas Bahia Brazil Electronics & Home Goods Scraper

Scrape products from Casas Bahia Brazil by keyword, department, or URL. Filter by brand, price, discount, rating, and instalment terms. Extract SKUs,…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

Casas Bahia Brazil Electronics & Home Goods Scraper at a glance

Casas Bahia Brazil Electronics & Home Goods Scraper is a ready-to-run Apify actor from abotapi for collecting web data. Its documented output includes image, product, change type (incremental mode), sku and brand, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.80 per 1,000 results on the Apify Free plan and from $1.00 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
Web data
Pricing
$1.80 per 1,000 results (Free plan), from $1.00 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
31 options
Run success
99.2% of completed public runs in the last 30 days

Scrape products from Casas Bahia Brazil by keyword, department, or URL. Filter by brand, price, discount, rating, and instalment terms. Extract SKUs, titles, brands, current and original prices, Pix offers, BRL instalment plans, stock, pickup options, images, variants, specifications, and reviews.

What Casas Bahia Brazil Electronics & Home Goods Scraper can do

  • Two ways to find products. Search by keyword and the store's own filters, or paste product links, department links, search-result links or bare product codes.
  • Real price plus Pix. Every row carries the live price, the pre-discount price and discount, and the instant-payment (Pix) price when the store offers one, not just a single headline number.
  • Every instalment plan. Instalment text, count and value, whether it is interest free, and the full list of instalment options the store publishes.
  • Full product depth on demand. Description, specification table, colour and capacity variants, manufacturer and warranty information, the full media gallery and customer reviews, all read from the product's own page.
  • Reviews up to your cap. Rating, review count and the per-star breakdown come from the product page; individual review rows are completed from the page's own review list (up to 200 per product) when the page shows only the first few. Reviews are part of the one detail-enrichment unit per product, with no extra per-review charge (see the cost FAQ).
  • Store filters plus actor filters. Department, brand, price band, minimum discount and minimum rating are applied by the store itself; minimum instalments, interest-free-only and in-stock-only are applied by this actor after reading each product's own terms.

Choose what to collect

These inputs let you configure Casas Bahia Brazil Electronics & Home Goods Scraper. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredChoose 'search' to search the catalogue by keyword and filters, or 'url' to scrape pasted links: product pages, department pages, search result pages and bare product codes are all accepted.

Choices: search, url

queriesarrayOnly used when mode = search, ignored in url mode. One or more keywords, for example geladeira (fridge), notebook or smart tv. Leave empty to browse by Department alone.
termstringSingle-keyword alias of Search keywords, for people moving from other scrapers. Used only when mode = search; added to the keyword list if it is not already there.
urlsarrayOnly used when mode = url, ignored in search mode. Mix freely: a legacy product page such as /produto-1558278013.html, a search results link (//b, optionally with ?page=2 or ?filtro=... and ?ordenacao=...), a department page under /c/... with its filtro, or a bare product code such as 1558278013. The default is the seven example links shown here (two department pages, two product pages, three search results links). In url mode they are read unless you enter your own links or a keyword that differs from the example keyword; the department and brand filters apply to them. In search mode they are never read. Each delivered product is billed as usual, capped by Max products.
categoriesarrayOptional. Keep only products in these store departments. Combine with a keyword, or use on its own to browse a whole department. Selecting several returns products from any of them.
brandsarrayOptional. Keep only products from these brands, written the way the store writes them, for example Consul, Electrolux, Brastemp, Samsung. Names are matched against the store's own brand list for your search, ignoring case and accents. If none of the names you enter exist in that list the run returns nothing rather than silently ignoring the filter.
minPriceintegerOptional. Keep only products priced at or above this amount, in Brazilian reais. Applied by the store itself, so it narrows the result count at the source.
Show 24 more inputs
More input fields
InputWhat it controls
maxPriceintegerOptional. Keep only products priced at or below this amount, in Brazilian reais. Applied by the store itself, so it narrows the result count at the source.
minDiscountPercentintegerOptional. Keep only products discounted by at least this percentage off their pre-discount price. Applied by the store itself, so it narrows the result count at the source.
minRatingstringOptional. Keep only products the store rates at this many stars or more. The store groups products into whole-star buckets by their rounded average, and this asks it for every bucket at or above your choice, so a product averaging 3.8 counts as 4 stars. Products with no rating at all are excluded when this is set.

Choices: 0, 1, 2, 3, 4, 5

minInstallmentsintegerOptional. Keep only products the store will split into at least this many instalments, for example 12 for '12x sem juros'. The store publishes no filter for instalments, so this is applied by this actor after reading each product's payment terms.
interestFreeInstallmentsOnlybooleanOptional. Keep only products with at least one interest-free ('sem juros') instalment plan. Combine with Minimum instalments to require, for example, 12x with no interest. Applied by this actor after reading each product's payment terms.
inStockOnlybooleanOptional. Keep only products the store will currently accept an order for. Applied by this actor after reading each product's live availability.
sortBystringThe order the store returns results in. All five are the store's own orderings.

Choices: relevance, popularity, best_selling, price_asc, price_desc

fetchDetailsbooleanRead each product's own page to add the description, the full specification table, the colour, model and capacity variants with their own addresses, the manufacturer and warranty information, the full image gallery, the pickup-in-store signal and every instalment plan the store offers. Turn off for a faster, cheaper run that returns catalogue and price fields only.
includeReviewsbooleanAdd each product's customer reviews: average rating, the per-star breakdown, the share of reviewers who recommend it, the store's own review summary, and the individual reviews (author, date, rating, text and helpful counts). Shopper-uploaded review photos and clips are not returned. Requires Fetch product details and costs no extra request. A product with no reviews returns an empty reviews list.
maxReviewsPerProductintegerCap on how many individual reviews are returned per product. The average rating, review count and per-star breakdown are always complete regardless of this cap. Reviews are included in the product's one detail unit; there is no per-review charge. Values above 200 (and 0, which used to mean all) are treated as 200.
maxItemsintegerMaximum number of products to return across the whole run. This is the run's cap. Use 0 for unlimited.
maxPagesintegerMaximum number of result pages read per keyword, department or link. 0 means no limit, which is the default: the run then stops only at Max products, at the end of the results, or when a page returns nothing new.
startPageintegerFirst result page to read for each keyword in search mode. 1 (the default) starts at the beginning; Max result pages then counts from this page.
failOnNoResultsbooleanWhen on, a run that matched no products ends as FAILED instead of succeeded with an empty dataset.
ignoreSiteFailuresbooleanWhen on, a run whose every request was refused ends as succeeded with an empty dataset instead of FAILED. Off by default so a blocked run is never mistaken for an empty result.
resumeFromRunIdstringPaste a previous run ID or dataset ID to continue a large catalogue pull without returning or charging for products already collected there. Use this after an interrupted run. For recurring daily monitoring of the same search, use Incremental mode below instead.
incrementalModebooleanTurn this on for daily or recurring monitoring. The first run returns every matching product as NEW. Later runs normally return only NEW, UPDATED and REAPPEARED products, which is how a price cut or a stock change is spotted. Turn on Emit unchanged or Emit expired only when you also want those rows returned (and billed). State is kept separately for each search, filter and detail 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.
stateKeystringOptional. 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, filters and detail settings, so different searches never mix state with each other.
emitUnchangedbooleanOff by default. Turn on to also return products 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 want the full snapshot every run.
emitExpiredbooleanOff by default. Turn on to also return products 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, so never when Max products capped it or when Resume was used. This returns, and bills, extra synthetic rows, so leave it off unless you need expiry tracking.
ignoreFieldsForChangesarrayIncremental mode only. Fields whose changes do not count as an update: a change in them alone leaves the product UNCHANGED and they are not listed in changedFields. They are still returned in every row. Use a dotted path for a nested field, for example variants.image. The image fields (image, images, variants.image), whose address changes between fetches, customer reviews and the scrape time are always ignored; a new review still shows through reviewCount and rating. Add more field names here to ignore them as well, for example installmentText.
mcpConnectorsarrayOptionally send results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify, Settings, API & Integrations, then select it here. Notion gets a rich page-per-item export; other connectors get a best-effort write or digest. Leave empty to skip; 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).
notionParentPageUrlstringURL or id of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items 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.

imageImage (image)
titleProduct
changeTypeChange type (incremental mode) (text)
productIdSKU
brandBrand
pricePrice (BRL)
originalPriceWas (BRL)
discountPercentDiscount %
cashPriceInstant-payment price (BRL)
cashPriceLabelInstant-payment terms
installmentTextInstalments
currencyCurrency
Show 56 more fields
onSaleReduced (boolean)
inStockOrderable (boolean)
pickupInStorePickup in store (boolean)
ratingRating
reviewCountReviews
categoryNameCategory
categoryPathCategory path (array)
sellerNameSeller
eanEAN
urlURL (link)
changedFieldsChanged fields (incremental mode) (array)
firstSeenAtFirst seen (incremental mode) (date)
lastSeenAtLast seen (incremental mode) (date)
statusstatus
countrycountry
sourcesource
search_termsearch_term
pagepage
rankrank
product_idproduct_id
skusku
list_pricelist_price
discount_percentdiscount_percent
availabilityavailability
availableavailable
seller_idseller_id
seller_nameseller_name
category_idcategory_id
categoriescategories
installmentinstallment
highlightshighlights
image_urlimage_url
image_urlsimage_urls
product_urlproduct_url
source_urlsource_url
scraped_atscraped_at
descriptionDescription
specificationsSpecifications (object)
variantsVariants (array)
installmentOptionsInstalment options (array)
sellerCountSellers
offerCountOffers
minOfferPriceLowest offer (BRL)
maxOfferPriceHighest offer (BRL)
warrantyWarranty
manufacturerNameManufacturer
manualsManuals (array)
imagesImages (array)
reviews.reviewIdReview id
reviews.ratingRating
reviews.dateDate
reviews.authorAuthor
reviews.titleHeadline
reviews.textReview
reviews.helpfulCountHelpful
reviews.notHelpfulCountNot helpful

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "productId": "1234567890",
  "productGroupId": "9876543210",
  "title": "Refrigerator Example 400L Frost Free",
  "brand": "Example Brand",
  "brandId": "42",
  "ean": "7890000000000",
  "url": "https://www.casasbahia.com.br/exemplo-produto/p/1234567890",
  "categoryName": "Refrigerators",
  "categoryPath": [
    "Home Appliances",
    "Refrigerators"
  ],
  "price": 3499.9,
  "originalPrice": 4299.9,
  "discountPercent": 19,
  "discountAmount": 800,
  "currency": "BRL",
  "onSale": true,
  "cashPrice": 3149.91,
  "cashPriceLabel": "No Pix",
  "hasPixDiscount": true,
  "installmentText": "10x de R$ 349,99 sem juros",
  "installmentCount": 10,
  "installmentValue": 349.99,
  "installmentInterestFree": true,
  "inStock": true,
  "availability": {
    "national": true,
    "regional": true,
    "commercial": false
  },
  "pickupInStore": true,
  "deliveryEstimate": null,
  "shippingCost": null,
  "sellerId": "1",
  "sellerName": "Casas Bahia",
  "image": "https://imgs.example.invalid/1234567890/1.jpg",
  "variantOptions": [
    {
      "name": "Colour",
      "values": [
        "White",
        "Silver"
      ]
    }
  ],
  "specifications": [
    {
      "group": "General",
      "name": "Capacity",
      "value": "400 litres"
    }
  ],
  "warranty": "12 months",
  "rating": 4.7,
  "reviewCount": 128,
  "ratingBreakdown": [
    {
      "rating": 5,
      "percentage": 78,
      "label": "Excellent"
    }
  ],
  "reviewsAvailable": true,
  "reviews": [
    {
      "reviewId": "0000",
      "author": "Sample Customer",
      "date": "27/04/2026",
      "rating": 5,
      "text": "Sample review text.",
      "helpfulCount": 3,
      "notHelpfulCount": 0
    }
  ],
  "sponsored": false,
  "searchMode": "search",
  "scrapedAt": "2026-08-28T00:00:00Z"
}

Ways to use this data

  • Price monitoring and repricing: track price cuts, Pix discounts and stock changes across a department or a brand on a schedule.
  • Comparison shopping and marketplace tools: pull structured price, instalment and availability data to power a comparison page or app.
  • Market research and BI: build a historical BRL price and discount dataset for electronics and home goods.
  • Review and sentiment analysis: collect rating breakdowns and individual review text to understand customer feedback at scale.
  • Content and affiliate teams: source specifications, images and instalment terms for buying guides and product pages.

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 Casas Bahia Brazil Electronics & Home Goods Scraper return?

The documented output for Casas Bahia Brazil Electronics & Home Goods Scraper includes image, product, change type (incremental mode), sku, brand, price (brl), was (brl) and discount %. Availability of each field depends on the source page and the selected mode.

How much does Casas Bahia Brazil Electronics & Home Goods Scraper cost?

It costs $1.80 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Why did a run return more products than Max products?

Max products caps new, updated, reappeared and unchanged rows. It currently does not cap EXPIRED rows: with emitExpired on, a run that completes a full scan of the tracked search adds every previously tracked product no longer found on top of the capped batch. Turn emitExpired off if you need a hard ceiling on run size.

Why did my run fail instead of returning an empty dataset?

If the site refuses every request, the run stops with a clear message so "no products matched" is never confused with "nothing could be read". Run it again in a few minutes, or check the Connection section if it keeps happening.

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.

Ready to collect with Casas Bahia Brazil Electronics & Home Goods Scraper?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.