Best Buy Scraper: Prices, Stock and Product Pages
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.
Through the sales team on our 24/7 live chat
| Fetch | Entry | Volume, from |
|---|---|---|
| HTTP | $0.50 | $0.20 |
| JS rendering | $2.00 | $1.00 |
Billed on successful results only.
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 job | What to use | Why |
|---|---|---|
| A handful of products for yourself | No proxy: the retailer's own price alerts or a manual check once a day | A few page views a day look like a shopper |
| Hundreds to thousands of SKUs, daily | Rotating US residential proxies, a new IP on every request | Spreads the load over many IPs; 61.2M+ US residential IPs, all 50 states |
| Store pickup and local stock | A sticky session per store, -session-<id>-ttl-600 | One 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 username | Country, state and city targeting at the same price per GB; ZIP targeting is not offered |
| No parser or proxy upkeep | The 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.
| Page | URL pattern | What a logged-out shopper sees |
|---|---|---|
| Product page | bestbuy.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 results | bestbuy.com/site/searchpage.jsp?st=<query>&cp=2 | Products in ranking order, prices, sale badges, ratings, sponsored placements |
| Category pages | bestbuy.com/site/<category>/<id>.c?id=<id> | Products in a department with prices and filters |
| Reviews | bestbuy.com/site/reviews/<name>/<sku> | Star rating, review text, date, verified-purchase and recommendation flags |
| Questions and answers | on the product page | Shoppers' 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 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
# 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):
{
"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>"
}| Mode | Price per 1,000 successful results | When to use it on Best Buy |
|---|---|---|
| Plain HTTP | $0.50, from $0.20 at volume | Product and review pages that arrive with the price and the product data in the HTML |
| JS rendering | $2.00, from $1.00 at volume | Pages 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: $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) | Pages a month | HTTP $0.50 | HTTP $0.20 | JS $2.00 | JS $1.00 |
|---|---|---|---|---|---|
| 3,000 SKUs, price and stock daily | 90,000 | $45 | $18 | $180 | $90 |
| 100 search terms, first 3 result pages, daily | 9,000 | $4.50 | $1.80 | $18 | $9 |
| 20,000 SKUs, once a month | 20,000 | $10 | $4 | $40 | $20 |
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.
| Item | Best Buy developer APIs | Web Scraping API |
|---|---|---|
| Access | API key approved by Best Buy | ProxyField account, no Best Buy key |
| Data | Catalog fields Best Buy chooses to expose | Any public product, search, category or review page |
| Search rankings and sponsored slots | No | Yes, as shown on the page |
| Limits and cost | Set by Best Buy | Billed per 1,000 successful results |
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.
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.
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:
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 purchase | Price 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.
Best Buy's terms and the law
Best Buy's terms of use restrict robots, scrapers and other automated access to its site unless Best Buy permits it, so read the current terms before you scrape, even public pages; whether a scraper also breaks a law is a separate question. Prices, stock and ratings are facts; product photos, descriptions and review texts can be protected by copyright, so store facts and short excerpts rather than republishing them. Read Is It Legal to Scrape eBay, Walmart, Zillow and Other Marketplaces? and Is Web Scraping Legal? US, EU and UK Rules (2026).
ProxyField's acceptable use policy allows price monitoring and collecting public web data, and forbids fraud and accessing data behind logins you are not entitled to. This is not legal advice.
ProxyField's rule for every site: public pages only, and follow the site's terms.
More scrapers
- Walmart scraper, Target scraper and Home Depot scraper API: other US retailers on the same Web Scraping API.
- Amazon scraper API: Amazon product and search pages, $0.60 per 1,000 successful results, from $0.30.
- Google Shopping scraper: one product's prices across many stores.
- All scrapers: scrapers.
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.
Related pages
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.