Get Best Buy data with one API
The Best Buy API returns Best Buy product data — prices, ratings and availability — as clean JSON.
15 active endpoints, on 1, 2 and 5 credit tiers.
- POST/bestbuy/v1/search
- POST/bestbuy/v1/product_detail
- POST/bestbuy/v1/products_batch
- POST/bestbuy/v1/reviews
- POST/bestbuy/v1/review_summary
- POST/bestbuy/v1/search_suggestions
- POST/bestbuy/v1/popular_terms
- +8 more
What Best Buy endpoints does ReefAPI ship?
15 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Best Buy API
2 of 15 endpoints, ready to run
Search Best Buy by keyword → a paginated, sortable, filterable list of products with name, br…
// 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 Best Buy API works
Best Buy 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 185 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.
Best Buy SKU, product-id code and UPC: which identifier goes where
Best Buy uses three different codes for the same product and the product URL contains two of them. Every action here takes the product number, but several also accept the URL code or the full link, and the UPC only ever comes back in a response. Measured on 2026-08-27 with live search, product_detail, products_batch, deals and price calls.
| Identifier | Shape (measured) | Example | Where it works |
|---|---|---|---|
| SKU / product number | 7 or 8 digits | 6397846, 13006703 | the sku parameter on every action; skus[] on products_batch |
| URL product-id code | 10 characters, uppercase letters and digits | JJGCQLKXL7 | the same sku parameter on product_detail, reviews, description, similar |
| Full product URL | /product/<slug>/<code>/sku/<sku> | www.bestbuy.com/product/apple-macbook-air-.../JJGCQLKXL7/sku/6397846 | the url parameter |
| UPC | 12 digits (UPC-A) | 195950690200 | returned by product_detail, products_batch, description; never an input |
| Promotion offer id | 6 digits | 871883 | returned inside price.offers[] and the gifts action |
An identifier the engine cannot classify is rejected before any upstream call: passing sku 'BADSKU1' returned error code MISSING_PARAM with the message 'could not recognise the product identifier'. A well-formed SKU that Best Buy does not resolve behaves differently in products_batch, where it comes back in not_found[] instead of being dropped: a three-SKU call with one fake number returned record_count 2 and not_found ['0000000'].
What people build with Best Buy
The jobs this data is most often used for.
endpoints
credits per call
Pricing teams call search and price to track Best Buy prices, deals and savings against competitors.
Catalog-enrichment tools use product_detail to fill product pages with specs, images and availability.
Review-analysis products pull reviews and review_summary to monitor sentiment and ratings for a SKU.
What Best Buy data costs
The cheapest call here is 1 credit, 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 185 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/bestbuy/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"laptop"}'import requests
r = requests.post(
"https://api.reefapi.com/bestbuy/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "laptop"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Best Buy.
Get a free key →Is a Best Buy SKU always 7 digits?▾
No. Seven digits is the common case, but eight-digit SKUs exist and the engine accepts both. A deals call on 2026-08-27 returned 4833200 and 4833900 alongside 13006703 and 13006654 in the same result set. Store SKUs as strings and do not validate on length, or you will drop the eight-digit ones.
What is the difference between price.current, price.regular, savings and pricing_type?▾
current is what you pay today, regular is the reference price, and savings plus savings_pct are the difference between them. A price call for SKU 6565837 on 2026-08-27 returned current 509.99, regular 849.00, savings 339.01, savings_pct 39 and pricing_type 'clearance'. When there is no discount, current and regular are equal and both savings and savings_pct come back null rather than 0, so test for null before doing arithmetic.
How do I tell that a Best Buy product is out of stock?▾
Read availability.in_stock together with button_state. The same 6565837 lookup returned in_stock false with button_state 'SOLD_OUT' and button_text 'Sold Out', while an in-stock MacBook Air returned in_stock true with button_state 'ADD_TO_CART'. A price is still returned for a sold-out product, so a non-null price is not evidence of availability.
Why is availability null on product_detail when search returns it?▾
The two actions read different Best Buy surfaces. product_detail reads the catalog surface, which publishes identifiers, specifications, weight, dimensions and images but not stock. A measured call for SKU 6397846 returned upc, weight '2.7 pounds', spec_count 47 and dimensions, with availability, variants, customers_say, category_path and product_type all null. Use search or price for stock, and review_summary for the customers_say pros and cons.
Where do the UPC, shipping weight and package dimensions come from?▾
From product_detail, products_batch and description. Weight arrives twice: weight as Best Buy prints it ('2.7 pounds', '3.99 pounds') and weight_value plus weight_unit as a number and a unit token such as POUND. dimensions is an object keyed 'Product Height', 'Product Width' and 'Product Depth', each a string with its unit. spec_count tells you how deep the spec list goes, measured at 47 for a MacBook Air and 98 for a Dell laptop.
How many Best Buy products can I enrich in one call?▾
products_batch takes up to 15 SKUs per request and resolves them in a single upstream call, which is why it is the cheap way to enrich a price list. Anything Best Buy does not recognize comes back in not_found[] with the rest of the products still returned, so one bad SKU never costs you the whole batch.
How deep can Best Buy search go?▾
search and deals cap at 240 products per call, spanning ten pages of 24. The ceiling is an upper bound rather than a promise, because Best Buy repeats a few products across deep pages and duplicates are dropped. To go past 240, set page: a call with page=11 starts where a 240-result call ended.
What does the Best Buy rating breakdown contain?▾
review_summary returns average_rating, total_reviews, verified_purchase_count and a rating_breakdown keyed '5' through '1', each with a count and a percent. A measured call for SKU 6397846 returned average_rating 4.93 over 1233 reviews with 1215 verified purchases and a 5-star bucket of 1166 reviews at 94 percent. customers_say arrives here too, as pros and cons with their own counts, for example 'Overall Performance' mentioned by 545 reviewers.
What is the Best Buy API?▾
Best Buy API is a ReefAPI endpoint group for electronics products, prices and availability. It returns live JSON through POST requests under /bestbuy/v1.
Is the Best Buy API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. Best Buy calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Best Buy login or account?▾
No login to Best Buy 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 Best Buy 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 Best Buy API use?▾
Best Buy actions currently cost 1-5 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Best Buy from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call bestbuy actions with the same key, credit pool and JSON envelope used by normal REST requests.
37 E-commerce & Marketplaces APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Best Buy, you are one call away from the rest of the category — no second contract, no second integration.
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 184 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.