ScavioScavio
Pricing
Tools
Sign InsGet Startedg
Blog
Best buy8 min readNov 8, 2026

How to Get Best Buy Open-Box Prices by Condition Through an API

Scavio's Best Buy API returns each open-box offer on a SKU, fair, good and excellent, with its savings against new and regular, plus pickup stock and deals.

Scavio Team

Nov 8, 2026

Try the Best Buy API free
scavio
Ecommerce / Price monitoring
Best buy

To get Best Buy open-box prices programmatically, use Scavio's Best Buy API. POST /api/v1/bestbuy/product with a SKU returns open_box[]: one row per open-box condition on offer (fair, good, excellent) with its price, savings_vs_new, savings_vs_regular and a link to the offer, next to the new price, regular price and deal badge. /category with the open-box filter finds the SKUs that have open-box offers, /availability returns store pickup status at up to 8 stores near a ZIP, and /prices re-checks 15 SKUs per call. Most calls cost 2 credits, $2 per 1,000 requests on the Growth plan.

Shoppers check open-box by hand: on r/GamingLaptops, a post telling people to check open-box deals daily drew 133 upvotes and 47 comments in four days, after its author found an excellent-condition laptop in the store's open-box cage and noted that the app "is usually a few days behind". An API does the daily check for you. Every response below was captured on November 8, 2026, with Best Buy's holiday pricing live.

Step 1: Find SKUs with open-box offers

Bash
curl -s https://api.scavio.dev/api/v1/bestbuy/category \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category_id": "abcat0101001", "filters": {"open_box": true}}'

All Flat-Screen TVs (abcat0101001) with the open-box filter returned 77 products over 5 pages, 18 a page, in 2.1 seconds. Row 6, as captured (product and image URLs trimmed):

JSON
{
  "position": 6,
  "sponsored": false,
  "sku": "6679051",
  "bsin": "JJ8VPZZCTJ",
  "name": "LG - 48\" Class B6 OLED AI 4K Smart webOS TV with Perfect Black, Vivid Color and Magic Remote   (2026)",
  "brand": "LG",
  "model": "OLED48B6GUA",
  "price": 599.99,
  "regular_price": 1199.99,
  "savings": 600,
  "savings_percent": 50,
  "on_sale": true,
  "badge": "Holiday Deal",
  "deal_ends_at": null,
  "condition": "new",
  "rating": 4.6,
  "review_count": 117,
  "seller_type": "best_buy",
  "product_type": "Television",
  "badges": ["Trending Deal", "Plus & Total member offer", "Only at Best Buy"],
  "release_date": null
}

The listing tells you a SKU has open-box offers, but the price on the row is the new price and condition says new. The open-box prices need Step 2. Two things to know about this listing: Best Buy's open-box view does not offer a biggest-discount sort, so a "sort": "best_discount" here comes back in best-selling order (the response's sort field says best_selling); and sorting by biggest discount does work with the clearance filter, which turned the same category into 135 clearance TVs led by an 80% markdown. Change category_id for laptops, phones or appliances; a product's category_path gives you the ids.

Step 2: Read every open-box offer on a SKU

Bash
curl -s https://api.scavio.dev/api/v1/bestbuy/product \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sku": "6679051"}'

Captured in 2.8 seconds (description, features, specifications, images, manuals and the review summary trimmed):

JSON
{
  "sku": "6679051",
  "name": "LG - 48\" Class B6 OLED AI 4K Smart webOS TV with Perfect Black, Vivid Color and Magic Remote   (2026)",
  "brand": "LG",
  "model": "OLED48B6GUA",
  "upc": "195174142301",
  "condition": "new",
  "price": 599.99,
  "regular_price": 1199.99,
  "savings": 600,
  "savings_percent": 50,
  "on_sale": true,
  "badge": "Holiday Deal",
  "deal_ends_at": null,
  "financing": { "months": 18, "monthly_payment": 33.34, "rate": 0, "plan_type": "Deferred" },
  "open_box": [
    { "condition": "fair", "price": 515.99, "savings_vs_new": 84, "savings_vs_regular": 684, "savings_percent": 57, "url": "https://www.bestbuy.com/product/lg-48-class-b6-oled-ai-4k-smart-webos-tv-with-perfect-black-vivid-color-and-magic-remote-2026/JJ8VPZZCTJ/sku/6679051/openbox?condition=fair" },
    { "condition": "good", "price": 533.99, "savings_vs_new": 66, "savings_vs_regular": 666, "savings_percent": 55, "url": "https://www.bestbuy.com/product/lg-48-class-b6-oled-ai-4k-smart-webos-tv-with-perfect-black-vivid-color-and-magic-remote-2026/JJ8VPZZCTJ/sku/6679051/openbox?condition=good" },
    { "condition": "excellent", "price": 551.99, "savings_vs_new": 48, "savings_vs_regular": 648, "savings_percent": 54, "url": "https://www.bestbuy.com/product/lg-48-class-b6-oled-ai-4k-smart-webos-tv-with-perfect-black-vivid-color-and-magic-remote-2026/JJ8VPZZCTJ/sku/6679051/openbox?condition=excellent" }
  ],
  "seller_type": "best_buy",
  "other_offers": [
    { "sku": "12848593", "condition": "new", "seller_type": "marketplace" }
  ],
  "rating": 4.6,
  "review_count": 117
}

