Best Buy Product Scraper avatar

Best Buy Product Scraper

Under maintenance

Pricing

from $0.70 / 1,000 results

Go to Apify Store
Best Buy Product Scraper

Best Buy Product Scraper

Under maintenance

Extract Best Buy products, prices, ratings, reviews, brands, images, availability and product details. Search by keyword or fetch products by SKU, with batch support and clean structured output.

Pricing

from $0.70 / 1,000 results

Rating

0.0

(0)

Developer

MrDoe

MrDoe

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Website Preview

What does Best Buy Product Scraper do?

Best Buy Product Scraper extracts product data from BestBuy.com - keyword search results and full product detail pages - anonymously, no login, no Best Buy account, no API key. Two operations live in one actor: search for products by keyword, or look up full detail for one or many SKUs.

Why use this Actor?

  • Price tracking - schedule productDetails on a cron and diff consecutive runs to catch price drops and restocks.
  • Market research / assortment mapping - search gives you ranked results for any keyword, with price, rating, review count, and sponsored-listing badges.
  • Batch, one start fee - pass a list of keywords or SKUs and one run covers all of them.

How to use it

  1. Pick an Operation: Product Search or Product Details.
  2. Fill the matching field:
    • Searchquery (e.g. coffee maker) or queries for a batch.
    • Product Detailssku (e.g. 6570530) or a full product URL, or skus for a batch.
  3. Optionally set maxItems to cap total rows.
  4. Click Start.

There is no page cap on search by default - it follows a query through to Best Buy's own last reported page. Batch a lot of keywords and this can produce a very large run; use maxItems to bound it.

Batch fields (queries/skus) win over their singular counterparts when filled; duplicates and blanks are dropped automatically.

Input

FieldTypeDescription
operationstring (required)One of: search, productDetails.
query / queriesstring / arraySearch keyword(s). Required by search.
sku / skusstring / arrayA Best Buy SKU (e.g. 6570530) or a full product URL. Used by productDetails.
maxItemsintegerCaps total rows returned across the run. First 10 rows are free. Leave blank for no cap.
proxyConfigurationobjectA residential US proxy is strongly recommended - see Why a real browser? below.

Why a real browser?

Live-verified (2026-08-25): a plain, cookie-less HTTP request (curl, got-scraping) to any bestbuy.com URL hangs indefinitely - Akamai completes the TLS handshake and then never answers, a client-fingerprint-level block with no response to parse around. A real browser is required.

More surprising: plain headless Chromium works for search but not for product pages - the same client that successfully renders /site/searchpage.jsp gets net::ERR_HTTP2_PROTOCOL_ERROR on every attempt at a /product/.../sku/{id} page, live-verified across three retries and two navigation methods (direct URL, in-page link click). Camoufox (a fingerprint-patched Firefox, driven through Playwright's Firefox launcher) gets through both reliably, so this Actor standardizes on it for every request rather than mixing browser engines.

A residential US proxy is the default - Best Buy geo-redirects non-US traffic to a "Choose your country" splash page. This Actor also appends intl=nosplash to every request (the same bypass the site's own "Continue to the US site" link uses) as a second layer of defense against that redirect.

Output

One flat row per item. Search rows carry search-result fields; product-detail rows carry the full page (parsed from Best Buy's own embedded schema.org Product JSON-LD - live-verified far more reliable than hand-picking CSS selectors against the page's heavily-obfuscated utility classes). Every row has _operation and status (success or error) so you can split/filter a mixed export.

Search row example:

{
"_operation": "search",
"sku": "6570530",
"title": "Ninja - Hot & Iced XL Coffee Maker with Rapid Cold Brew 12-cup Drip Coffee Maker & Single Serve Brewing - Black",
"price": 139.99,
"listPrice": 179.99,
"currency": "USD",
"rating": 4.8,
"reviewCount": 291,
"image": "https://pisces.bbystatic.com/image2/BestBuy_US/images/products/6570/6570530_sd.jpg",
"productUrl": "https://www.bestbuy.com/product/ninja-hot-iced-xl-coffee-maker-with-rapid-cold-brew-12-cup-drip-coffee-maker-single-serve-brewing-black/JXJVXGVT3C/sku/6570530",
"isSponsored": false,
"query": "coffee maker",
"status": "success"
}

Product detail row example:

{
"_operation": "productDetails",
"sku": "6570530",
"title": "Ninja - Hot & Iced XL Coffee Maker with Rapid Cold Brew 12-cup Drip Coffee Maker & Single Serve Brewing - Black",
"brand": "Ninja",
"model": "CM371",
"color": "Black",
"price": 139.99,
"currency": "USD",
"availability": "InStock",
"outOfStock": false,
"rating": 4.8,
"reviewCount": 291,
"image": "https://pisces.bbystatic.com/image2/BestBuy_US/images/products/6570/6570530_sd.jpg",
"images": ["https://pisces.bbystatic.com/image2/BestBuy_US/images/products/6570/6570530_sd.jpg"],
"sampleReviews": [{ "rating": 5, "title": "...", "text": "...", "author": "JamieT" }],
"specs": { "Coffee Preparation Method": "Drip" },
"productUrl": "https://www.bestbuy.com/product/ninja-hot-iced-xl-coffee-maker-with-rapid-cold-brew-12-cup-drip-coffee-maker-single-serve-brewing-black/JXJVXGVT3C/sku/6570530",
"status": "success"
}

Pricing

This Actor uses pay-per-event pricing - one small run-start charge, then a per-row charge for each search result or product-detail lookup. See the Pricing tab for current rates. Failed lookups land as status: "error" rows and are never charged. There is no page cap - search runs to Best Buy's own last reported page for each keyword unless you set maxItems.

Limitations

  • Only the numbers/text Best Buy shows to an anonymous, logged-out guest are available.
  • Best Buy's search grid lazy-hydrates below the fold (cards render a bare placeholder until scrolled into view) - this Actor scrolls the full result page before extracting, but a very slow-loading page could still occasionally miss a card; those cards are silently skipped rather than pushed as garbage rows (verified: title is always present on a real card).
  • sampleReviews on productDetails is a small sample embedded in the page's own JSON-LD (typically 1-3 reviews), not the full review history.
  • US site (bestbuy.com) only in this version.
  • Best Buy's page markup drifts over time; the extraction code targets stable structures (#main-results, data-testid attributes, the embedded Product JSON-LD) but a large redesign may need an update.

FAQ

Does Best Buy have a public API? Best Buy's Developer API exists but requires an approved API key application and is rate-limited for approved partner use, not general scraping. This Actor gets you search and product data anonymously, no approval process.

Do I need a Best Buy account or API key? No - it runs entirely against Best Buy's public, logged-out web pages.

Why did I get redirected to a country-selection page? That's Best Buy's own geo-detection - this Actor already works around it (see Why a real browser?), but if you're using a custom, non-US proxy this can still surface. Use the default US residential proxy configuration.

Disclaimer

This Actor is an independent tool, not affiliated with or endorsed by Best Buy Co., Inc. It only accesses data Best Buy serves publicly to anonymous visitors. Use it in compliance with Best Buy's Terms of Use and applicable law in your jurisdiction. Found a bug or have a feature request? Use the Issues tab on this Actor's page.