Site scraper

Best Buy Scraper: Prices, Stock and Product Pages

HTTP $0.50JS rendering $2.00 per 1,000 results or your own scraper from $1.95/GB

ProxyField scrapes Best Buy through its Web Scraping API: send any public bestbuy.com product, search or category URL and get the page back for $0.50 per 1,000 successful results over plain HTTP, from $0.20 at volume, or $2.00 per 1,000 with JS rendering. For your own Best Buy or Target price tracker, use US residential proxies with a sticky session per store check: 61.2M+ residential IPs in all 50 states, from $1.95/GB. Contact sales for the API, or start the proxies with the Easy Trial: 1 GB for $2.95, no subscription.

Web Scraping API per 1,000 successful results
Web Scraping API prices per 1,000 successful results
FetchEntryVolume, from
HTTP$0.50$0.20
JS rendering$2.00$1.00

Billed on successful results only.

Your own scraper on residential proxies
from $1.95/GB Easy Trial: 1 GB for $2.95
gate.proxyfield.io:7000
Data

Which proxies for Best Buy and Target price monitoring

US residential proxies, rotating per request for product pages and sticky for store checks. Both retailers sell to US shoppers, so the IP must be in the US; a home IP looks like a shopper, where datacenter ranges are refused by Best Buy's bot protection more often.

Your jobWhat to useWhy
A handful of products for yourselfNo proxy: the retailer's own price alerts or a manual check once a dayA few page views a day look like a shopper
Hundreds to thousands of SKUs, dailyRotating US residential proxies, a new IP on every requestSpreads the load over many IPs; 61.2M+ US residential IPs, all 50 states
Store pickup and local stockA sticky session per store, -session-<id>-ttl-600One IP keeps the chosen store while you read its availability; sticky up to 36 h, 20 min by default
A state or city view-region-<region> or -city-<city> in the usernameCountry, state and city targeting at the same price per GB; ZIP targeting is not offered
No parser or proxy upkeepThe Web Scraping API (Contact sales)$0.50 per 1,000 successful results, from $0.20 from 10,000 in one purchase

Residential IPs are enough for public product pages; mobile IPs cost more ($3.45/GB at 1 GB against $2.95 for residential). The same setup reads Target's public pages: see the Target scraper. Collect public pages only, and follow each site's terms.

Best Buy pages you can collect

Best Buy builds every public page around a SKU, so one SKU list drives most scrapers. The Web Scraping API fetches any of these URLs; your parser, or the Python below, turns the page into fields. ProxyField sells no separate Best Buy API with pre-parsed fields.

PageURL patternWhat a logged-out shopper sees
Product pagebestbuy.com/site/<name>/<sku>.p?skuId=<sku>Title, brand, model, SKU, price, regular price and savings, shipping and pickup availability, rating, review count, specifications
Search resultsbestbuy.com/site/searchpage.jsp?st=<query>&cp=2Products in ranking order, prices, sale badges, ratings, sponsored placements
Category pagesbestbuy.com/site/<category>/<id>.c?id=<id>Products in a department with prices and filters
Reviewsbestbuy.com/site/reviews/<name>/<sku>Star rating, review text, date, verified-purchase and recommendation flags
Questions and answerson the product pageShoppers' questions and the answers

Pickup availability depends on the store the visitor has chosen, and some prices appear only in the cart or for members; a scraper reads what a logged-out shopper sees. The API returns the page itself as HTML, Markdown or plain text, or a JSON envelope with the status code, the final URL, the headers, the cookies and the content; it has no parsed Best Buy fields, so your parser reads them.

How it works

How the Web Scraping API fetches a Best Buy page

You send a Best Buy URL and pick plain HTTP or JS rendering; the API returns the page. The API is in development, and this is its design (access through Contact sales). It takes a POST to https://api.proxyfield.io/v1/scrape with your API key in an Authorization: Bearer <api_key> header and a JSON body: url, render (false for plain HTTP, true for JS rendering), country and output (html, markdown, text or json). Send country as us, since visitors from outside the US may get a country-selection page; for blocks that fill in only after Best Buy's scripts run, wait_for takes a CSS selector to wait for before the rendered page is returned. Each account runs 20 concurrent requests (higher limits through sales), and a batch takes up to 1,000 URLs, such as your whole SKU list, with a signed callback when the job is done and results kept 48 hours. Parameter reference: API documentation.