open_box[] is sorted cheapest first and lists only the conditions on offer right now; it is an empty list when there are none. savings_percent on an open-box row is measured against the regular price, so read savings_vs_new to see what the offer saves against the new price you could pay today. Here, excellent is $48 under new, not 54% off. The url on each row links to that condition's offer page. Product detail also returns the UPC and model for matching across retailers, the spec table and Best Buy's AI review summary.

Step 3: Compare grades across a watchlist

Run Step 2 for each SKU you care about and line the grades up against the new price. We did it for 8 TVs from Step 1's listing, one call each:

Open-box prices for 8 TVs at Best Buy on November 8, 2026: open-box excellent was 5 to 8 percent under the new holiday price on 7 of 8; the exception was a Toshiba 43-inch M450 QLED at 28 percent

Open-box excellent was 5% to 8% under the new price on 7 of 8, median 7.9%, and fair was 11% to 14% under it on the same 7. The Toshiba 43" M450 QLED was the one worth flagging: $179.99 new, $128.99 excellent and $115.99 fair. An alert on savings_vs_new divided by price above, say, 20% would have fired on that TV alone. Each check is 2 credits, so 8 SKUs a day is 16 credits.

Step 4: Check store pickup near a ZIP

Bash
curl -s https://api.scavio.dev/api/v1/bestbuy/availability \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sku": "6679051", "zip": "10001", "max_stores": 8}'

Captured in 6.8 seconds (5 of 8 stores trimmed):

JSON
{
  "sku": "6679051",
  "zip": "10001",
  "store_count": 8,
  "in_stock_count": 7,
  "status_counts": { "in_stock": 6, "ship_to_store": 1, "limited": 1 },
  "stores": [
    { "store_id": "482", "name": "Chelsea (23rd and 6th)", "zip": "10010", "distance_miles": 0.5, "status": "in_stock", "quantity": null, "pickup_date": "2026-11-08", "min_pickup_hours": 1, "nearby_alternative": null, "reason": null },
    { "store_id": "1028", "name": "Midtown Manhattan (44th and 5th)", "zip": "10017", "distance_miles": 1, "status": "ship_to_store", "quantity": null, "pickup_date": "2026-11-13", "min_pickup_hours": null, "nearby_alternative": { "store_id": "482", "name": "Chelsea (23rd and 6th)", "zip": "10010", "distance_miles": 1.3, "pickup_date": "2026-11-08", "quantity": null }, "reason": null },
    { "store_id": "474", "name": "Secaucus", "zip": "07094", "distance_miles": 4.2, "status": "limited", "quantity": 2, "pickup_date": "2026-11-08", "min_pickup_hours": 1, "nearby_alternative": null, "reason": null }
  ]
}

This is pickup status for the new TV, not for an open-box unit: open-box offers carry no store and no unit count, so the API cannot tell you which store holds an open-box item. quantity is set only when the status is limited, when Best Buy itself shows "only N left" (2 at Secaucus); in_stock rows carry null. The call costs 2 credits for 1 to 8 stores, and you can pass store_ids instead of zip.

Step 5: Get store hours before you go

Bash
curl -s https://api.scavio.dev/api/v1/bestbuy/stores \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"zip": "10001"}'

ZIP 10001 returned 15 stores in 1.6 seconds, nearest first, each with store_id, address, phone, open status, distance and dated hours for the next 35 days. The Chelsea store's rows show Thanksgiving, November 26, as closed: true, and Black Friday, November 27, open from 06:00 to 22:00. A store_id from here feeds store_ids on Step 4. 1 credit.

Step 6: Re-check prices 15 SKUs at a time

Bash
curl -s https://api.scavio.dev/api/v1/bestbuy/prices \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"skus": ["6607829", "6614070", "6679051", "6672731", "6623790"]}'

skus takes 1 to 15 SKUs as an array or a comma-separated string, and the call is 2 credits whatever the count. Our 15-SKU call returned all 15 in 2.8 seconds; three rows, as captured:

JSON
[
  { "sku": "6614070", "found": true, "price": 69.99, "regular_price": 129.99, "savings": 60, "savings_percent": 46, "on_sale": true, "badge": "BlackFriday", "deal_ends_at": null },
  { "sku": "6679051", "found": true, "price": 599.99, "regular_price": 1199.99, "savings": 600, "savings_percent": 50, "on_sale": true, "badge": "Holiday Deal", "deal_ends_at": null },
  { "sku": "6623790", "found": true, "price": 139.99, "regular_price": 209.99, "savings": 70, "savings_percent": 33, "on_sale": true, "badge": null, "deal_ends_at": null }
]

Use it to watch the new price hourly and save the per-SKU /product call for once a day. /prices does not return open-box prices. A SKU Best Buy does not know comes back "found": false. deal_ends_at was null on all 15 rows, while the product call for the Insignia 50" F50 (6607829) showed "2026-11-08T23:59:59 CST", so read deal end times from /product.

