Best Buy Products Scraper
codemaster devops · @codemasterdevops
Extract Best Buy product names, SKUs, available prices, images, and US reviews for catalog research and price tracking.

About
What does Best Buy Products Scraper do?
Best Buy Products Scraper collects public product data from BestBuy.com and BestBuy.ca. Use the dataset to compare catalog entries, track prices where available, and analyze US product ratings and reviews.
What Best Buy data can you extract?
- Product names, SKUs and product URLs.
- Current, regular and sale prices when Best Buy supplies them. Keep US and Canadian prices separate.
- Image URLs, brand, model, descriptions and specifications when the source provides them.
- Availability, ratings, review counts and recent review entries where exposed. US review entries are stored in
reviewsListon the product row.
How to use Best Buy Products Scraper
- Paste one or more Best Buy links into Start URLs. Start with a US search or product page, or a Canadian category or product page.
- Set Maximum products to
3for a first run. The cap applies across the input URLs. Set0for all discovered products. - Run the Actor and open its Products dataset.
{
"startUrls": [
{ "url": "https://www.bestbuy.ca/en-ca/category/laptops-macbooks/20352" }
],
"maxProductsCnt": 3,
"proxyConfig": { "useApifyProxy": false }
}
Example row excerpt
{
"sku": "19821568",
"name": "Dell 15.6\" 120Hz Laptop - AMD Ryzen 7 7730U - 16GB DDR4 - 512GB SSD - Windows 11 Home - Carbon Black",
"url": "https://www.bestbuy.ca/en-ca/product/dell-15-6-120hz-laptop-amd-ryzen-7-7730u-16gb-ddr4-512gb-ssd-windows-11-home-carbon-black/19821568",
"price": 949.99,
"salePrice": 949.99,
"regularPrice": 1199.99
}
Reviews, proxies and exports
addTopReviewscontrols US review text.maxReviewsdefaults to10. Set it to0to request all available review pages, which can make a run longer.skipZeroPricedefaults totrue. Set it tofalseto include free promotions. A product can still have a missing price.- Bytewells runs can use direct access. If your network requires a proxy, supply your own URLs in
proxyConfig.proxyUrls. - Export the dataset as JSON or CSV. Use JSON to preserve nested review and specification fields.
Coverage and limitations
The requested cap is a maximum. US prices can be blank even when product details and reviews are present. Some legacy promo or collection pages may return no rows. Availability reflects the data Best Buy exposes for the request and can vary by store. This is an independent tool.
FAQ
- What does the Best Buy Products Scraper collect?
- It collects product names, SKUs, URLs, and available prices, images, specifications, ratings and reviews from Best Buy.
- Which URLs should I use?
- Use a BestBuy.com search or product URL, or a BestBuy.ca category or product URL. Paste the full HTTPS URL into startUrls.
- Can I run more than one URL?
- Yes. Add multiple entries to startUrls. maxProductsCnt limits saved rows across the whole run.
- Will the run always return the requested product count?
- maxProductsCnt sets a maximum. The saved count depends on what Best Buy returns, which rows qualify, and whether requests succeed.
- Does the actor include reviews?
- US products can include recent review entries in reviewsList. Use addTopReviews to control review text and maxReviews to limit it per product.
- Why is a price or stock field blank?
- Best Buy can omit price or availability for a SKU or region. Treat blank fields as unavailable for that run. Set skipZeroPrice to false to keep products explicitly priced at zero.
- Do I need a proxy or API key?
- The example runs use direct access without a Best Buy API key. You can supply your own proxy URLs through proxyConfig.proxyUrls if needed.
- How can I export the dataset?
- Export the Products dataset as JSON or CSV, or read it using the Bytewells API. JSON preserves nested fields such as reviews and specifications.
- How is the rental billed?
- The Actor rents for $19.99 USD per month. Bytewells bills compute separately, and your proxy provider bills any optional proxy usage.
Input
Preview of the input form. Rent the Actor to fill it in and start runs from the console.
Fields
startUrlsEnter full HTTPS URLs. Start with BestBuy.com search or product URLs, or BestBuy.ca category or product URLs. Some legacy promo and collection pages may return no results.
proxyConfigUse direct access on Bytewells by default, or enter your own proxy URLs. Enable Apify Proxy only when the runtime has a compatible proxy configured.
maxProductsCntMaximum number of products to save across all start URLs. Use 3 for a quick test, 100 for a normal run, or 0 to scrape all discovered products.
addImagesWhen enabled, product pages can include image URLs or image objects returned by Best Buy.
addTopReviewsWhen enabled, the actor fetches customer reviews for each product from Best Buy's reviews API in addition to the rating and review count.
maxReviewsHow many customer reviews to collect per product when Add reviews is enabled. Default 10 returns the most recent reviews from the first page. Set 0 to scrape ALL reviews (paginates through every review page - slower and more requests for products with thousands of reviews).
skipZeroPriceSkip products explicitly priced at zero. Products with an unavailable price can still be saved.
bestBuyApiKeyOptional. Price is scraped from Best Buy's public priceBlocks endpoint by default, so a key is not required. If you provide a free key from https://developer.bestbuy.com/, the official Products API is used for price instead.
maxRequestRetriesHow many times a failed page, listing API, or product detail request is retried. Default 3 is recommended because Best Buy can occasionally return 403 or reset requests.
minConcurrencyMinimum number of parallel requests. Keep this at 1 for stable small runs.
maxConcurrencyMaximum number of parallel requests. Default 4 is conservative for Best Buy. Increase only with reliable US proxies.
handleRequestTimeoutSecsMaximum seconds allowed for a single HTTP request and its handler. Increase this if Best Buy responds slowly through your proxy.
requestTimeoutSecsBackward-compatible alias for request timeout. New runs should use Request timeout seconds.
maxProductsBackward-compatible alias for Maximum products. New runs should use maxProductsCnt.
proxyBackward-compatible alias for proxyConfig. New runs should use Proxy configuration.
API
Bytewells speaks the Apify API. Existing integrations keep working: point apify-client at https://bytewells.com/api and use your Bytewells API token (Console → Settings → API access). The Actor ID is codemasterdevops/bestbuy-products-actor (or codemasterdevops~bestbuy-products-actor in URLs).
JavaScript · apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.BYTEWELLS_TOKEN,
baseUrl: 'https://bytewells.com/api',
});
const input = {
"startUrls": [
{
"url": "https://www.bestbuy.ca/en-ca/category/laptops-macbooks/20352"
}
],
"proxyConfig": {
"useApifyProxy": false
},
"maxProductsCnt": 3,
"addImages": true,
"addTopReviews": true,
"maxReviews": 10,
"skipZeroPrice": true,
"maxRequestRetries": 3,
"minConcurrency": 1,
"maxConcurrency": 4,
"handleRequestTimeoutSecs": 20
};
const run = await client.actor('codemasterdevops/bestbuy-products-actor').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Python · apify-client
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["BYTEWELLS_TOKEN"], api_url="https://bytewells.com/api")
run_input = {
"startUrls": [
{
"url": "https://www.bestbuy.ca/en-ca/category/laptops-macbooks/20352"
}
],
"proxyConfig": {
"useApifyProxy": False
},
"maxProductsCnt": 3,
"addImages": True,
"addTopReviews": True,
"maxReviews": 10,
"skipZeroPrice": True,
"maxRequestRetries": 3,
"minConcurrency": 1,
"maxConcurrency": 4,
"handleRequestTimeoutSecs": 20
}
run = client.actor("codemasterdevops/bestbuy-products-actor").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)HTTP · curl
curl -X POST "https://bytewells.com/api/v2/acts/codemasterdevops~bestbuy-products-actor/runs" \
-H "Authorization: Bearer $BYTEWELLS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls":[{"url":"https://www.bestbuy.ca/en-ca/category/laptops-macbooks/20352"}],"proxyConfig":{"useApifyProxy":false},"maxProductsCnt":3,"addImages":true,"addTopReviews":true,"maxReviews":10,"skipZeroPrice":true,"maxRequestRetries":3,"minConcurrency":1,"maxConcurrency":4,"handleRequestTimeoutSecs":20}'Runs are billed as compute from your credit balance. Paid Actors need an active rental or trial; otherwise the API answers 402 rental-required.
Related
More Actors from the same publisher.

