Pricing
from $1.00 / 1,000 results
Best Buy Scraper
Scrape Best Buy product listings by search keyword or product URL. Extracts SKU, price, sale price, rating, review count, model, brand, availability, and seller info. HTTP-only with hardcoded residential-proxy fallback.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
17
Total users
9
Monthly active users
2 months ago
Last modified
Categories
Share
Scrape Best Buy product listings by search keyword or specific product URLs. Each result is a flat record with SKU, regular + sale price, rating, brand, model, availability, and seller info. Routes through Apify residential proxy automatically when Best Buy's bot challenge fires (no proxy input needed).
What it does
You provide a search keyword and / or a list of product URLs; the actor:
- (If
keywordset) Walks Best Buy'ssearchpage.jspfor matching products, paginating up to ~24 results per page. - Hits each product detail page and parses
application/ld+jsonProduct schema +__NEXT_DATA__prices. - Optionally drops out-of-stock SKUs.
- Auto-rotates Apify residential-proxy sessions when the direct request is fingerprinted as a bot.
Input
| Field | Type | Default | Description |
|---|---|---|---|
keyword | string | sony headphones | Free-text search β product name, brand, category. Use keyword or productUrls, or both. |
productUrls | array of strings | [] | Specific Best Buy product URLs (e.g. https://www.bestbuy.com/site/.../6505729.p?skuId=6505729). |
maxResults | integer | 24 (1β240) | Hard cap on records. |
skipOutOfStock | boolean | false | Drop products marked out-of-stock / sold-out. |
Example input
{"keyword":"sony headphones","productUrls":["https://www.bestbuy.com/site/sony-wh-1000xm5-wireless-noise-canceling-over-the-ear-headphones-black/6505729.p?skuId=6505729"],"maxResults":24,"skipOutOfStock":false}
Output
One record per product. Empty fields are omitted (no nulls).
{"sku":"6505729","url":"https://www.bestbuy.com/site/sony-wh-1000xm5-wireless-noise-canceling-over-the-ear-headphones-black/6505729.p?skuId=6505729","name":"Sony - WH-1000XM5 Wireless Noise Canceling Over-the-Ear Headphones - Black","brand":"Sony","model":"WH1000XM5/B","image":"https://pisces.bbystatic.com/.../6505729_sd.jpg","imageUrl":"https://pisces.bbystatic.com/.../6505729_sd.jpg","currentPrice":299.99,"regularPrice":399.99,"salePrice":299.99,"savings":100.00,"savingsPercent":25,"onSale":true,"currency":"USD","currencySymbol":"$","availability":"InStock","seller":"Best Buy","rating":4.7,"reviewCount":6420,"description":"Industry-leading noise cancellationβ¦","scrapedAt":"2026-04-26T14:23:11+00:00"}
Output fields
skuβ Best Buy's stable product SKU (extracted fromβ¦/<sku>.ppath).urlβ direct link to the product detail page.name/descriptionβ product title and marketing description.brand/modelβ manufacturer + model number.image/imageUrlβ primary product image URL.imageUrlis an alias for downstream-pipeline compatibility.currentPriceβ price currently shown to the shopper.regularPrice/salePriceβ non-sale price + sale price when on promotion.savingsβ derived:regularPrice - salePrice(only when both are present and sale price is lower).savingsPercentβ derived:round(100 * savings / regularPrice).onSaleβ derived boolean:truewhensalePrice < regularPrice.currencyβ ISO currency (alwaysUSDat .com).currencySymbolβ display symbol ($,β¬,Β£, etc.) corresponding tocurrency.availabilityβInStock,OutOfStock,PreOrder,BackOrder,LimitedAvailability.sellerβ usuallyBest Buy; third-party marketplace sellers also appear.rating/reviewCountβ aggregate review stats from Best Buy's customer reviews.scrapedAtβ ISO-8601 UTC timestamp.
Use cases
- Price monitoring β track regular vs sale price across a watch-list of SKUs.
- Stock alerts β combine with
skipOutOfStock: falseto detect when an item flips back toInStock. - Product research β pull every Sony headphone on Best Buy in one run.
- Competitive analysis β compare Best Buy face-value with other retailers.
- Review aggregation β collect rating / review-count snapshots for trend analysis.
FAQ
Does it need a proxy? Not as input β the actor automatically uses Apify's residential proxy whenever Best Buy's bot-challenge fires. Keyword search renders Best Buy's React shell in a headless Chromium with the residential proxy attached; product detail pages prefer a faster HTTP-only fetch and fall back to the proxy on block.
Is it the official API?
No β this scraper extracts from the Best Buy website's embedded JSON-LD + __NEXT_DATA__. Best Buy does ship a developer API for affiliates (developer.bestbuy.com) for high-volume programmatic access.
Why are some fields missing? Best Buy doesn't always populate every field. The actor follows an omit-empty contract: fields that aren't present on the source page are simply absent from the record (no nulls).
How many results can it return?
Up to maxResults (max 240, ~10 pages of results). Each product page is fetched individually β expect ~1.5β3s per product including the proxy retry budget.
Can I scrape category pages?
Yes β paste any Best Buy category / collection URL into productUrls (the actor walks anchor links on the page). Or use the keyword field for the standard search experience.
Why was a specific SKU skipped?
skipOutOfStock: truedrops items flagged out-of-stock.- Bot-challenge persisted across all proxy retries (rare, ~5% of requests).
- The page didn't ship JSON-LD nor
__NEXT_DATA__(very rare, malformed listing).
