Buscapé & Zoom Price Scraper avatar

Buscapé & Zoom Price Scraper

Pricing

from $10.00 / 1,000 products

Go to Apify Store
Buscapé & Zoom Price Scraper

Buscapé & Zoom Price Scraper

Brazil's price comparators Buscapé and Zoom: lowest price, every store's offer (Magalu, Amazon, KaBuM, Casas Bahia...), installments, cashback, 40-day price history, specs and pros/cons. Search or paste links. 1,000 products in seconds, no proxy.

Pricing

from $10.00 / 1,000 products

Rating

0.0

(0)

Developer

Norm Data

Norm Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 days ago

Last modified

Share

Norm Data

🛒 Buscapé & Zoom Price Scraper

Extract product prices from Buscapé and Zoom, Brazil's two biggest price comparison sites. For every product you get the lowest price, the cheapest store, how many stores sell it, installments and cashback, plus every store's offer (Magazine Luiza, Amazon, KaBuM!, Casas Bahia, Fast Shop and hundreds more) with price, installments, interest-free flag, stock and a link. Turn on details for the last 40 days of prices, the full spec sheet, photos and the editors' pros and cons. About 1,000 products in under 15 seconds, with no browser and no proxy.

🎯 Who uses it?

🏪 Retailers and e-commerce teams

Watch what every competitor charges for the products you sell, how many installments they give and whether they offer them interest-free.

🏭 Brands and manufacturers

Check how your products are priced across Brazilian stores, spot sellers going under your suggested price and track marketplace sellers.

📈 Market and pricing analysts

Build price indexes by category, follow how prices move over 40 days, and compare price levels between stores.

🛍️ Deal hunters and affiliate sites

Find products at their lowest price in 40 days, or well below their recent average, and publish them with the store link.

✨ What it does

  • Search by one or more product names, or paste links: a search, a category (like /celular) or a single product page.
  • Both sites: Buscapé (buscape.com.br) and Zoom (zoom.com.br).
  • Every store's offer for each product, cheapest first, from the same source the product page uses for "ver mais ofertas".
  • Price history (optional): 40 days of daily lowest prices, with the minimum, maximum, average, how today's price compares (priceVsAverage40d) and isLowestPrice40d.
  • Specs, photos and review (optional): the full spec sheet as clean name and value pairs, every photo, and the editors' summary, pros and cons.
  • Sort by relevance, lowest price or highest price. Optionally keep only products compared across stores.

🏆 Why this scraper

  • The whole comparison in one row. Most scrapers stop at the search card (one price, one store). Here each product carries every store's offer, so you see the full price spread.
  • Price history without waiting. You don't need to run it daily for weeks to see a trend: 40 days of prices come with the first run.
  • Fast and light. About 1,000 products with all store offers in 12 seconds in our tests. No browser, no proxy.
  • Clean numbers. Prices, installments and cashback are numbers in BRL, never text like "R$ 5.698,80".

⚖️ How it compares

CapabilityThis actordadhalfdev
Buscapéyesyes
Zoomyesno
Several searches in one runyesno
Every store's offer per productyesno
Interest-free installments and stock per storeyesno
40-day price history with min, max and averageyesno
Full spec sheet, photos, pros and consyesno
Paste a product linkyesno
Category, brand and site filtersvia pasted linkas inputs
Proxynone needednot stated

dadhalfdev has the site's category and brand filters as input fields and is cheaper per row, for card-level data. Here you set those filters on the site and paste the link.

📦 What data you get

FieldDescription
productId, type, name, urlThe site's ID, product (compared across stores) or offer (a single store's listing shown in results), the name and the link.
site, searchTerm, category, positionWhich site, which of your searches found it, the site's category and its place in the results.
price, currency, bestStoreLowest price right now (BRL) and the store offering it.
storeCount, storesHow many stores sell it and their names.
installmentMonths, installmentValue, installmentTotalInstallment plan for the lowest offer (e.g. 10 x R$ 633.20 = R$ 6,332.00).
cashbackPercent, cashbackValueBuscapé cashback for that offer.
imageMain photo.
offers(on by default) Every store's offer: store, storeId, title, price, totalPrice, installmentMonths, installmentValue, interestFree, stock, condition, marketplace, url. Cheapest first.
highestPrice(with offers) The priciest offer, so you see the spread at a glance.
brand, specs, images(details) Brand, full spec sheet ({"Processador": "Apple A19", ...}) and all photos.
priceHistory(details) [{date, price}] for the last 40 days.
lowestPrice40d, highestPrice40d, averagePrice40d(details) Summary of that history.
priceVsAverage40d, isLowestPrice40d(details) Today's price vs the 40-day average in % (-12 means 12% cheaper), and whether it is the lowest of the period.
expertSummary, pros, cons(details) The editors' review, when the product has one.
listedSince(details) When the product was added to the site.
scrapedAtWhen the row was collected (UTC).
errorOnly present when a product's offers or details didn't load.

Fields marked (details) or (with offers) only appear when that option is on.

💡 Use cases

📱 Every store's price for the latest iPhones

{ "maxItems": 50, "searchTerms": ["iphone 17"], "comparedOnly": true }

📉 Fridges at their lowest price in 40 days

{ "maxItems": 300, "searchTerms": ["geladeira frost free"], "includeDetails": true }

Then filter the dataset on isLowestPrice40d = true or priceVsAverage40d below -10.

💻 Cheapest gaming laptops on Zoom

{ "maxItems": 100, "site": "zoom", "searchTerms": ["notebook gamer"], "sortBy": "price_asc" }

🗂️ A whole category with your own filters

{ "maxItems": 2000, "urls": [{ "url": "https://www.buscape.com.br/celular/samsung" }] }

🔎 Track a list of exact products daily

{ "urls": [{ "url": "https://www.buscape.com.br/celular/celular-apple-iphone-17-256gb" }], "includeDetails": true }

⚙️ How the input is organised

SectionWhat it's for
Maximum productsAlways first, caps the whole run. Empty means no limit.
SearchSite, search terms, pasted links, sort order, compared-only filter.
What to includeStore offers (on by default) and price history, specs and review (off by default).

💰 Pricing

Pay-per-event: a one-time $0.003 when the run starts, plus a price per product saved to your dataset. The price depends on your Apify plan tier:

Your Apify planPrice per product
Free$0.014
Bronze$0.0125
Silver$0.011
Gold / Platinum / Diamond$0.01

Approximate total cost (includes the $0.003 start fee):

Products collectedFreeBronzeSilverGold+
100$1.40$1.25$1.10$1.00
1,000$14.00$12.50$11.00$10.00
10,000$140.00$125.00$110.00$100.00

One product row carries every store's offer, so you pay once per product, not once per store. Offers and details cost nothing extra. New Apify accounts start with $5 in free credit. On the Free plan a run saves up to 10 products.

🚀 Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Buscapé & Zoom Price Scraper.
  3. Type a product (or keep the prefilled one), or paste links, set Maximum products, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python, and schedule it with Apify's built-in Scheduler.

🤖 Use with AI agents (MCP)

Give an AI agent live access to Brazilian prices through the Model Context Protocol:

claude mcp add --transport http apify "https://mcp.apify.com?tools=normdata/buscape-price-scraper"

Then prompt it in plain language to run the scraper and read back the results.

🔧 Troubleshooting

The log says "Buscapé asked to slow down". Buscapé limits how fast one connection can load pages. The run pauses about 45 seconds and carries on by itself; nothing is lost. It mostly happens on big runs with price history and specs turned on, since each product page is one more request.

Fewer products than the site's counter. The sites stop paging at about 10,000 results, and the same product can appear twice in results (it's kept once). Split a big search into narrower terms or categories.

Some rows have no offers list or details. Rows of type offer are a single store's listing, so they have one offer and no price history or spec sheet. Turn on "Only products compared across stores" to skip them.

A row has an error field. That product's offers or details didn't load; the row keeps the search card data (price, store, link).

Search finds nothing. Search in Portuguese, the way shoppers type it ("geladeira", not "refrigerator").

❓ FAQ

QuestionAnswer
Do I need a Buscapé account?No. Only public price data is read.
Does it need a proxy?No.
Are prices live?Yes, read fresh on every run. The 40-day history comes from the site's own price chart.
What's the difference between Buscapé and Zoom?Same company, largely the same stores and products. Pick the one your team uses; results are very close.
Is price cash or installment?price is the lowest cash price ("à vista"). The installment plan is in installmentMonths, installmentValue and installmentTotal.
Can I track exact products every day?Yes. Paste their product links and schedule the run daily.
Does it follow the "Ir à loja" link to the store?No. url on each offer is the site's own store link, which forwards to the store's product page when opened.
Can I schedule it?Yes, with Apify's built-in Scheduler.

🛡️ Limits & responsible use

This Actor reads only public price data from Buscapé and Zoom. It never signs in, never buys and never clicks store links. Use the data in line with the sites' terms and applicable law (LGPD).

📧 Contact

Need a scraper for a different site, or found something wrong with this one? norm.data.scrapers@gmail.com

🧪 Local development

bun install
bun run typecheck
bun test/qa.mjs
apify run

Local results are stored in storage/datasets/default.