All notable changes to the Best Buy API will be documented in this file.
- We have a new attribute set that will provide a broader range of product relationships – currently the data includes color and size relationships as well as some brand collections, though these relationship types will expand over time. The new attribute is
productVariations
and includesvariations.name
andvariations.value
byproductVariations.sku.
- The
discs[].tracks)
attribute set shows name and sequence for songs on the designated music SKU - Contract pricing for mobile devices (
contracts[].type,
contracts[].prices,
contracts[].priceNote,
etc): this attribute set reflects monthly pricing for activated devices such as mobile phones and tablets, including number of payments, current, and regular pricing
- We are deprecating three attributes:
relatedProducts,
productFamilies,
andfrequentlyPurchasedWith.
Data in these fields may already be stale. We will be deleting these attributes from the response document in early 2018: this is a change in our contract. onlineAvailabilityText,
onlineAvailabilityTextHtml,
inStoreAvailabilityText,
andinStoreAvailabilityTextHtml
are deprecated fields. The data in these fields may not match availability on BestBuy.com and values are likely to become stale in the coming weeks.- Content changes will start flowing through our APIs that will replace our 10-digit SKUs (primarily used with digital products) to 7-digit SKUs. If you have logic in place based on SKU length, be aware of this change.
- You can now query for near real time store availability on a per-SKU basis. You can query either based on
storeId
or onpostalCode.
Complete information is available in our documentation: https://bestbuyapis.github.io/api-documentation/#in-store-availability
- The
beta/products/<sku>/similar...
endpoint is no longer active. Queries to this endpoint will 404. The source for that data was deprecated.
- Image links in our Catalog APIs are now served as SSL (e.g., https://img.bbystatic.com/BestBuy_US/images/products/...)
- Searching for an unrecognized query parameters will no longer return a 400 error.
- Product searches now include more useful information, including available offers and free items.
- Querying a nested attribute such as mobile carrier terms or mobile plan features will no longer return a 500 error.
- Searching strings containing special characters such as
-
or*
will no longer return a 500 error. - We have expanded the number of products available when querying with
friendsAndFamilyPickup
.
- Expanding on the existing
offers.type
ofdigital_insert
,gift_with_purchase
is now also being exposed. This will help API consumers identify special deals where purchase of an item entitles the end-user to another item at a discount
- Before this release, if an API query string included an unknown parameter the system would return an HTTP 400 error. Although some very intelligent API specs prefer the previous pattern (such as https://github.com/cloudfoundry/cc-api-v3-style-guide#query-parameters), we've made a change to ignore unknown parameters in hopes that applying the Robustness principle (https://en.wikipedia.org/wiki/Robustness_principle) to the API simplifies adoption of new parameters.
- The API is working on reducing the number of similar URL fields in our results, with the goal of reducing from 8 fields to 2. This release is the first step in that effort, moving URLs from pointing to www.bestbuy.com/... to api.bestbuy.com/click... This change will enable future features not previously possible, such as expanded Add To Cart functionality and automatic attachment of affiliate codes. A newsletter and blog post will be released soon to elaborate on this change.
- From 6/16 through 6/23, several products in the API were returning
addToCart
as blank. This has been fixed.
- Shipping cost will now be calculated based on shippingLevelsOfService
serviceLevelId
rather thanserviceLevelName
. Users will not see a difference in the response document. - Certain products available for presale have displayed a dummy
releaseDate
of 12/31/YYYY. To avoid customer confusion, this date will now pass as null.
We have deprecated the bestBuyItemID attribute. We will be deleting it throughout Best Buy systems and forcing the value for that attribute to an empty string.
Due to alterations in our source systems, the following changes have been made in our Products API:
- Bundle SKUs (SKUs that include multiple products in the purchase, e.g., a DSLR camera, lens and case sold together where
type=bundle
) will not include shipping data in the response. mobileUrl
field is now a mirror ofurl
. It should be considered deprecated and we advise consumers to update their code to no longer use it.accessories
attribute is now deprecated and will no longer contain suggested accessory SKUs.bestBuyItemID
is a deprecated attribute and will return a null value. This is a field that was hidden by default and should not impact many customers. Please use the sku identifier as a unique identifier for all Best Buy products.
- Added
shippingLevelsOfService
attribute to Products API in accordance with changes made to shipping options on BESTBUY.COM - Updated shipping data is being delivered via the existing shipping attribute as well in order to minimize impact during the pre-holiday and holiday season
- Current shipping attribute has been deprecated and will be removed
- The
protectionPlans
attribute for GeekSquad Protection Plans/Services will not return any plan data until further notice
- The Offer Transition project in Products API has completed and all offers of type
special_offer
have been restored.
- Update on Offer Transition in the Products API: We are almost finished transitioning how the Products API receives offers. You may notice a temporary decrease in the number of offers available during this transition. Our plan is to provide full offers by the end of August.
- Retired
Featured Offers
from Products API for reasons noted in R15.5 - We continue to provide
Special Offers
,Deal of the Day Offers
andDigital Insert Offers
- Updated
postal codes
in Remix to include any new codes. Queries that include the Stores API may now return additional stores.
- Possible data outage: Throughout July and August, product-offer information within Best Buy is being adjusted. There may be sporadic times when endpoints containing promotion information (e.g. “This item has free shipping.”) will be negatively impacted.
- Updated the Product Offers Deal of the Day source
- No longer populating Deal of the Day
offers.text
field, as it was determined to be repetitive - No longer publishing a SKU with a rank of 1 for the following attributes due to past confusion:
bestSellingRank
salesRankShortTerm
salesRankMediumTerm
salesRankLongTerm
- Removed Featured Offers from Products API, as this data has evolved into landing pages on BESTBUY.COM instead of individual SKUs
Address2
attribute to Stores API, providing additional address information for Best Buy stores
Active Adventurer
endpoint to the SmartList API, providing top-rated fitness and outdoor products- Categories API to the Query Builder tool, allowing queries based on:
- All Categories
- Top Level Categories
- Search Categories by Name
- Search Categories by Category Id
- Removed mock 404, as we have improved our code enough to make it rare and extraneous
- Now including
pageSize
andpage
as part of the Canonical URL in our response document. This will impact the following endpoints: - Open Box by Category
- Open Box All SKUs
- SmartLists API to provide a guided shopping experience for the Connected Home endpoint and more
- Replaced API Console with Query Builder, allowing user to create queries for most of our APIs
- Updated Recommendations and Buying Options endpoints to return results for inactive SKUs, Categories and SubCategories
- Open Box List of SKUs to Buying Options API
- Returns at most 100 SKUs
- Added
pre-owned
value tocondition
attribute, to represent products that were previously owned and Best Buy received as part of a trade-in before reselling - Expands
pre-owned
to include all products of type hardgood in addition to game
- Enhanced
Trending Products
endpoint in Recommendations API to allow searching by Category or Subcategory
- Enhanced
Open Box
endpoint in Buying Options API to allow searching by Category or Subcategory - Renamed the
Open Box Multi SKU
endpoint toOpen Box All SKUs
- Removed
arg
from Buying Options and Recommendations endpoints, as the information was already available in the canonical URL
- Buying Options API Beta
- Provides information about ship-from-store eligible Open Box products, including availability, condition and special pricing
- New
express
value added tostoreType
attribute of Stores API to identify Best Buy Express kiosk locations - Also added attribute for instances where existing Best Buy Express address information is insufficient
- Enhancements to Recommendations API
- Added several attributes
- Enhanced
Most Popular Viewed
endpoint to allow pulling top products by category or subcategory - Moved
productLink
attribute to links section and renamed itproduct
- Corrected reference to
productsHardGood
in Archives toproductHardgood
- Further Products API attributes to be deprecated, as per R14.6:
analogAudioInputs
- DeprecatedavOutputs
- DeprecatedbrightnessNits
- New IntbrightnessCdPerSqM
- New IntbuiltInDigitalCamera
- will continue, and will be further expressed as New Booleans:frontFacingCamera
andrearFacingCamera
frontFacingCamera
- New booleanrearFacingCamera
- New booleanbuiltForBluRay
- DeprecatedbuiltInPlayer
- DeprecatedcapacityCuFt
- will be supplemented with New DecimalscapacityRefrigeratorCuFt
andcapacityFreshFoodCuFt
capacityFreezerCuFt
- New Decimalclock
- DeprecatedcombFilter
- DeprecatedcustomSettings
- DeprecatedcycleDescriptions
- DeprecateddigitalAudioOutputs
- Deprecated and replaced with New IntnumberOfOpticalDigitalAudioOutputs
andnumberOfCoaxialDigitalAudioOutputs
digitalOutputs
- DeprecateddigitalTuner
- DeprecateddolbyDigitalDecoder
- DeprecateddynamicContrastRatio
- Deprecated and replaced with New StringsmaximumContrastRatioDynamic
andminimumContrastRatioDynamic
estimatedYearlyOperatingCosts
- Deprecated (was a list of values) and replaced with New IntestimatedYearlyOperatingCostsUsd
fiveOneChannelInput
- DeprecatedfiveOneChannelOutput
- DeprecatedfrontPanelAvInputs
- DeprecatedfrontSurroundPowerPerChannel
- DeprecatedhdRadioCompatible
- DeprecatedhdRadioReady
- DeprecatedhdtvCompatibility
- DeprecateheightWithStandIn
- Deprecated and replaced with New DecimalproductHeightIn
maximumStandHeightIn
- New DecimalminimumStandHeightIn
- New DecimalstandHeightIn
- New DecimalipodDock
- DeprecatediphoneAccessory
- DeprecatedlcdScreenSizeIn
- Deprecated, users should rely onscreenSizeIn
ledButtons
- DeprecatedmaximumPowerHandling
- DeprecatedmaximumResolutionHorizontalPx
- DeprecatedmaximumResolutionVerticalPx
- DeprecatedmediaPort
- Deprecatedmms
- Deprecatedmp3PlaybackCapability
- DeprecatedpcInputs
- Deprecated, replaced with New BooleanpcInput
phonoInputs
- DeprecatedpowerSourceRatings
- DeprecatedpreampOutputs
- DeprecatedrearSurroundPowerPerChannel
- DeprecatedrfAntennaInputs
- Deprecated, replaced with New BooleanrfAntennaInput
sanitationAllergyCycle
- Deprecated, replaced with New BooleanssanitationCycle
andallergyCycle
satelliteRadioReady
- DeprecatedsdCardSlot
- DeprecatedshelfSystemType
- DeprecatedsixOneChannelInput
- DeprecatedsoundLeveler
- DeprecatedsoundType
- DeprecatedspeakerLocation
- DeprecatedsubwooferPowerWatts
- DeprecatedsubwooferSizeIn
- DeprecatedsurroundSoundDecoders
- DeprecatedthreeDPassThrough
- DeprecatedthruTheDoorIceDispenser
- Deprecated, replaced withthroughTheDoorDispenser
thruTheDoorWaterDispenser
- Deprecated, replaced withthroughTheDoorDispenser
touchPadControls
- DeprecatedwaterFiltrationReplacementIndicatorLight
- DeprecatedwattsPerChannel
- Deprecated, replaced withwattsPerChannelRms
- Updated various Products API attributes to make product data more consistent and easier to understand
- These attributes will no longer appear as top-level on product data returned by the Products API
- Data represented by these attributes may still be available in the details collection of relevant products, but the detail name, format and structure of the detail value may change
- Some attributes will be gradually phased out
avOutputs
builtForBluRay
clock
customSettings
cycleDescriptions
digitalAudioInputs
digitalAudioOutputs
digitalOutputs
digitalTuner
dolbyDigitalDecoder
fiveOneChannelInput
fiveOneChannelOutput
hdtvCompatibility
sixOneChannelInput
-
Runtime responses from the Products API will continue to indicate that these attributes can be used for searching, even as the attributes slowly disappear from the product data. For instance, the top level attribute
clock
is being retired. Over time, the results of a search onclock=*
will diminish. Eventually, that search will return no results. However, in the details of some products, you may find a detail namedclockDisplay
with a value of "Yes" or "No". In other products, you may find details named with other variations indicatingclock
with a variety of possible values. This will impact applications that provide filtering using the top level attributes. If an application provides filtering for whether products include a clock using theclock
top level attribute, that filtering will cease to work as expected over time. This change should not cause such an application to produce an error or cease functioning. -
The product data updates will also impact applications that display these attributes. In this example, the
clock
attribute will no longer display. If the application has hard-coded usage of theclock
attribute, that application may produce errors or cease functioning.
- Recommendations API Beta endpoints:
similar
- takes any hardgood or software SKU and returns the top products similar to it based on the number of product attributes that matchtrendingViewed
- returns what is hot right now on BESTBUY.COM by returning the top ten trending products based on product page views over a specific timeframemostPopular
returns the most frequently viewed products across all of BESTBUY.COM based on page views (versus Trending Products that shows change in velocity)alsoViewed
returns the most frequently viewed products other customers viewed after the driver SKU
- To access these new endpoints while they are in beta, please send your user name and key(s) to [email protected] and we will enable them for your existing API key(s). If you don't have an API key, visit our registration page first. The response returned from our Recommendations endpoints is similar to that of our Products API.
- New attribute to Products API
customerTopRated
- indicates if a product is top-rated based on customer reviews- Two attributes to Stores API
storeType
- provides information such as "Big Box" or "Mobile"tradeIn
- provides store trade-in policy and conditions for trading in products such as mobile phones and games
- Updated data source for
relatedProducts
attribute to provide both more relevant related product information and data for more SKUs in our catalog
- Unspecified operational updates
productFamilies
attributes to Products API, listing associated SKUs based on specified groupings (alternate color, for instance)
- Deactivated Commission Junction links after converting to LinkShare, replaced with a 400 Bad Request error
- Removed two attributes from Products API:
cjAffiliateUrl
cjAffiliateAddToCartUrl
- New hours attributes for Stores API
detailedHours.day
- specific day of the weekdetailedHours.date
- provides the date of the daydetailedHours.open
- store opening time for that daydetailedHours.close
- store closing time for that daygmtOffset
hoursAmPm
- store open hrs for the entire week in AM/PM format
- Added support for a
facet=attribute,{number of facets}
function for attributes which can be queried
- Products API attribute to indicate whether a SKU qualifies for a specific 9/12/13 free shipping promotion
- Two Products API attributes for our new Affiliate Management Agency LinkShare
linkShareAffiliateUrl
takes customer to PDP of the product and track referral creditlinkShareAffiliateAddToCartUrl
initiates a bestbuy.com cart with the product in the cart and tracks referral/sales credit
- Added support for a
range(lower,upper)
function for numeric and date attributes only - Added support for approximate searches on date-type and time attributes using tilde (~) operator
- Added support for approximate searches on numeric attributes using the tilde (~) operator
- New Products API attributes
regular price
andsale price
for cell phones with plans for both new two year contracts and upgrades to clarify cell phone pricingtechSupportPlans
attribute to associate Geek Squad Technical Support SKUs to the parent SKU
- Two attributes to Products API
percentSavings
attribute - calculates savings betweenregularPrice
andsalePrice
attributelowPriceGuarantee
- finds SKUs that qualify for the Best Buy Low Price Guarantee- One attribute to Stores API
services.service
- finds stores offering specific services
shippingRestrictions
attribute to Products API to indicate Marketplace products with restrictions- Three new
Music
attributesmediaCount
- Number of discsmonoStereo
- Mono or stereo recordingstudioLive
- Studio or live performance
- Six new
Movies
attributes additionalFeatures
- Bonus tracks, interviews, trailers, etc.videoChapters
- The movie's scenesvideoLanguage
- Main audio languagescreenFormat
- Enhanced Widescreen for 16x9 TV, Full Screen, Widescreen, etc.subtitleLanguage
fulfilledBy
- Indicates if a title is fulfilled by Cinema Now
- Expanded
dollarSavings
in Products API to include all products - Expanded
shippingWeight
in Products API to include all shippable products
productTemplate
attribute to Products API, making our product data-modeling template public- Subsets to allow more focused searches of our archives
- Importing more digital products data to match Best Buy's expanded assortment
priceRestriction
attribute to Products API to accommodate "See price in cart" listings
- Categories can now be made active or inactive
- New Reviews API attribute
planPrice
attributes for Mobile Phones
- Updated Stores API to avoid returning recently closed stores
- Updated logic that sets values in Boolean attributes
onlineAvailability
andinStoreAvailability
- Updated product data to refresh every 15 minutes
- Dedicated
Archives
job queue for more consistent time-keeping
- Updated displayed-price rules
- 19 unspecified operational updates
###Added
- Four new Products API attributes:
onlinePlay
for Games and SoftwarenumberOfPlayers
for Games and Softwarecollection
bestSellingRank
###Changed
- Reduced Product data latency
- Updated
albumLabel
attribute for Music - Updated
genre
attribute for Music and Movies to allow a list of genres - Removed the following attributes
albumVersion
appleConnectivity
brand
cellPhoneBrand
copyright
napsterAlbumId
nationalFeatured
navigability
preferredRelatedBestBuySku
preferredRelatedNapsterSku
printOnly
related.active
,related.sku
,related.type
,related.title
saleEndDate
savings
skuSourceIndicator
smartPhone
softwareMultiplayerInternet
,softwareOnlinePlay
,softwareNumberOfPlayers
softwareReleaseDate
tinyMobileUrl
- Four new Products API shipping costs attributes:
Ground
secondDay
nextDay
vendorDelivery
- Floating-point search enhancement
- Overall search improvement
- Three new Products API Products attributes:
tradeIn Value
Preowned
Digital Products