All store scraper APIs
Storebestbuy.com

Best Buy scraper API for AI agents and code

datawebot returns Best Buy search results as structured JSON, with the same fields for every shop: title, price, original price, availability, rating, image and link. It runs from your AI agent over MCP or from code over REST on bestbuy.com in United States, at 5 credits per search page, and failed requests are free.

How Best Buy structures its product data: Best Buy data guide.

Fields you get

Every Best Buy product comes back in these fields; a field is null when the page doesn't show it. Each endpoint below also lists its raw record schema.

FieldTypeDescription
product_idstring or nullOpaque id. Pass it to get_product (or capability "product") to read the product again.
titlestringProduct title as the shop shows it.
urlstring or nullThe product page on the shop.
shopstring or nullThe shop’s hostname, without www.
priceobject or nullamount (number), currency (ISO 4217, or null when the shop doesn’t say) and text (the shop’s own wording when it is the same amount, else null).
original_priceobject or nullThe price before a discount, in the same shape as price.
ratingnumber or nullAverage rating, on the shop’s own scale.
review_countinteger or nullNumber of reviews or ratings.
image_urlstring or nullMain product image.
availabilitystring or nullin_stock, out_of_stock, or the shop’s own stock wording.
sponsoredboolean or nulltrue for an ad the shop marks as sponsored; null when the page doesn’t say.

How to run it

From your agent, after connecting it once with the setup prompt (agent setup), ask in plain words:

Agent prompt
Use datawebot to extract https://www.bestbuy.com/site/searchpage.jsp?st=wireless+headphones and give me each product's title, price and link as JSON.

From code, send one request with your API key. The answer has the same shape for every shop; if it says "status": "working", read it again with GET /v1/requests/{id}.

POST /v1/requests
curl https://api.datawebot.com/v1/requests \
  -H "Authorization: Bearer $DATAWEBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"capability":"endpoint","endpoint":"bestbuy.search_items","url":"https://www.bestbuy.com/site/searchpage.jsp?st=wireless+headphones","format":"structured"}'

Limits

  • One page URL per request, on bestbuy.com only; other hosts are rejected before anything runs.
  • Prices and stock are read when the request runs (meta.as_of); datawebot keeps no price history, so schedule and store repeat reads yourself.
  • Fields the page doesn't show come back null; nothing is filled in or guessed.
  • Up to 30 requests a minute per account.

Questions about the Best Buy scraper API

Does Best Buy have an official API?

datawebot does not use one. It reads Best Buy's pages and returns them as structured JSON, so you need no Best Buy developer account or partner key. Whether Best Buy offers its own API, and on what terms, is for Best Buy to say.

Can I scrape Best Buy with Python?

Yes. Send the POST /v1/requests call shown on this page from Python with any HTTP client, such as requests or httpx: the same JSON body, with your API key in the Authorization header. The products come back in the answer's products field (product for a product page).

Is it legal to scrape Best Buy?

It depends on where you are, Best Buy's terms and what you do with the data. You stay responsible for how you use what datawebot returns. This is not legal advice; read our guide to robots.txt and legal considerations, and ask a lawyer about your case.

What does a Best Buy scraper API call cost?

5 credits per search page. Failed requests are free; a page that loaded but had nothing on it still costs credits. Every account starts with 200 free credits, and credit packs start at 10,000 credits for $10, with no subscription.

Start with 200 free credits

Connect your agent with one setup prompt, or create an API key, and run Best Buy requests right away. No card and no subscription.

Connect your agent See pricing