Step 7: Pull the Deal of the Day

Bash
curl -s https://api.scavio.dev/api/v1/bestbuy/deals \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

No parameters. On November 8 it returned the Deal of the Day, a Greenworks 80-Volt 750 CFM handheld blower at $99.99 against $299.99 (66% off, 4.4 stars from 167 reviews), and the 14 deals under it, from a $25.98 magnetic marble run to a $1,499.99 Frigidaire range, with countdown_ends "2026-11-09 00:00", shown without a time zone. 3 credits. Save it daily and you have a Deal of the Day history.

All nine endpoints

EndpointWhat it returnsCredits
/api/v1/bestbuy/search18 products a page with price, regular price, savings, badge, condition and rating; filters for brand, on sale, clearance, open box and price2
/api/v1/bestbuy/categoryAny category or deals page by id or URL, same shape and filters as search2 (abcat), 3 (pcmcat)
/api/v1/bestbuy/productOne SKU: UPC, model, price block, every open-box offer by condition, specs, financing, other offers2
/api/v1/bestbuy/pricesPrice, regular price, savings, on-sale flag and badge for 1-15 SKUs2
/api/v1/bestbuy/availabilityStore pickup status and date for one SKU at up to 8 stores2
/api/v1/bestbuy/reviews20 reviews a page with the star histogram, recommended percent and pros and cons2
/api/v1/bestbuy/dealsThe Deal of the Day and up to 14 more deals3
/api/v1/bestbuy/storesUp to 15 stores near a ZIP with 35 days of dated hours1
/api/v1/bestbuy/suggestionsThe search box's autocomplete with categories and SKUs per term1

Suggestions are a quick way into a category: "open box" returned 13 terms on November 8, among them "open box tv" mapped to All Flat-Screen TVs (abcat0101001) and "open box laptop" to Windows Laptops and All Laptops. For a side-by-side of every Best Buy option, see the best Best Buy price tracker APIs.

Getting started

  1. Sign up at dashboard.scavio.dev/sign-up: 50 free credits, no card required, enough for 25 Best Buy product calls.
  2. Copy your API key from the dashboard.
  3. Send a POST to /api/v1/bestbuy/product with {"sku": "6679051"} and your key in the Authorization header.

Try the Best Buy API free in the playground first, or call it from Claude and other agents through the MCP server. It covers bestbuy.com in the United States; Best Buy Canada is not covered.

Reference: Best Buy API overview · product · category · availability · stores · prices · deals · reviews · search · suggestions

Frequently asked questions

What are the Best Buy open-box conditions?

Best Buy grades open-box items as excellent, good or fair, and prices each grade separately. Scavio's /api/v1/bestbuy/product returns each grade on offer as a row in open_box[] with its price, savings_vs_new, savings_vs_regular and a link to that offer. On November 8, 2026, all 8 TVs we checked from the open-box TV listing had all three grades, with excellent the most expensive and fair the cheapest.

How much cheaper is open-box excellent than new at Best Buy?

Less than the label suggests during a sale. Best Buy's savings percent on an open-box offer is measured against the regular price, so it read 54% for an LG 48-inch B6 OLED at $551.99. Against the new holiday price of $599.99 that same offer saved $48, 8%. Across 8 TVs on November 8, 2026, the median was 7.9%.

Can I see which Best Buy store has an open-box item?

Not through Scavio. Open-box offers come back with a condition, price and link, but no store and no unit count. /api/v1/bestbuy/availability returns store pickup status for the new item at up to 8 stores near a ZIP, which tells you where to pick up a new unit, not an open-box one.

Does Best Buy price match open-box items?

No. Best Buy's Price Match Guarantee covers new items and excludes open-box items, so if an open-box price drops after you buy, Best Buy will not refund the difference. Checking the open-box price on a schedule before you buy is the only way to catch a lower one.

How much does Best Buy data cost with Scavio?

Product, search, reviews and prices cost 2 credits a call, $2 per 1,000 requests at the Growth rate of $1 per 1,000 credits. Category is 2 credits for an abcat category and 3 for a pcmcat page, deals 3, availability 2 for up to 8 stores, and stores and suggestions 1. Errors such as an unknown SKU (404) are not charged, and new accounts get 50 free credits with no card.

Best Buy open-box prices as JSON

  • Fair, good and excellent price per SKU
  • Savings against new and against regular
  • Store pickup, Deal of the Day and 15-SKU prices
Try the Best Buy API free

50 free credits, no credit card

On this page

  1. Step 1: Find SKUs with open-box offers
  2. Step 2: Read every open-box offer on a SKU
  3. Step 3: Compare grades across a watchlist
  4. Step 4: Check store pickup near a ZIP

Related articles

View all
  • scavio
    Comparison / Price monitoring
    Best buy
    7 Best Best Buy Price Tracker APIs in 2026: Scavio Prices 15 SKUs per Request, With Open-Box Prices by Condition
  • scavio
    Ecommerce / Price monitoring
    Nordstrom rack
    How to Get Nordstrom Rack Clearance Prices and Product Data Through an API
ScavioScavio

One scraper API for every social, search, e-commerce and real estate platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy