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 →
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
categoryrequiredCategory 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.
brandsoptionalManufacturer 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 = falseoptionalOnly products KaBuM currently flags as on offer (ssd: 864 → 39 on 2026-09-23).
only_kabum = falseoptionalOnly KaBuM's own 1P stock, excluding marketplace sellers (ssd: 864 → 103).
only_prime = falseoptionalOnly products with a KaBuM Prime exclusive price.
only_free_shipping = falseoptionalOnly products KaBuM highlights as free shipping (ssd: 864 → 88).
only_open_box = falseoptionalOnly open-box (returned/repackaged) units.
attributesoptionalCategory-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_idrequiredThe numeric KaBuM product code (459144) or a kabum.com.br/produto/... URL. Every search row returns it.
include_specs = trueoptionalFetch 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/suggestfree

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
queryrequiredA 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.
brandsoptionalManufacturer 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 = falseoptionalOnly 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 →