Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the KaBuM! API page →
E-commerce & Marketplaces

KaBuM! API & Scraper

The KaBuM! API turns kabum.com.br, Brazil's biggest PC hardware and electronics retailer and marketplace, into clean JSON in seven actions.

7 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 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.

search takes a Portuguese keyword and returns rows with product_id, title, url, brand, category_path, price_brl, cash_price_brl, installments, stock, rating_count and the seller when a third party ships it; category walks a whole department by its URL path; product returns one product in full, with the exact PIX price, every payment plan KaBuM offers (PIX, boleto, NuPay and the credit card ladder from 1x to 12x with the real amount per plan), live stock, the order limit, the unrounded rating, warranty, weight, the spec sheet parsed into named sections, and the marketplace seller with its company name, CNPJ and state; products asks for up to 20 products in ONE call, which is how a catalogue is re-priced every morning; suggest returns KaBuM's own search-box suggestions; deals reads a running campaign; featured reads KaBuM's highlighted and newly released products. Brazilian shops quote two prices side by side and this API keeps them apart: price_brl is the card and instalment reference, cash_price_brl is the à vista PIX or boleto price the storefront headlines, and when a campaign is running the pre campaign price stays in list_price_brl with the campaign's own name, end time and remaining units in campaign. That distinction was verified against an independent read of the source on 15 of 15 products, 10 of them on campaign. Filters bite and the numbers are published: on ssd, 864 results unfiltered, 106 for Kingston, 132 for Kingston plus Samsung, 128 within 100 to 300 BRL, 39 on offer, 103 sold by KaBuM itself and 88 with free shipping. Prices are BRL as numbers. No KaBuM account needed - one ReefAPI key and the standard { ok, data, meta, error } envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/kabum/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "ssd nvme"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "kabum",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1183.1,
    "record_count": 20,
    "bytes": 123741,
    "cache_hit": false,
    "stop_reason": "limit_reached",
    "total_results": 1631,
    "charged_credits": 2,
    "version": "1.0.0"
  },
  "data": {
    "products": [
      {
        "product_id": 1027061,
        "title": "Duplicador Clone De 4 Baias Ss Nvme M.2 Usb-c 4.0 40gbp",
        "url": "https://www.kabum.com.br/produto/1027061/duplicador-clone-de-4-baias-ss-nvme-m-2-usb-c-4-0-40gbp",
        "brand": "Orico",
        "category_path": "Hardware/SSD/Acessórios",
        "currency": "BRL",
        "price_brl": 1898.9,
        "cash_price_brl": 1898.9,
        "list_price_brl": null,
        "old_price_brl": null,
        "discount_percent": null,
        "campaign": null,
        "installments": {
          "count": 10,
          "amount_brl": 189.89,
          "text": "10x de R$ 189,89"
        },
        "in_stock": true,
        "stock": 2,
        "rating_rounded": null,
        "rating_count": null,
        "sold_by_kabum": false,
        "seller": {
          "seller_id": 7947,
          "name": "ALEXSANDROKIVENDAS",
          "company": "ALEXSANDRO LEMOS DE ALMEIDA IMPORTACAO E EXPORTACAO LIMITADA",
          "cnpj": "48.724.610/0001-64",
          "state": "SP",
          "seller_price_brl": 1898.9,
          "seller_product_id": 3059190
        },
        "free_shipping": false,
        "is_prime_exclusive": false,
        "is_open_box": false,
        "is_pre_order": false,
        "on_offer": false,
        "image": "https://images.kabum.com.br/produtos/fotos/sync_mirakl/1027061/xlarge/Duplicador-Clone-De-4-Baias-Ss-Nvme-M-2-Usb-c-4-0-40gbp_1775479114.jpg"
      },
      {
        "product_id": 761370,
        "title": "Dock Station Estação Clone Tipo-c 02 SSD M2 Mvme - Maiwo",
        "url": "https://www.kabum.com.br/produto/761370/dock-station-estacao-clone-tipo-c-02-ssd-m2-mvme-maiwo",
        "brand": "Outros",
        "category_path": "Hardware/Disco Rígido (HD)/Acessórios",
        "currency": "BRL",
        "price_brl": 890,
        "cash_price_brl": 890,
        "list_price_brl": null,
        "old_price_brl": null,
        "discount_percent": null,
        "campaign": null,
        "installments": {
          "count": 10,
          "amount_brl": 89,
          "text": "10x de R$ 89,00"
        },
        "in_stock": true,
        "stock": 14,
        "rating_rounded": null,
        "rating_count": null,
        "sold_by_kabum": false,
        "seller": {
          "seller_id": 7947,
          "name": "ALEXSANDROKIVENDAS",
          "company": "ALEXSANDRO LEMOS DE ALMEIDA IMPORTACAO E EXPORTACAO LIMITADA",
          "cnpj": "48.724.610/0001-64",
          "state": "SP",
          "seller_price_brl": 890,
          "seller_product_id": 2260757
        },
        "free_shipping": false,
        "is_prime_exclusive": false,
        "is_open_box": false,
        "is_pre_order": false,
        "on_offer": false,
        "image": "https://images.kabum.com.br/produtos/fotos/sync_mirakl/761370/xlarge/Dock-Station-Esta-o-Clone-Tipo-c-02-SSD-M2-Mvme-Maiwo_1744204243.jpg"
      },
      {
        "product_id": 696017,
        "title": "Case/gaveta Ugreen Para SSD Mvme Sata Com Usb-c 10gbps Prata - Cm767",
        "url": "https://www.kabum.com.br/produto/696017/case-gaveta-ugreen-para-ssd-mvme-sata-com-usb-c-10gbps-prata-cm767",
        "brand": "Ugreen",
        "category_path": "Hardware/SSD/Acessórios",
        "currency": "BRL",
        "price_brl": 144.28,
        "cash_price_brl": 144.28,
        "list_price_brl": null,
        "old_price_brl": null,
        "discount_percent": null,
        "campaign": null,
        "installments": {
          "count": 5,
          "amount_brl": 28.85,
          "text": "5x de R$ 28,85"
        },
        "in_stock": true,
        "stock": 32,
        "rating_rounded": 5,
        "rating_count": 2,
        "sold_by_kabum": false,
        "seller": {
          "seller_id": 3111,
          "name": "BFTECH",
          "company": "BFTECH EQUIPAMENTOS LTDA",
          "cnpj": "28.490.866/0001-47",
          "state": "SC",
          "seller_price_brl": 144.28,
          "seller_product_id": 3004941
        },
        "free_shipping": true,
        "is_prime_exclusive": false,
        "is_open_box": false,
        "is_pre_order": false,
        "on_offer": false,
        "image": "https://images.kabum.com.br/produtos/fotos/sync_mirakl/696017/xlarge/Case-gaveta-Ugreen-Para-SSD-Mvme-Sata-Com-Usb-c-10gbps-Prata-Cm767_1788891818.jpg"
      }
    ],
    "total_results": 1631,
    "total_pages": 82,
    "page": 1,
    "limit": 20,
    "sort": "relevance",
    "facets": {
      "brands": [
        "3GREEN",
        "Acer",
        "Adata"
      ],
      "categories": [
        "Computadores",
        "Games",
        "Hardware"
      ],
      "attributes": [
        {
          "name": "Comunicação sem fio",
          "label": "Comunicação sem fio",
          "values": [
            "[trimmed-depth]"
          ]
        },
        {
          "name": "Processador",
          "label": "Processador",
          "values": [
            "[trimmed-depth]",
            "[trimmed-depth]",
            "[trimmed-depth]"
          ]
        },
        {
          "name": "Memória RAM",
          "label": "Memória RAM",
          "values": [
            "[trimmed-depth]",
            "[trimmed-depth]",
            "[trimmed-depth]"
          ]
        }
      ],
      "flags": [
        {
          "name": "has_flash",
          "label": "Entrega Flash"
        },
        {
          "name": "has_offer",
          "label": "Oferta"
        },
        {
          "name": "has_open_box",
          "label": "Openbox"
        }
      ],
      "price_range": {
        "min": 23.88,
        "max": 57679.9
      }
    },
    "query": "ssd nvme"
  }
}
Actions