Read moreShow less
Shell
# The request the Web Scraping API takes (access through Contact sales)
curl https://api.proxyfield.io/v1/scrape \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.bestbuy.com/site/example-product/1234567.p?skuId=1234567", "render": false, "country": "us", "output": "json"}'

Example response (shortened; content is the page's HTML):

JSON
{
  "metadata": {"id": "req_4c9e2b7f16a0d58e", "api": "web_scrape", "status": "success", "billed": true},
  "status_code": 200,
  "final_url": "https://www.bestbuy.com/site/example-product/1234567.p?skuId=1234567",
  "content_type": "text/html; charset=utf-8",
  "content": "<!DOCTYPE html><html lang=\"en-US\">…</html>"
}
ModePrice per 1,000 successful resultsWhen to use it on Best Buy
Plain HTTP$0.50, from $0.20 at volumeProduct and review pages that arrive with the price and the product data in the HTML
JS rendering$2.00, from $1.00 at volumePages or blocks that fill in only after the browser runs Best Buy's scripts, such as some availability widgets

Test a sample of each page type over plain HTTP first and switch only the types that arrive without the data.

Pricing

Pricing: $0.50 per 1,000 Best Buy pages, from $0.20

Best Buy pages cost the Web Scraping API's standard price, whatever the page type. You pay only for successful results. The volume price starts at 10,000 successful results in one purchase.

Billed: a page Best Buy answered with a 2xx status. Not billed: blocked requests, timeouts and errors on our side; a blocked request is retried on new IPs, and the retries are not billed. Every response says whether it was billed. A target's 404 or 410, and a sign-in page the site serves with a 200 status, count as billed results. Contact sales through the sales team on our 24/7 live chat.

Payment and balance for the API: the same crypto balance as proxies, which never expires; there is no subscription or monthly fee. All prices: pricing.

Through the sales team on our 24/7 live chat

Workload (30-day month)
Workload (30-day month), Pages a month, HTTP $0.50, HTTP $0.20, JS $2.00, JS $1.00
Workload (30-day month)Pages a monthHTTP $0.50HTTP $0.20JS $2.00JS $1.00
3,000 SKUs, price and stock daily90,000$45$18$180$90
100 search terms, first 3 result pages, daily9,000$4.50$1.80$18$9
20,000 SKUs, once a month20,000$10$4$40$20
Compare

Best Buy's developer API or a scraper?

Best Buy runs a developer program (developer.bestbuy.com) with Products, Categories, Stores, Recommendations and Buying Options (open-box) APIs that return catalog data as fields to holders of an API key, within the call limits Best Buy sets. Access depends on Best Buy approving the key, so check its developer site for the current terms. If the API's fields and limits fit your project, use it; a scraper reads the public pages instead, including search rankings, reviews and what the page shows at a given moment.

ItemBest Buy developer APIsWeb Scraping API
AccessAPI key approved by Best BuyProxyField account, no Best Buy key
DataCatalog fields Best Buy chooses to exposeAny public product, search, category or review page
Search rankings and sponsored slotsNoYes, as shown on the page
Limits and costSet by Best BuyBilled per 1,000 successful results
Good to know

Why Best Buy requests fail

Best Buy protects its site against bots. Fast, repetitive or datacenter traffic often gets an "Access Denied" page, and requests without normal browser headers can stall until they time out. Visitors from outside the US may see a country-selection page instead of the product; a fetch from Europe of Best Buy's terms page got exactly that on 2026-10-27. Rotating US residential IPs, a few seconds between requests and complete browser headers reduce these failures; with the Web Scraping API you pay only for successful results.

Use cases

What teams use Best Buy data for

  • Price monitoring: daily prices and sale events for your products and competitors' products.
  • Stock and availability: which SKUs ship or can be picked up, and when they come back.
  • Assortment and ranking research: what Best Buy shows first for a search, and at which price.
  • Review analysis: ratings and recurring complaints per model.
  • Minimum advertised price checks for brands that sell through Best Buy.

For prices across many stores, see the price scraping page and the ecommerce scraper; for proxy set-ups behind a price tracker, see proxies for price monitoring.

Do it yourself

Scrape Best Buy with Python and ProxyField proxies

For a few hundred SKUs, Python on US residential proxies works. Best Buy product pages have carried schema.org data (JSON-LD) with the name, SKU and offer price, which survives layout changes better than CSS classes; check that your page type still carries it before you rely on it:

Python
import json
import requests
from bs4 import BeautifulSoup

proxy = "http://<login>-country-us-city-new_york:<password>@gate.proxyfield.io:7000"
url = "https://www.bestbuy.com/site/example-product/1234567.p?skuId=1234567"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
           "Accept-Language": "en-US,en;q=0.9", "Accept": "text/html"}
resp = requests.get(url, proxies={"http": proxy, "https": proxy}, headers=headers, timeout=20)
soup = BeautifulSoup(resp.text, "html.parser")
found = False
for tag in soup.select('script[type="application/ld+json"]'):
    data = json.loads(tag.string or "{}")
    for item in data if isinstance(data, list) else [data]:
        if item.get("@type") == "Product":
            offer = item.get("offers") or {}
            offer = offer[0] if isinstance(offer, list) else offer
            print(item.get("sku"), item.get("name"), offer.get("price"), offer.get("availability"))
            found = True
if not found:
    print("no Product data: blocked, or needs JS rendering")
Read moreShow less

If the response is a block page or times out, slow down and let the next request take a new IP. ProxyField gives you 61.2M+ residential IPs in the United States, in all 50 states, a new IP on every request or a sticky session from 30 s to 36 h, and unlimited concurrent threads. A sticky session keeps one IP while your scraper sets a store and reads its pickup availability; the session syntax: -region-<region>, -session-<id> and -ttl-<seconds> (30 to 129,600 seconds, 20 minutes by default) after the location, as in <login>-country-us-region-new_york-city-new_york-session-he9f2qga-ttl-600. More on US proxies.

Residential traffic in one purchasePrice per GB
1-9 GB (Easy Trial: 1 GB)$2.95
10-49 GB$2.79
50-99 GB$2.65
100-249 GB$2.49
250-499 GB$2.29
500-999 GB$2.09
1,000+ GB$1.95

The tier rate applies to the whole purchase, and country, state and city targeting cost the same per GB. From 1 TB, the price is individual: contact sales. The traffic never expires, and all purchases are final.

More scrapers

More scrapers

FAQ

Best Buy Scraper FAQ

24/7 support by live chat, including help with setup and integration.

What is a Best Buy scraper?

ProxyField's Best Buy scraper is its Web Scraping API used on Best Buy pages: it fetches any public product, search or review page for $0.50 per 1,000 successful results, from $0.20 at volume. In general, a Best Buy scraper is a tool or script that collects prices, stock, ratings and specifications from bestbuy.com so you can track them over time.

How does a Best Buy scraper API work?

You send it a Best Buy URL, such as a product page with its SKU, and it fetches the page through its own IPs, over plain HTTP or with JS rendering, and returns it to you. You keep the parser that reads price, stock and rating from the page and decide how often to run it.

What pricing plans are available for Best Buy scraping?

ProxyField's Web Scraping API is priced per 1,000 successful results: $0.50 over plain HTTP, from $0.20 at volume, and $2.00 with JS rendering, from $1.00. Checking 3,000 SKUs every day is 90,000 pages a month: $45 over plain HTTP, or $18 at the volume price.

What proxies are best for monitoring Best Buy and Target prices in the US?

ProxyField's rotating US residential proxies suit the job: 61.2M+ residential IPs in all 50 states, a new IP on every request, from $1.95/GB, and the Easy Trial lets you test with 1 GB for $2.95. Use a sticky session to keep one IP while you set a store and read its prices; for only a few products, the retailers' own price alerts need no proxy at all.

Does Best Buy have an official API?

Yes: Best Buy's developer program offers Products, Categories, Stores, Recommendations and Buying Options (open-box) APIs to holders of an approved API key, within the call limits Best Buy sets. They return catalog fields, not search rankings or the page as shoppers see it, so teams that need those scrape the public pages instead.

