---
title: "Best Buy Integration"
description: "The Best Buy Developer APIs are a read-only window onto Best Buy's retail catalog, store network and in-store availability. Agents watch SKUs and categories for price drops, check availability near a store, pull recommendations and open box offers, and keep a local product feed in sync."
url: https://flowrunner.ai/integrations/best-buy
date_modified: 2026-09-04T19:08:45-07:00
---

# Best Buy

[E-commerce](https://flowrunner.ai/integrations/category/e-commerce)

The Best Buy Developer APIs are a read-only window onto Best Buy's retail catalog, store network and in-store availability. Agents watch SKUs and categories for price drops, check availability near a store, pull recommendations and open box offers, and keep a local product feed in sync.

21 actions · API key · available

[Best Buy website](https://bestbuy.com/) · [Platform Documentation](https://developer.bestbuy.com) · Capability data verified 2026-08-26

1.  The scheduled competitive check for a watched SKU set begins
2.  Get Products By SKU List pulls the whole set in one request instead of a loop
3.  The agent reads current price, availability and the offers attached to each SKU
4.  Each price is compared against the internal price for the product it is matched to
5.  Rows whose basis is an open box offer or an inactive listing are marked not comparable
6.  The pricing channel receives the movers with the comparison basis stated on every row
7.  A merchandiser decides which of your own prices actually move

## What This Integration Enables

Best Buy's developer APIs are a read only surface, and that constraint is the whole shape of this connector. There is nothing here that writes to a store, changes a price or places an order. What there is instead is a large retail catalog, the store network behind it, in store availability by location, behavioral recommendations, and the open box feed of discounted returned stock. FlowRunner agents search that catalog with the vendor's own filter syntax, walk large result sets with a cursor when page numbers stop working, keep a local copy current through the delta operation that stands in for the webhooks this API does not have, and answer store and stock questions from a postal code.

Because nothing here writes, the risk does not live in the connector. It lives one system downstream, in whatever your workflow does with the number it just found. A price pulled from a single item lookup can belong to a product that is no longer actively sold, because that route ignores the filters the collection routes apply. An open box price belongs to a graded, previously returned unit rather than to new stock. Agents can carry both facts forward, but only a person should decide whether a number gathered that way is allowed to move your own price. That is [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) placed where the consequence is, not where the API call is.

### Without FlowRunner

**Price checks by hand**: Someone opens retailer pages on a cadence nobody can sustain, so the check happens when there is time

**Comparisons without a basis**: A lower number gets treated as a competitive price without anyone confirming it is the same product in sellable condition

**Store availability is guesswork**: Answering whether an item can be collected nearby means a phone call or a wrong answer

### With FlowRunner

**The check runs on a schedule**: SKU sets, categories and open box feeds are polled on the cadence the team chooses

**Every comparison carries its basis**: Each row states whether it came from a live listing, an open box offer or a record that is no longer active

**Availability is a lookup**: Store, radius and in store stock questions are answered from the same workflow that found the price

## Use Case Scenarios

### A competitive price check with its basis attached

A set of competitor SKUs sits in [Google Sheets](https://flowrunner.ai/integrations/google-sheets). On a schedule the agent calls Get Products By SKU List for the whole set in one request, which is the vendor's own recommended alternative to a per SKU loop that provokes rate errors. Each returned price is joined to the internal product it maps to, and the agent stamps every row with where the figure came from: a live collection result, a single item lookup that may be inactive, or an open box offer with its condition grade. Movers post to [Slack](https://flowrunner.ai/integrations/slack) with the basis in the message, so the conversation starts from evidence rather than from a number with no provenance.

### Keeping a local catalog in step without webhooks

There is no change notification on this API, so the agent uses List Changed Products, which walks everything modified since a given moment using the vendor's documented delta recipe. Products that went inactive are reported as changed rather than silently disappearing, which is exactly the case a naive sync misses. The results refresh an internal catalog, and where a product needs richer detail the agent calls Get Product for the full attribute set including features, images and offers. A parallel pass over your own catalog in [Shopify](https://flowrunner.ai/integrations/shopify) resolves which internal records the changes belong to.

### Answering the collection question

A customer service workflow needs to know whether an item can be picked up near a shopper today. The agent resolves the department to a category id with Search Categories, finds the SKU, then calls Check In Store Availability with the shopper's postal code. The response carries per store distance, a low stock flag and the minimum hours before the item is ready. Find Stores Near supplies the addresses and Get Store fills in opening hours and the in store services list, both of which the store API withholds unless the full attribute set is requested. The agent replies with locations and times rather than with a link.

## Human-in-Loop Highlight

The one way door on this workflow is not in Best Buy. It is the moment your own price changes on the strength of a number an agent found. That number can be misleading in two specific ways this API makes easy to hit: Get Product on a single SKU returns a record even when the product is no longer active, because that route ignores the active, digital and preowned filters the collection routes apply, and every result from Get Open Box Offers For Product describes a graded, previously returned unit rather than new stock. So the repricing agent gathers and stops. It posts: "Four of your SKUs are undercut. Two comparisons came from live listings. One came from an open box offer at condition grade Excellent. One came from a single item lookup on a SKU that no longer appears in category results. Which of the four are you willing to price against?" The merchandiser answers, and the two questionable rows never quietly become a margin decision nobody made.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

21 actions

### Products

7

-   **Search Products** Searches the catalog using the vendor's filter expression, which this connector places inside the request path where the API expects it. Returns paged results with optional attribute selection, sorting and facet counts, and flags a partial result set when the query times out.
-   **Search Products With Cursor** Walks a large result set with the cursor the API requires beyond roughly ten pages, where ordinary page numbers stop working. Each call returns the marker for the next one, and an empty result set marks the end of the walk.
-   **Get Product** Retrieves one product by SKU with every attribute, including pricing, images, features, offers and purchase links. Unlike the collection routes it ignores the implicit active, digital and preowned filters, so it returns a record even for a product no longer being sold.
-   **Get Products By SKU List** Fetches many products in a single request using the vendor's in list operator, which is their own recommended way to avoid the rate errors a per SKU loop provokes. Raise the page size past its default when asking for more SKUs than that.
-   **Keyword Search Products** Searches by keyword across name, manufacturer, descriptions, features and details, joining every term as an AND. The wrapper exists because a keyword written with a space silently becomes an OR that balloons the result set.
-   **Get Product Warranties** Lists the extended warranty and protection plan options sold alongside a product, each with its own SKU, name, price and term. Used when a workflow prices or presents an attachment offer next to the item.
-   **List Changed Products** Walks every product changed since a given moment using the vendor's documented delta recipe. This is the closest thing to change notification on an API with no webhooks, and it reports products that went inactive instead of letting them vanish.

### Categories

4

-   **List Categories** Lists the category tree with each category's opaque id, name and path from the root. Category ids are what every category filter elsewhere expects, so this is where a workflow finds them.
-   **Search Categories** Finds categories by filter expression, most often a trailing wildcard on the name. Used to turn a human readable department into the opaque id the product filters need.
-   **Get Category** Retrieves one category by id with its name, its path back to the root and its immediate subcategories. Used to walk downward from a department toward the leaf a product search should filter on.
-   **List Products In Category** Lists the products in a category by filtering on the category path, which matches anywhere in a product's path and therefore includes everything beneath it. Combine it with a price, brand or availability filter, or with a facet for grouped counts in the same call.

### Stores

4

-   **Search Stores** Finds retail locations by state, city, postal code or store id, returning address, phone, store type and opening hours. Ask for the full attribute set when detailed hours or the per store services list are needed, because both are hidden by default.
-   **Find Stores Near** Finds stores within a radius of a postal code or a latitude and longitude pair, adding a distance in miles to every result. This is the operation behind a store locator, and it uses a different syntax from the plain store filters.
-   **Get Store** Retrieves one store by id with every attribute, including the detailed hours breakdown and the list of in store services. Used to show opening times or confirm that a location offers a particular service.
-   **Check In Store Availability** Checks which nearby stores currently hold a SKU, returning per store distance, a low stock flag and the minimum hours before the item is ready for pickup. Supply a postal code to search around, or a single store id to check one location.

### Recommendations

3

-   **Get Trending Products** Returns the products whose views are rising fastest, optionally within a single category. The recommendations API reports paging with different field names from the rest of the catalog, so this operation adds a normalized pagination block alongside the original fields.
-   **Get Most Viewed Products** Returns the most viewed products, optionally within a single category, ranked by view volume rather than by how fast that volume is growing. Pair it with the trending operation when a workflow wants both the established sellers and the risers.
-   **Get Related Products** Returns products related to a SKU by one of three behavioral relationships: also viewed, also bought, or viewed and ultimately bought. All three share a response shape, so they are one operation with a relationship choice rather than three near identical actions.

### Open Box

3

-   **Get Open Box Offers For Product** Lists the open box offers available for one product, each with its condition grade, its own price and its purchase link. Served from a beta path the vendor has not committed to stabilizing, so treat the response shape as subject to change.
-   **Get Open Box Offers For SKU List** Lists open box offers for several SKUs in one request using the in list operator, which the vendor recommends over looping. Also served from the beta path, so the response shape is not yet guaranteed.
-   **Get Open Box Offers By Category** Lists every open box offer currently available within a category, which is the practical way to watch a department for discounted returned stock. Also served from the beta path, with the same stability caveat.

## Frequently Asked Questions

### What can FlowRunner do with Best Buy?

FlowRunner agents can run Search Products, Search Products With Cursor, and Get Product in Best Buy, plus 18 more actions.

### Does connecting Best Buy to FlowRunner require OAuth?

No. Best Buy connects to FlowRunner with an API key, no OAuth flow required.

### Can Best Buy trigger a FlowRunner workflow automatically?

Best Buy doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Best Buy?** This integration exposes Best Buy to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/best-buy. Site index: https://flowrunner.ai/llms.txt
