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
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):
{
"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
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):
{
"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 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
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):
{
"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
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
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:
[
{ "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
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
| Endpoint | What it returns | Credits |
|---|---|---|
/api/v1/bestbuy/search | 18 products a page with price, regular price, savings, badge, condition and rating; filters for brand, on sale, clearance, open box and price | 2 |
/api/v1/bestbuy/category | Any category or deals page by id or URL, same shape and filters as search | 2 (abcat), 3 (pcmcat) |
/api/v1/bestbuy/product | One SKU: UPC, model, price block, every open-box offer by condition, specs, financing, other offers | 2 |
/api/v1/bestbuy/prices | Price, regular price, savings, on-sale flag and badge for 1-15 SKUs | 2 |
/api/v1/bestbuy/availability | Store pickup status and date for one SKU at up to 8 stores | 2 |
/api/v1/bestbuy/reviews | 20 reviews a page with the star histogram, recommended percent and pros and cons | 2 |
/api/v1/bestbuy/deals | The Deal of the Day and up to 14 more deals | 3 |
/api/v1/bestbuy/stores | Up to 15 stores near a ZIP with 35 days of dated hours | 1 |
/api/v1/bestbuy/suggestions | The search box's autocomplete with categories and SKUs per term | 1 |
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
- Sign up at dashboard.scavio.dev/sign-up: 50 free credits, no card required, enough for 25 Best Buy product calls.
- Copy your API key from the dashboard.
- Send a POST to
/api/v1/bestbuy/productwith{"sku": "6679051"}and your key in theAuthorizationheader.
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.