Does Best Buy's robots.txt permit web scraping?

robots.txt is Best Buy's instruction to crawlers about which paths they should not fetch; read the current file at bestbuy.com/robots.txt before you plan a crawl. It is a request, not a technical barrier, and it does not grant permission either: Best Buy's terms of use set the rules for automated access.

Do Best Buy's terms and conditions permit web scraping?

Not by default: Best Buy's terms of use restrict robots, scrapers and other automated access unless Best Buy permits it, so read the current terms before you scrape, even public pages. Whether scraping also breaks a law is a separate question, and this is not legal advice.

Do I need proxies to track a few Best Buy prices?

No: for a handful of products, Best Buy's own price alerts or a manual check once a day is enough, and it looks like an ordinary shopper. Proxies matter from hundreds of SKUs a day; ProxyField's Easy Trial (1 GB of residential traffic for $2.95) is enough to test a tracker on them.

Can I scrape Best Buy without writing code?

For a handful of products, a browser extension that exports a page to a table works. For daily prices on thousands of SKUs you need a script, or an automation tool with an HTTP step that sends Best Buy URLs to a scraping API and writes the results to a sheet.

How do I handle JavaScript when scraping Best Buy?

Start without it: on product pages the price and the product data usually arrive in the HTML, so test plain HTTP first, at $0.50 per 1,000 successful results. Switch only the page types that arrive without the data to JS rendering, at $2.00 per 1,000, or render them in Playwright with your own scraper.

Show 10 more questionsShow fewer questions

Can I scrape Best Buy from Europe?

Yes, through US residential IPs: visitors from outside the US may get a country-selection page instead of the product, so fetch bestbuy.com as a US shopper. With ProxyField you choose the country, region (state) and city of the IP, with 61.2M+ residential IPs in the United States.

What's the rate limit for scraping Best Buy?

There is no published number to stay under: Best Buy's website blocks traffic that looks automated rather than counting requests against a stated limit. Keep a few seconds between requests per IP, rotate the IP, and spread a large SKU list over many parallel connections instead of hammering one.

Can I scrape Best Buy with Python or Node.js?

Yes: any language with an HTTP client works, since you fetch a URL and parse HTML. Python with requests and Beautiful Soup, as in the example on this page, or Node.js with a fetch call and an HTML parser are the common choices; for pages that need a browser, Playwright or Puppeteer.

Can recurring Best Buy scraping jobs be automated?

Yes: run the scraper from cron or a workflow tool at the same hour every day, store each run with its timestamp, and alert on runs that return far fewer SKUs than usual. Fixed run times keep the price history comparable day to day.

Can I track a specific Best Buy SKU or ZIP-level stock?

Best Buy shows pickup availability for the store a shopper has selected, so a scraper sets the store on the site and then reads the product page, keeping one IP for that session. ProxyField proxies target by country, region (state) and city; ZIP-code targeting is not offered.

Can I see a Best Buy product's price history?

Best Buy shows the current price and the saving against its regular price, not a full history. To get a history, scrape the product page at a fixed time every day and keep each reading.

How do I build a Best Buy price tracker?

List the SKUs you care about, fetch each product page once a day through US residential IPs, read the price and availability from the page's structured data, and store them with the date. Add an alert when a price drops below your threshold or a SKU comes back in stock.

Are residential or datacenter proxies better for Best Buy?

Residential, for most Best Buy scraping: its bot protection refuses datacenter ranges more often than home connections. ProxyField residential proxies cost $2.95/GB for 1 GB and from $1.95/GB at volume, and the traffic never expires.

How can I test a Best Buy scraper before paying for volume?

For the Web Scraping API, contact sales with your page types and volume; you are billed only for successful results. To test your own scraper, start with the Easy Trial: 1 GB of residential traffic for $2.95, no subscription.

What customer support options are there for Best Buy scraper users?

ProxyField has 24/7 live chat, including help with setting up the proxies and integrating them with your scraper. For the Web Scraping API, the sales team answers questions about volumes and prices.

Collect Best Buy pages with the Web Scraping API

Billed on successful results only. Contact sales for the Web Scraping API and the volume you need, or run your own scraper on residential proxies. 24/7 live chat helps with setup and integration.