Shopify Products Scraper
codemaster devops · @codemasterdevops
Export public Shopify prices, SKUs, stock status, options, and images in one row per variant. Compare catalogs across stores.
E-commerceAutomationDeveloper toolsUsage-based
Pinterest Scraper – Extract Profiles & Pin Data
codemaster devops · @codemasterdevops
Scrape public Pinterest profiles and pins. Extract image URLs, descriptions, board details, source links, and available engagement stats.
Social mediaMarketingE-commerce$19.99/mo3-day free trial
Website Screenshot Generator
codemaster devops · @codemasterdevops
Capture full-page or viewport PNG screenshots from a list of URLs. Export page URLs and image links for visual QA, monitoring, and archives.
Developer toolsAutomation$19.99/mo3-day free trial
ZOOT Product Scraper
codemaster devops · @codemasterdevops
Extract ZOOT product names, prices, sizes, availability, and image URLs from category and product pages for fashion catalog research.
E-commerceAutomation$19.99/mo3-day free trial
Bing Scraper - Search Results & SERP Data
codemaster devops · @codemasterdevops
Scrape Bing search results, titles, links, and snippets. Run multiple queries with market, language, and page controls for SEO and competitor research.
SEO toolsMarketingDeveloper toolsUsage-based
Google Play Reviews Scraper - App Ratings & Feedback
codemaster devops · @codemasterdevops
Extract public Google Play app reviews, ratings, dates, helpful votes, and available developer replies for app research and competitor analysis.
MarketingSEO toolsDeveloper tools$19.99/mo3-day free trial