Best Buy Product Scraper avatar

Best Buy Product Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Best Buy Product Scraper

Best Buy Product Scraper

Scrape Best Buy products by keyword: name, brand, SKU, current and regular price, savings, rating, review count, condition, seller type, image and product URL, with optional full product details. Clean JSON for price monitoring. Pay only for the results you get.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

axly

axly

Maintained by Community

Actor stats

0

Bookmarked

38

Total users

7

Monthly active users

10 days ago

Last modified

Share

Extract structured product data from Best Buy (bestbuy.com) by keyword: product name, brand, SKU, current and regular price, savings, star rating, review count, condition, seller type, product category, image and product URL. Clean JSON, ready for Google Sheets, BI tools or your database.

The actor talks to Best Buy's own product search API instead of rendering pages, so runs are fast and need no browser and no proxy setup.

Who it's for

  • Price & deal monitoring: track current vs. regular price and savings on electronics, appliances and gaming, and catch price drops on a schedule.
  • Competitive pricing: retailers and brands benchmarking their prices and ratings against Best Buy.
  • Market & assortment research: see which brands, products and categories Best Buy surfaces for a search term, and how they're rated.
  • Developers: a stable JSON schema for price trackers, comparison sites and shopping assistants.

What you get

Every row is one Best Buy product from the search results.

FieldTypeDescription
skuIdstringBest Buy SKU ID
bsinstringBest Buy product identifier used in product URLs
namestringProduct name
brandstringBrand
urlstringProduct page URL
imagestringMain product image URL
pricenumberCurrent customer price, USD
regularPricenumberRegular (non-sale) price, USD
savingsnumberDiscount vs. regular price, USD
savingsPercentnumberDiscount vs. regular price, %
ratingnumberAverage customer rating (0–5)
reviewCountnumberNumber of customer reviews
conditionstringProduct condition (defaults to new)
whatItIsstring[]Best Buy product type labels, e.g. ["Headphones", "Wireless Headphones"]
sellerTypestringSeller classification (1P = sold by Best Buy)
displayStatusstringListing status on bestbuy.com, e.g. active
isNewbooleanBest Buy's "new" product flag
searchQuerystringThe search term that returned this product

With Fetch Product Details on (the default), the actor also looks up each SKU individually and uses that product page's price, regular price and savings, which are the most precise values Best Buy returns.

High-value use cases

  1. Daily price-drop alerts: schedule a run for "OLED TV" or "RTX 4070" and alert when savingsPercent crosses your threshold.
  2. Price-history dataset: append each scheduled run to a sheet or warehouse to chart prices per SKU over time.
  3. Competitor price matching: compare your catalog against Best Buy's current price for the same products.
  4. Category research: pull hundreds of products for a keyword and rank brands by rating and review volume.
  5. Deal content: feed savings data into deal newsletters, blogs or social posts.

Input parameters

FieldTypeDefaultDescription
searchQuerystringrequiredSearch keyword(s), e.g. laptop, iPhone 16, gaming headset
maxResultsinteger48Maximum number of products to return. 0 = every result Best Buy returns
fetchProductDetailsbooleantrueLook up each SKU for the most precise pricing. Turn off for faster runs
zipCodestring10001US ZIP code sent with each search request

Example input

{
"searchQuery": "wireless earbuds",
"maxResults": 100,
"fetchProductDetails": true,
"zipCode": "10001"
}

Example output (one row)

{
"skuId": "6611536",
"bsin": "J7LXFWXFJH",
"name": "JBL - Vibe Beam 2 Noise Cancelling Earbuds - 2025 - Black",
"brand": "JBL",
"url": "https://www.bestbuy.com/product/jbl-vibe-beam-2-noise-cancelling-earbuds-2025-black/J7LXFWXFJH/sku/6611536",
"image": "https://pisces.bbystatic.com/image2/BestBuy_US/images/products/2fe06a0c-5b52-41f9-b91d-93aa8b129956.jpg",
"price": 39.95,
"regularPrice": 64.95,
"savings": 25,
"savingsPercent": 38,
"rating": 4.5,
"reviewCount": 944,
"condition": "new",
"whatItIs": ["Headphones", "Wireless Headphones"],
"sellerType": "1P",
"displayStatus": "active",
"isNew": false,
"searchQuery": "wireless earbuds"
}

Scheduling & integrations

  • Schedules: run daily or hourly from Apify Console → Schedules to build a price history.
  • Export: download results as JSON, CSV, Excel or XML, or read them through the Apify API.
  • Integrations: send each run to Google Sheets, Slack, Make, Zapier, n8n, Airbyte or a webhook of your own.
  • API: start runs and fetch results from any language with the Apify API or the apify-client package:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("axlymxp/bestbuy-scraper").call(
run_input={"searchQuery": "gaming laptop", "maxResults": 50}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["name"], item["price"], item["savingsPercent"])

Use with AI agents (MCP)

Every public Apify actor can be called by AI assistants such as Claude, Cursor or ChatGPT through the Apify MCP server. Add it to your client, then ask for something like "find the best-rated noise-cancelling earbuds on Best Buy under $100", and the agent runs this actor and reads the results.

FAQ

How many products can I get per search? As many as Best Buy returns for the query. Set maxResults to 0 to collect all of them, or cap it to keep runs short.

How fresh is the data? Live. Every run queries Best Buy at run time, so prices reflect what bestbuy.com shows at that moment for the ZIP code you set.

Does it work outside the US? It covers bestbuy.com (US) and US ZIP codes. Best Buy Canada is a separate site and isn't supported.

What if a search returns nothing? If Best Buy blocks or garbles a search, the run fails with an error rather than finishing as an empty "success". A query with genuinely no matches finishes with 0 products: check the spelling or try a broader keyword.

Why do some searches return slightly different products than bestbuy.com? For a few keywords (for example "4k monitor" or "gift card"), bestbuy.com skips the results page and opens a category page instead. The actor detects that redirect and returns Best Buy's keyword search results for the same words. The run log names the category it was redirected to.

Why are some fields null? Best Buy doesn't return every field for every product. For example, new listings may have no rating yet.

Is it legal to scrape Best Buy? The actor collects publicly visible product and price information only. No login and no personal data are involved. You're responsible for using the data in line with Best Buy's terms and the laws that apply to you.

I need another field or found a bug. Open an issue on the actor's Issues tab with the input you used.