Brazilian hardware prices as JSON, with the PIX price and the instalment price kept apart
The KaBuM! API turns kabum.com.br, Brazil's biggest PC hardware and electronics retailer and marketplace, into clean JSON in seven actions.
7 active endpoints, on 0, 1, 2 and 3 credit tiers.
- POST/kabum/v1/search
- POST/kabum/v1/category
- POST/kabum/v1/product
- POST/kabum/v1/products
- POST/kabum/v1/suggest
- POST/kabum/v1/deals
- POST/kabum/v1/featured
What KaBuM! endpoints does ReefAPI ship?
7 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
KaBuM! API
4 of 7 endpoints, ready to run
KaBuM! products for a Portuguese keyword: both prices, the instalment plan, stock, brand, category path, rating count, free shipping and, when a third party ships it, the seller. The response also lists the brands, price range and attribute facets this query accepts.
// Press "Try it" and this pane shows exactly what the // live site returned this second — including an empty // result, if that is the truth. No key, no account.
How the KaBuM! API works
KaBuM! is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 280 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Track Brazilian hardware prices without mixing the PIX price into the instalment price
A KaBuM listing shows two prices and, during a campaign, a third one that is struck through. A tracker that stores one number gets at least one of them wrong. Three calls keep them apart and re-price the whole basket for one credit a day.
{"category": "hardware/placa-de-video-vga", "only_kabum": true}The department, KaBuM's own stock only, up to 120 rows a page with product_id, price_brl, cash_price_brl, installments, stock and the campaign block. Store product_id once; every other action takes it.
{"product_id": "459144"}The full record: 2,823.52 BRL on a card, 2,399.99 à vista on PIX, 10x de R$ 282,35, 4,401 in stock, rating 4.9 from 166 ratings, and the spec sheet in named sections.
{"product_ids": [459144, 1027061]}Twenty of those ids in one call every morning, each with both current prices and stock. missing lists the ids KaBuM no longer carries, so discontinued products leave your catalogue instead of freezing.
One row per product per day with the cash price, the instalment price and the campaign that produced them, and a catalogue that retires dead ids by itself.
curl -X POST https://api.reefapi.com/kabum/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{}'{
"ok": true,
"data": { … },
"meta": {
"api": "kabum",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}Which price is which, who is selling, and what KaBuM does not publish
kabum.com.br only - one country, one currency. Measured on 2026-09-23 across 112 live calls: 12 searches, 10 categories, 30 products, 5 batch calls, 16 controlled negative cases and an independent comparison against the source's own published price. Four of these lines go against us.
price_brl is the card and instalment reference, cash_price_brl is the à vista PIX or boleto price the storefront headlines, and pix_price_brl on a full product record is the exact PIX total. On the ASRock RX 7600 that is 2,823.52 / 2,399.99 / 2,399.99 with an instalment plan of 10x de R$ 282,35. They are equal on some products and far apart on others, so both always ship.
When KaBuM runs a campaign, price_brl and cash_price_brl are the campaign prices, list_price_brl holds the pre campaign reference, and campaign carries the campaign name, its start and end timestamps and the units still available. Verified against an independent read of the source on 15 of 15 products, 10 of them on campaign.
product returns payment_options for PIX, boleto, NuPay and the credit card ladder, each plan with its number of instalments, the amount per instalment, the total, whether it is interest free and the discount percent. A 10x plan and a 1x cash discount are different rows, not one blended number.
sold_by_kabum is on every row. A marketplace row carries seller with the seller id, shop name, the company's registered name, its CNPJ and its state - the identity Brazilian marketplaces publish on the listing. only_kabum narrows a search to KaBuM's own stock: 864 results for ssd became 103.
ssd on 2026-09-23: 864 unfiltered, 106 for Kingston, 132 for Kingston and Samsung, 128 between 100 and 300 BRL, 39 on offer, 103 sold by KaBuM, 88 free shipping, 0 for a brand KaBuM does not carry. Graphics cards: 447 unfiltered, 29 for ASUS, 79 with the 8 GB memory facet. Every response carries a facets block with the exact values that query accepts.
Each search row's id, title and both prices were checked against the full product record for 12 products: all four agreed on 12 of 12, and the product id is an integer on both sides, so nothing silently re-keys.
KaBuM publishes an aggregate rating and a review count to a visitor and no review text, so rating and rating_count come back and reviews do not. Its listing pages also round the rating to a whole star, which is why a listing row carries rating_rounded and only product returns the exact figure - 4.9 where a listing says 5.
32 of 245 sampled search and category rows carried a rating at all. On KaBuM's own hardware categories it was 19 of 20; on a keyword search dominated by marketplace listings it was 2 of 20. rating_count is null rather than zero-filled when KaBuM publishes nothing.
KaBuM does not publish a price history or a sold history, so this API returns the current price and nothing behind it. Freight is quoted from a cart, which this API does not build, so there is no shipping cost either.
KaBuM has no category index, so category takes the path from a kabum.com.br URL or from a product's category_slugs, which every product record returns. It has no campaign index either, so deals offers the five campaign slugs verified live and returns NOT_FOUND for anything else.
What people build with KaBuM!
The jobs this data is most often used for.
endpoints
credits per call
Brazilian price trackers store the PIX cash price and the instalment price as separate series, so a 10x plan never overwrites the à vista number.
Hardware brands and distributors watch KaBuM campaigns with deals and the campaign block, which carries the campaign name, its end time and the units still available.
Marketplace sellers reprice against KaBuM with products, up to 20 product ids in one call, and read sold_by_kabum to tell KaBuM's own stock from a third party's.
PC part database builders walk hardware categories with category and pull specifications, warranty, weight and compatibility fields from product.
What KaBuM! data costs
The cheapest call here is 0 credits, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 280 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/kabum/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{}'import requests
r = requests.post(
"https://api.reefapi.com/kabum/v1/search",
headers={"x-api-key": REEF_KEY},
json={},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up KaBuM!.
Get a free key →Why are there two prices on every KaBuM product?▾
Because Brazilian shops quote two. price_brl is the reference KaBuM charges on a card and divides into instalments; cash_price_brl is the à vista price for PIX or boleto, which is the big number the storefront shows and is usually lower. On the ASRock RX 7600 the card reference is 2,823.52 BRL, the cash price 2,399.99, and the instalment plan 10x de R$ 282,35 - all three in their own fields. product also returns pix_price_brl and the full payment_options list if you want the exact number per method.
What happens to the price when KaBuM runs a campaign?▾
The campaign price is what you get. price_brl and cash_price_brl are the prices actually being charged, list_price_brl holds the pre campaign reference, and campaign carries the campaign's id, name, start and end timestamps and the units still available. This was checked against an independent read of the source on 15 products, 10 of them on campaign: the cash price matched on 15 of 15.
Does the API include products sold by other sellers, not by KaBuM?▾
Yes, and it says which is which. sold_by_kabum is a boolean on every row, and a marketplace row carries seller with the seller id, the shop name, the company's registered name, its CNPJ and its state. Set only_kabum to true to see KaBuM's own stock alone - on a search for ssd that narrows 864 results to 103. Keyword search leans heavily third party: none of the first 20 rows for ssd nvme were KaBuM's own, while a hardware category page was 19 of 20 KaBuM stock.
Do the filters and sorts really apply?▾
Yes, and only the ones KaBuM applies are offered. Measured on a search for ssd on 2026-09-23: 864 results unfiltered, 106 with brands Kingston, 132 with Kingston and Samsung, 128 between 100 and 300 BRL, 39 on offer, 103 sold by KaBuM, 88 with free shipping, and 0 for a brand KaBuM does not carry. On the graphics card category, 447 unfiltered, 29 for ASUS and 79 with the 8 GB memory facet. Seven sorts are offered - relevance, most_searched, price_asc, price_desc, offers, newest, most_rated and brand - and each returns a different first row. KaBuM silently ignores a sort it does not know, so an unknown value is rejected here instead of being pretended.
How do I filter by a category specific attribute such as memory size?▾
Every search and category response carries a facets block listing the brands, the categories, the price range and the attribute facets that this particular query accepts, with their exact spelling. Pass them straight back in attributes, for example {"Memória": ["8 GB"]} on graphics cards, which took that category from 447 products to 79. You never have to guess a facet name.
Can I get customer reviews?▾
No. KaBuM publishes an aggregate rating and a review count to a visitor and nothing more, so rating, rating_rounded and rating_count come back and review texts do not. Note that KaBuM's listing pages round the rating to a whole star while the product page does not, so listing rows carry rating_rounded and only product returns the exact rating - 4.9 where a listing row says 5.
How do I re-price a few thousand products without a call per product?▾
products takes up to 20 product ids or product URLs in one call and returns both prices, the instalment plan, stock, rating and seller for each, plus requested, returned and the ids that came back missing so discontinued products leave your catalogue instead of freezing at their last price. Twenty is KaBuM's own ceiling; a longer list is rejected rather than silently trimmed, because KaBuM drops the extras without saying so.
What does KaBuM NOT publish?▾
No price history, no sold history, no shipping cost without a cart, no review texts and no stock split by warehouse - stock is one nationwide integer. There is also no category index and no campaign index: category paths come from a product's category_slugs or from a kabum.com.br URL, and the campaign parameter offers the five slugs verified live. Prices are BRL for the single Brazilian storefront; there is no other country behind it.
What is the KaBuM! API?▾
KaBuM! API is a ReefAPI endpoint group for brazilian pc hardware prices: the pix cash price and the instalment price kept apart, stock, specs and marketplace sellers. It returns live JSON through POST requests under /kabum/v1.
Is the KaBuM! API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. KaBuM! calls use the same shared credit balance as every other ReefAPI engine.
Do I need a KaBuM! login or account?▾
No login to KaBuM! 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 KaBuM! 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 KaBuM! API use?▾
KaBuM! 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 KaBuM! from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call kabum actions with the same key, credit pool and JSON envelope used by normal REST requests.
116 E-commerce & Marketplaces APIs on the same key
One key, one credit pool, one response envelope. If you are pulling KaBuM!, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 279 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-09-23.