What the KaBuM! API does

ActionDescriptionConcrete use caseKey params
searchSearch KaBuM! by keyword. Every row carries BOTH Brazilian prices — `price_brl` (the instalment/card reference) and `cash_price_brl` (the à-vista PIX/boleto price) — plus stock, the instalment plan, whether KaBuM or a marketplace seller ships it, and the `product_id` every other action takes. `facets` in the response lists the brands and category facets this query accepts, so the next call can filter without guessing.Pricing teams call search to search KaBuM! by keyword.query, brands, price_min, price_max, only_offers, ...
categoryWalk one KaBuM! category without a keyword — the way to build a price database for a whole department. Takes the category's URL path (`hardware/placa-de-video-vga`), supports the same filters and sorts as `search`, and returns the source's own breadcrumb so you know exactly which shelf you are reading.Marketplace operators call category to get walk one KaBuM! category without a keyword.category, brands, price_min, price_max, only_offers, ...
productOne product in full: both prices, the exact PIX price and EVERY instalment plan KaBuM offers (boleto, PIX, credit card 1-12x, NuPay) with the real amount per plan, live stock, the unrounded rating, the marketplace seller with its company name and CNPJ when it is not KaBuM's own stock, the spec sheet parsed into sections, warranty, weight and the Anatel/Inmetro codes. Two upstream calls are merged into this one answer.Catalog enrichment teams call product to get one product in full.product_id, include_specs
productsUp to 20 products in ONE upstream call: both prices, the instalment plan, stock, rating and seller for each. This is how a catalogue of thousands is re-priced every morning without spending a call per product. Ids KaBuM no longer serves are simply absent and listed in `missing`.Retail analysts call products to get up to 20 products in ONE upstream call.product_ids
suggestWhat KaBuM's own search box suggests for a prefix — the phrases Brazilian shoppers actually type, straight from the site's autocomplete. ~200 bytes a call, so it is the cheap way to expand a keyword list before searching.Pricing teams call suggest to get what KaBuM's own search box suggests for a prefix.query
dealsThe products inside one of KaBuM's running campaigns (its 'promoção' pages). Same rows as `search`, with the campaign's own title. KaBuM publishes no campaign index, so the slugs that answered when this engine was built are listed on the parameter.Marketplace operators call deals to get the products inside one of KaBuM's running campaigns (its 'promoção' pages).campaign, page, limit, brands, price_min, ...
featuredKaBuM's own curated front-page lists: `highlights` (what it is pushing right now) and `releases` (what has just arrived). Same rows as `search`. Useful for catching new SKUs and price moves without knowing a keyword.Catalog enrichment teams call featured to get kaBuM's own curated front-page lists.list, page, limit, brands, price_min, ...
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/kabum/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"ssd nvme"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.kabum.search with {"query":"ssd nvme"}.
Use cases

