Catalog and category discovery
Use Best Buy endpoints to turn catalog and category discovery into repeatable API requests with documented inputs and JSON responses.
Browse Best Buy's public catalog by category or keyword into paginated product listings, then enrich individual products with detail, price, availability, reviews, customer Q&A, and organic related products — all as normalized JSON. Credential-free.
Extract Best Buy category and search listings, product detail, reviews, customer questions, and related products as structured JSON.
Endpoint families
6
Documented params
22
Examples
11
Live catalog snapshot
Active endpoints
11
Methods
GET
Required params
20
Schema refs
11
{
"platform": "Best Buy",
"endpoint": "bestbuy-search",
"method": "GET",
"path": "/bestbuy/search",
"auth": "apiKey"
}Use cases
Extract Best Buy category and search listings, product detail, reviews, customer questions, and related products as structured JSON.
Use Best Buy endpoints to turn catalog and category discovery into repeatable API requests with documented inputs and JSON responses.
Use Best Buy endpoints to turn electronics price and availability monitoring into repeatable API requests with documented inputs and JSON responses.
Use Best Buy endpoints to turn review, q&a, and related-product analysis into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Best Buy endpoint catalog — 11 endpoints, 22 documented request parameters, and 11 published response schemas — the same catalog Docs and Playground run against.
11 documented Best Buy endpoints, grouped into 6 request families — Product, Categories and Category, plus 3 more.
22 request parameters are documented across those Best Buy endpoints, 20 of them required — the full input contract is public before you write any integration code.
11 of the 11 Best Buy endpoints ship a recorded example response, and 11 carry a documented response schema — you can code against the real JSON before the first request.
Best Buy endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
11 hosted MCP tools back the Best Buy endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/bestbuy/product
/bestbuy/categories
/bestbuy/category
/bestbuy/brands
/bestbuy/search
/bestbuy/stores
Endpoint catalog
/bestbuy/searchReturns one page (up to 24) of one Best Buy keyword search's normalized product listing (sku, title, url, image, price, rating, review count). q is free-text search keywords, e.g. "laptop". page is the optional 1-indexed page number (defaults to 1); requesting a page past the last one returns an empty products list, not an error.
Response notes
- `page` echoes the page actually returned. `total` is the search's own total result count across all pages; `count` is how many products this response actually carries (up to 24). - `price`, `rating`, and `review_count` are omitted (zero-valued) when the upstream did not carry that field for a given product; this happens occasionally and is not itself an error condition. - A query with no matches returns `404` on page 1. Requesting a `page` past the last real page returns a normal `200` with an empty `products` list, not an error. - `page` must be between `1` and `500`; anything outside that range returns `400`. Example response: ```json {"code":200,"msg":"OK","data":{"query":"laptop","page":1,"total":6286,"count":2,"source_url":"https://www.bestbuy.com/site/searchpage.jsp?st=laptop&intl=nosplash","fetched_at":"2026-08-15T10:00:00Z","products":[{"sku":"6673590","title":"ASUS - ROG Zephyrus G16 16\" OLED 3K Gaming Laptop","url":"https://www.bestbuy.com/product/asus-rog-zephyrus-g16/JJGHGSJZR6","image_url":"https://pisces.bbystatic.com/image2/BestBuy_US/images/products/6673590.jpg","price":4399.99,"rating":4.6,"review_count":28}]}} ```
MCP tool bestbuy_search
/bestbuy/categoryReturns one page (up to 24) of one Best Buy category's normalized product listing (sku, title, url, image, price, rating, review count). category_id is a Best Buy category id, e.g. pcmcat138500050001, found in a category page URL's trailing <id>.c?id=<id> segment. page is the optional 1-indexed page number (defaults to 1); requesting a page past the last one returns an empty products list, not an error.
Response notes
- `page` echoes the page actually returned. `total` is the category's own total result count across all pages (`numFound`); `count` is how many products this response actually carries (up to 24). - `price`, `rating`, and `review_count` are omitted (zero-valued) when the upstream did not carry that field for a given product; this happens occasionally and is not itself an error condition. - An unrecognized `category_id` returns `404` on page 1. Requesting a `page` past the last real page returns a normal `200` with an empty `products` list, not an error. - `page` must be between `1` and `500`; anything outside that range returns `400`. Example response: ```json {"code":200,"msg":"OK","data":{"category_id":"pcmcat138500050001","page":1,"total":6286,"count":2,"source_url":"https://www.bestbuy.com/site/x/x/pcmcat138500050001.c?id=pcmcat138500050001&intl=nosplash","fetched_at":"2026-08-15T10:00:00Z","products":[{"sku":"6673590","title":"ASUS - ROG Zephyrus G16 16\" OLED 3K Gaming Laptop","url":"https://www.bestbuy.com/product/asus-rog-zephyrus-g16/JJGHGSJZR6","image_url":"https://pisces.bbystatic.com/image2/BestBuy_US/images/products/6673590.jpg","price":4399.99,"rating":4.6,"review_count":28}]}} ```
MCP tool bestbuy_category
/bestbuy/productReturns one Best Buy product's normalized detail (name, brand, model, color, price, availability, rating, images, breadcrumbs), sourced from the product page's own schema.org Product structured-data block. sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs.
Response notes
- `condition` and `availability` are the bare schema.org value (e.g. `NewCondition`, `InStock`), with the `https://schema.org/` prefix stripped. - `breadcrumbs` reflects the product's category path; it is omitted when the page carries no breadcrumb data. - `description` and `images` are omitted when the upstream product page does not populate them. Example response: ```json {"code":200,"msg":"OK","data":{"source_url":"https://www.bestbuy.com/site/product/product/6673590.p?skuId=6673590&intl=nosplash","fetched_at":"2026-08-15T10:00:00Z","product":{"sku":"6673590","product_id":"JJGHGSJZR6","name":"ASUS - ROG Zephyrus G16 16\" OLED 3K Gaming Laptop- Intel Core Ultra 9 386H- 32GB Memory - GeForce RTX 5080 - 1TB Storage - Eclipse Gray","model":"GU606AW-ZP/G16_98","color":"Eclipse Gray","brand":"ASUS","description":"Powerful gaming laptop.","url":"https://www.bestbuy.com/product/asus-rog-zephyrus-g16/JJGHGSJZR6/sku/6673590","images":["https://pisces.bbystatic.com/image2/x.jpg"],"currency_code":"USD","price":4399.99,"condition":"NewCondition","availability":"InStock","rating":4.6,"review_count":28,"breadcrumbs":[{"name":"Computers & Tablets","url":"https://www.bestbuy.com/site/computers-pcs/all-computers-tablets/pcmcat138300050000.c"},{"name":"Laptops","url":"https://www.bestbuy.com/site/laptop-computers/all-laptops/pcmcat138500050001.c"}]}}} ```
MCP tool bestbuy_product
/bestbuy/product/reviewsReturns page 1 (up to 20) of one Best Buy product's normalized customer reviews (rating, title, text, author, posted date, tags such as Verified Purchaser, recommended flag, helpful/unhelpful counts), sourced from the product's dedicated reviews page. sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs.
Response notes
- `rating` and `review_count` reflect the product's overall aggregate rating, not any single review. - `posted` is the upstream's own relative time text (e.g. `Posted 3 days ago`); no absolute timestamp is available. - `tags` may include reviewer badges such as `Incentivized`, `Verified Purchaser`, `Owned for 2 weeks`, `Tech Insider Network Member`, or a contributor rank; it is omitted when a review carries none. - `recommended` is present only when the review explicitly states "I would recommend this to a friend"; it is omitted (not `false`) otherwise. - This endpoint does not support pagination beyond page 1 (up to 20 reviews). Example response: ```json {"code":200,"msg":"OK","data":{"sku":"6673590","rating":4.6,"review_count":28,"count":20,"source_url":"https://www.bestbuy.com/product/asus-rog-zephyrus-g16/JJGHGSJZR6/sku/6673590/reviews?intl=nosplash","fetched_at":"2026-08-15T10:00:00Z","reviews":[{"rating":5,"title":"High-end laptop","text":"If you have some extra cash to invest, I'd say it's totally worth it...","author":"nhim","posted":"Posted 3 days ago","tags":["Incentivized","Verified Purchaser","Owned for 2 weeks"],"recommended":true,"helpful":0,"unhelpful":0}]}} ```
MCP tool bestbuy_product_reviews
/bestbuy/product/questionsReturns the customer questions (with answers, when present) Best Buy embeds directly on a product's page: question text, answer text, who answered, and when. sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs. A product with no questions asked yet returns an empty list, not an error.
Response notes
- A product with no questions asked yet returns `count: 0` and an empty `questions` list -- this is a normal, valid state, not an error. - `answer` and `answered_by` are omitted when a question has not yet been answered. - `answered` is the upstream's own relative time text (e.g. `Answered 2 months ago`); no absolute timestamp is available. - This endpoint returns whatever Best Buy embeds inline on the product's own page (up to a handful of questions); it does not follow the page's own "See more questions" pagination. Example response: ```json {"code":200,"msg":"OK","data":{"sku":"6673590","count":2,"source_url":"https://www.bestbuy.com/site/x/x/6673590.p?skuId=6673590&intl=nosplash","fetched_at":"2026-08-15T10:00:00Z","questions":[{"question":"Is there an additional M.2 slot?","answer":"Yes, this laptop features an additional, empty M.2 2280 NVMe SSD slot for expansion.","answered_by":"ASUS Answers","answered":"Answered 2 months ago"},{"question":"When is it arriving?","answer":"Today 05/22/2026","answered_by":"BODFamoUS","answered":"Answered 2 months ago"}]}} ```
MCP tool bestbuy_product_questions
/bestbuy/product/relatedReturns the organic (non-sponsored) related products Best Buy embeds in a product page's own comparison table (sku, name, url, image, price). sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs. A product page with no comparison table returns an empty list, not an error.
Response notes
- A product page with no comparison table (confirmed live on Marketplace/refurbished listings) returns `count: 0` and an empty `products` list -- this is a normal, valid state, not an error. - Only the page's own organic "Compare similar products" table is returned. Two other sections that superficially look like related items -- "Related Item" and "Featured products" -- are paid ad placements (each explicitly labeled "Sponsored" on the live page) and are deliberately excluded. - `image_url` is omitted when the page's own image alt text does not exactly match the product's title (an exact-match anchor is used to avoid misattributing one product's image to another). Example response: ```json {"code":200,"msg":"OK","data":{"sku":"6673590","count":3,"source_url":"https://www.bestbuy.com/site/x/x/6673590.p?skuId=6673590&intl=nosplash","fetched_at":"2026-08-15T10:00:00Z","products":[{"sku":"6673586","name":"ASUS - ROG Zephyrus G16 16\" OLED 3K Gaming Laptop- Intel Core Ultra 9 386H 2026- 16GB Memory - GeForce RTX 5070Ti - 1TB Storage - Eclipse Gray","url":"https://www.bestbuy.com/product/asus-rog-zephyrus-g16-16-oled-3k-gaming-laptop-intel-core-ultra-9-386h-2026-16gb-memory-geforce-rtx-5070ti-1tb-storage-eclipse-gray/JJGHGSL6G8","image_url":"https://pisces.bbystatic.com/image2/BestBuy_US/images/products/...","currency_code":"USD","price":3399.99},{"sku":"6613960","name":"ASUS - ROG Zephyrus G16 16\" OLED 2.5K 240Hz Gaming Laptop - Intel Core Ultra 9 -32GB Memory - GeForce RTX 5080 - 2TB Storage - Eclipse Gray","url":"https://www.bestbuy.com/product/asus-rog-zephyrus-g16-16-oled-2-5k-240hz-gaming-laptop-intel-core-ultra-9-32gb-memory-geforce-rtx-5080-2tb-storage-eclipse-gray/JJGGLHJLTW","currency_code":"USD","price":2949.99},{"sku":"6613961","name":"ASUS - ROG Zephyrus G16 16\" 2.5K OLED 240Hz Gaming Laptop - Intel Core Ultra 9 285H - 16GB Memory - RTX 5070 - 1TB Storage - Eclipse Gray","currency_code":"USD","price":1849.99}]}} ```
MCP tool bestbuy_product_related
/bestbuy/brandsReturns Best Buy's full brand directory (name, category id, url), sourced from the site's own "Name Brands" page. Each id is directly usable as bestbuy_category's category_id input.
Response notes
- Each `id` is directly usable as [`bestbuy_category`](bestbuy-category.md)'s `category_id` input. - This is the full alphabetical brand directory (hundreds of brands), not the homepage nav's own smaller rotating featured-brand subset. Example response: ```json {"code":200,"msg":"OK","data":{"count":325,"source_url":"https://www.bestbuy.com/site/electronics/brands/pcmcat128500050004.c?id=pcmcat128500050004&intl=nosplash","fetched_at":"2026-08-15T10:00:00Z","brands":[{"id":"pcmcat128500050005","name":"Apple","url":"https://www.bestbuy.com/site/x/x/pcmcat128500050005.c?id=pcmcat128500050005&intl=nosplash"},{"id":"pcmcat140800050115","name":"Samsung","url":"https://www.bestbuy.com/site/x/x/pcmcat140800050115.c?id=pcmcat140800050115&intl=nosplash"},{"id":"pcmcat135300050050","name":"Microsoft","url":"https://www.bestbuy.com/site/x/x/pcmcat135300050050.c?id=pcmcat135300050050&intl=nosplash"}]}} ```
MCP tool bestbuy_brands
/bestbuy/categoriesReturns Best Buy's top-level shopping departments (name, category id, url), sourced from the homepage's own category carousel. Each id is directly usable as bestbuy_category's category_id input.
Response notes
- Each `id` is directly usable as [`bestbuy_category`](bestbuy-category.md)'s `category_id` input. - This is the homepage's own department carousel, not an exhaustive full category tree -- it does not include sub-categories or nested departments. Example response: ```json {"code":200,"msg":"OK","data":{"count":25,"source_url":"https://www.bestbuy.com/?intl=nosplash","fetched_at":"2026-08-15T10:00:00Z","categories":[{"id":"pcmcat1688758488330","name":"Apple","url":"https://www.bestbuy.com/site/x/x/pcmcat1688758488330.c?id=pcmcat1688758488330&intl=nosplash"},{"id":"pcmcat1690836748285","name":"TV & Home Theater","url":"https://www.bestbuy.com/site/x/x/pcmcat1690836748285.c?id=pcmcat1690836748285&intl=nosplash"},{"id":"pcmcat1632941704767","name":"Computers & Tablets","url":"https://www.bestbuy.com/site/x/x/pcmcat1632941704767.c?id=pcmcat1632941704767&intl=nosplash"}]}} ```
MCP tool bestbuy_categories
/bestbuy/categories/trendingReturns Best Buy's fine-grained, often deeply-nested product-type categories (e.g. "Windows Laptops", "55-Inch TVs (55 - 64 in)", "PS5 Consoles") sourced from the homepage's own "Best Selling" section -- much more specific than bestbuy_categories' ~25 top-level departments. Each id is directly usable as bestbuy_category's category_id input.
Response notes
- Each `id` is directly usable as [`bestbuy_category`](bestbuy-category.md)'s `category_id` input, the same as `bestbuy_categories` and `bestbuy_brands`. - This section renders noticeably slower than the rest of this family on the upstream page -- allow extra time for this endpoint specifically. Example response: ```json {"code":200,"msg":"OK","data":{"count":584,"source_url":"https://www.bestbuy.com/?intl=nosplash","fetched_at":"2026-08-15T10:00:00Z","categories":[{"id":"pcmcat247400050000","name":"Windows Laptops","url":"https://www.bestbuy.com/site/x/x/pcmcat247400050000.c?id=pcmcat247400050000&intl=nosplash"},{"id":"pcmcat1587395025973","name":"PS5 Consoles","url":"https://www.bestbuy.com/site/x/x/pcmcat1587395025973.c?id=pcmcat1587395025973&intl=nosplash"},{"id":"pcmcat1514910111435","name":"55-Inch TVs (55 - 64\")","url":"https://www.bestbuy.com/site/x/x/pcmcat1514910111435.c?id=pcmcat1514910111435&intl=nosplash"}]}} ```
MCP tool bestbuy_categories_trending
/bestbuy/category/subcategoriesReturns a Best Buy category's own sibling/child category set (name, category id, url), sourced from that category page's own "Category" filter facet. Each id is directly usable as bestbuy_category's category_id input. category_id is a Best Buy category id, e.g. pcmcat138500050001, found in a category page URL's trailing <id>.c?id=<id> segment. A leaf category with no siblings returns an empty list, not an error.
Response notes
- Each `id` is directly usable as [`bestbuy_category`](bestbuy-category.md)'s `category_id` input, the same as `bestbuy_categories`, `bestbuy_brands`, and `bestbuy_categories/trending`'s own ids. - A leaf category with no siblings (or a category page with no "Category" facet at all) returns an empty `subcategories` list, not an error. - The input `category_id` itself is never echoed back in the result, even if the upstream's own facet lists it alongside its siblings. Example response: ```json {"code":200,"msg":"OK","data":{"category_id":"pcmcat138500050001","count":12,"source_url":"https://www.bestbuy.com/site/x/x/pcmcat138500050001.c?id=pcmcat138500050001&intl=nosplash","fetched_at":"2026-08-16T10:00:00Z","subcategories":[{"id":"pcmcat309300050015","name":"2-in-1 Laptops","url":"https://www.bestbuy.com/site/x/x/pcmcat309300050015.c?id=pcmcat309300050015&intl=nosplash"},{"id":"pcmcat244900050010","name":"Chromebooks","url":"https://www.bestbuy.com/site/x/x/pcmcat244900050010.c?id=pcmcat244900050010&intl=nosplash"},{"id":"pcmcat287600050003","name":"Gaming Laptops","url":"https://www.bestbuy.com/site/x/x/pcmcat287600050003.c?id=pcmcat287600050003&intl=nosplash"}]}} ```
MCP tool bestbuy_category_subcategories
/bestbuy/storesReturns Best Buy's physical store locations in one city (name, address, phone, coordinates, rating, hours), sourced from Best Buy's own SEO store directory. state is one of the 50 US state codes plus dc and pr: `al`, `ak`, `az`, `ar`, `ca`, `co`, `ct`, `de`, `dc`, `fl`, `ga`, `hi`, `id`, `il`, `in`, `ia`, `ks`, `ky`, `la`, `me`, `md`, `ma`, `mi`, `mn`, `ms`, `mo`, `mt`, `ne`, `nv`, `nh`, `nj`, `nm`, `ny`, `nc`, `nd`, `oh`, `ok`, `or`, `pa`, `pr`, `ri`, `sc`, `sd`, `tn`, `tx`, `ut`, `vt`, `va`, `wa`, `wv`, `wi`, `wy`. city is free text matched case-insensitively against that state's own directory (e.g. "Chicago").
Response notes
- `count`/`stores` cover every store in the matched city -- one store for most cities, several for a dense metro (bounded at 20 stores per request). - `hours` maps a full day name (`Monday`..`Sunday`) to that day's opening range (e.g. `"10:00-21:00"`). - A `city` value with no match in that state's directory returns a 404, not an empty `stores` list. - `state` must be one of the enumerated codes above; any other value is a 400. Example response: ```json {"code":200,"msg":"OK","data":{"state":"il","city":"Chicago","count":3,"source_url":"https://stores.bestbuy.com/il/chicago.html","fetched_at":"2026-08-15T10:00:00Z","stores":[{"name":"Best Buy","address":"2100 N Elston Ave","city":"Chicago","state":"IL","postal_code":"60614","country":"US","phone":"(773) 486-0142","latitude":41.919002,"longitude":-87.66959,"rating":4.21,"review_count":3614,"hours":{"Monday":"10:00-21:00","Sunday":"10:00-20:00"},"url":"https://stores.bestbuy.com/il/chicago/2100-n-elston-ave-814.html"}]}} ```
MCP tool bestbuy_stores
Related APIs
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
Company coverage
Best Buy Co., Inc. · BBY
Best Buy is operated by Best Buy Co., Inc. (BBY). Crawlora's SEC endpoints take the same company's CIK, so filings, financials, insider transactions and 13F holdings come from the same API key as the Best Buy endpoints above.
SEC filings & financials API →How to scrape Best Buy
Best Buy's public catalog spans department categories and free-text search, each paginated. Crawlora returns the listing itself plus, for any product, its full detail, reviews, customer Q&A, and the organic products shown in its own comparison table.
Pass a Best Buy category id to /bestbuy/category, or free-text keywords to /bestbuy/search, both with an optional page.
Increment page to collect further pages of the same category or search listing (up to 24 products per page).
Pass a sku from a listing result to /bestbuy/product for name, brand, price, availability, rating, images, and breadcrumbs.
Use the same sku against /bestbuy/product/reviews, /bestbuy/product/questions, and /bestbuy/product/related for customer reviews, Q&A, and organic related products.
FAQ
Yes. Both /bestbuy/category and /bestbuy/search accept an optional page parameter (defaults to 1) and return up to 24 products per page.
Yes. Dedicated reviews, questions, and related endpoints return a product's customer reviews, customer-asked questions (with answers, when present), and the organic products shown in its own comparison table, all keyed by sku.
No. Crawlora is not affiliated with Best Buy and provides structured extraction for supported public Best Buy pages. Use Best Buy-owned products when you require an official account-scoped or licensed integration.
Not for general developers with open self-serve registration. Crawlora's Best Buy endpoints return category, search, product detail, reviews, questions, and related-product data as structured JSON with a single API key, no partner relationship required.