Who uses this API and why

  • 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.
FAQ

Questions developers ask before integrating

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.

docs / kabum

KaBuM!

Brazilian PC hardware prices: the PIX cash price and the instalment price kept apart, stock, specs and marketplace sellers.

base /kabum/v17 endpoints
post/kabum/v1/category2 credits

Walk one KaBuM! category without a keyword — the way to build a price database for a whole department. Takes the category's URL path (`hardware/placa-de-video-vga`), supports the same filters and sorts as `search`, and returns the source's own breadcrumb so you know exactly which shelf you are reading.

ParameterAllowed / rangeDescription
categoryrequired—Category path as it appears in a kabum.com.br URL: 'hardware', 'hardware/placa-de-video-vga' or 'hardware/placa-de-video-vga/placa-de-video-amd'. A full kabum.com.br category URL is accepted too. Read a product's `category_slugs` to discover valid paths.
brandsoptional—Manufacturer names, exactly as `facets.brands` in a previous response spells them ('Kingston', 'ASUS', 'Gigabyte'). Several are OR-ed. A name KaBuM does not know returns zero results, not an error.
price_minoptional0–Minimum price in BRL (reais, not cents).
price_maxoptional0–Maximum price in BRL (reais, not cents).
only_offers = falseoptional—Only products KaBuM currently flags as on offer (ssd: 864 → 39 on 2026-09-23).
only_kabum = falseoptional—Only KaBuM's own 1P stock, excluding marketplace sellers (ssd: 864 → 103).
only_prime = falseoptional—Only products with a KaBuM Prime exclusive price.
only_free_shipping = falseoptional—Only products KaBuM highlights as free shipping (ssd: 864 → 88).
only_open_box = falseoptional—Only open-box (returned/repackaged) units.
attributesoptional—Category-specific facets, as `{facet name: [values]}` taken verbatim from `facets.attributes` of a previous response — e.g. {"Memória": ["8 GB"]} on graphics cards (447 → 79).
sort = relevanceoptionalrelevance · most_searched · price_asc · price_desc · offers · newest · most_rated · brandResult order. KaBuM silently ignores an order it does not know (an unknown value returns its default order with no error), so only the seven it actually applies are accepted here.
page = 1optional1–1-based page number. `total_results` and `total_pages` in the response tell you how far you can go.
limit = 20optional1–120Rows per page (1-120). The source serves at most 120 however many you ask for.
Try in playground →
post/kabum/v1/product1 credit

One product in full: both prices, the exact PIX price and EVERY instalment plan KaBuM offers (boleto, PIX, credit card 1-12x, NuPay) with the real amount per plan, live stock, the unrounded rating, the marketplace seller with its company name and CNPJ when it is not KaBuM's own stock, the spec sheet parsed into sections, warranty, weight and the Anatel/Inmetro codes. Two upstream calls are merged into this one answer.

ParameterAllowed / rangeDescription
product_idrequired—The numeric KaBuM product code (459144) or a kabum.com.br/produto/... URL. Every search row returns it.
include_specs = trueoptional—Fetch the spec sheet, the unrounded rating and the regulatory codes (one extra upstream call, ~12 KB). Turn it off for a price-only read.
Try in playground →
post/kabum/v1/products1 credit

Up to 20 products in ONE upstream call: both prices, the instalment plan, stock, rating and seller for each. This is how a catalogue of thousands is re-priced every morning without spending a call per product. Ids KaBuM no longer serves are simply absent and listed in `missing`.

ParameterAllowed / rangeDescription
product_idsrequired–20Up to 20 KaBuM product codes or product URLs. Accepts a JSON array or a comma-separated string. The source returns at most 20 rows per call and silently drops the rest, so more than that is rejected here instead.
Try in playground →
post/kabum/v1/suggest1 credit

What KaBuM's own search box suggests for a prefix — the phrases Brazilian shoppers actually type, straight from the site's autocomplete. ~200 bytes a call, so it is the cheap way to expand a keyword list before searching.

ParameterAllowed / rangeDescription
queryrequired—A partial search phrase, at least 2 characters. KaBuM rejects a single character.
Try in playground →
post/kabum/v1/deals3 credits

The products inside one of KaBuM's running campaigns (its 'promoção' pages). Same rows as `search`, with the campaign's own title. KaBuM publishes no campaign index, so the slugs that answered when this engine was built are listed on the parameter.

ParameterAllowed / rangeDescription
campaign = HARDWAREKABUMoptionalHARDWAREKABUM · COMPUTADORKABUM · perifericoskabum · MUNDOGAMER · ESPACOGAMERWhich campaign to read. An unknown slug returns NOT_FOUND — KaBuM publishes no campaign index, so these are the ones verified live.
brandsoptional—Manufacturer names, exactly as `facets.brands` in a previous response spells them ('Kingston', 'ASUS', 'Gigabyte'). Several are OR-ed. A name KaBuM does not know returns zero results, not an error.
price_minoptional0–Minimum price in BRL (reais, not cents).
price_maxoptional0–Maximum price in BRL (reais, not cents).
only_kabum = falseoptional—Only KaBuM's own 1P stock, excluding marketplace sellers (ssd: 864 → 103).
sort = relevanceoptionalrelevance · most_searched · price_asc · price_desc · offers · newest · most_rated · brandResult order. KaBuM silently ignores an order it does not know (an unknown value returns its default order with no error), so only the seven it actually applies are accepted here.
page = 1optional1–1-based page number. `total_results` and `total_pages` in the response tell you how far you can go.
limit = 20optional1–120Rows per page (1-120). The source serves at most 120 however many you ask for.
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.