openapi: 3.0.3 info: title: Best Buy Products API description: >- Access over one million current and historical Best Buy products with real-time pricing, availability, specifications, images, customer reviews, and categorization data. Supports detailed queries by SKU, keyword search, and filtering across all product attributes. version: 1.0.0 contact: url: https://developer.bestbuy.com x-generated-from: documentation servers: - url: https://api.bestbuy.com/v1 description: Best Buy API v1 security: - apiKey: [] tags: - name: Products description: Product catalog queries and retrieval paths: /products: get: operationId: listProducts summary: Best Buy List Products description: >- Query the Best Buy product catalog with filtering, keyword search, pagination, and sorting. Returns product data including pricing, availability, specifications, images, and categorization. tags: - Products parameters: - name: apiKey in: query required: true description: Your Best Buy developer API key. schema: type: string example: YourAPIKey - name: format in: query required: false description: Response format - json or xml. schema: type: string enum: - json - xml default: json example: json - name: show in: query required: false description: Comma-separated list of attributes to return. Use 'all' for complete data. schema: type: string example: sku,name,salePrice,onSale - name: pageSize in: query required: false description: Number of results per page. Maximum 100. schema: type: integer minimum: 1 maximum: 100 default: 10 example: 10 - name: page in: query required: false description: Page number for pagination. schema: type: integer minimum: 1 default: 1 example: 1 - name: sort in: query required: false description: Sort attribute and direction, e.g. salePrice.asc or name.dsc. schema: type: string example: salePrice.asc - name: search in: query required: false description: Keyword search across product name, manufacturer, descriptions, and features. schema: type: string example: laptop - name: cursorMark in: query required: false description: Cursor mark for iterating large datasets (10+ pages). Use * to initiate. schema: type: string example: '*' responses: '200': description: Successful response with product list. content: application/json: schema: $ref: '#/components/schemas/ProductListResponse' examples: ListProducts200Example: summary: Default listProducts 200 response x-microcks-default: true value: from: 1 to: 10 total: 125000 currentPage: 1 totalPages: 12500 queryTime: '0.023' totalTime: '0.043' partial: false canonicalUrl: https://api.bestbuy.com/v1/products?format=json&pageSize=10 products: - sku: 1234567 name: Sample Laptop 15" 16GB RAM regularPrice: 999.99 salePrice: 849.99 onSale: true manufacturer: SampleBrand modelNumber: SB-1234 image: https://pisces.bbystatic.com/image2/BestBuy_US/images/products/1234/1234567_sd.jpg url: https://www.bestbuy.com/site/sample-laptop/1234567.p addToCartUrl: https://www.bestbuy.com/cart/api/v1/addToCart?items%5B0%5D%5BskuId%5D=1234567 inStoreAvailability: true onlineAvailability: true type: HardGood categoryPath: - id: abcat0500000 name: Computers & Tablets '400': description: Bad request - invalid query parameters. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized - missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/{sku}: get: operationId: getProductBySku summary: Best Buy Get Product by SKU description: >- Retrieve a single Best Buy product by its SKU number with full product details including pricing, availability, specifications, images, and categorization. tags: - Products parameters: - name: sku in: path required: true description: The Best Buy product SKU number. schema: type: integer example: 1234567 - name: apiKey in: query required: true description: Your Best Buy developer API key. schema: type: string example: YourAPIKey - name: format in: query required: false description: Response format - json or xml. schema: type: string enum: - json - xml default: json example: json - name: show in: query required: false description: Comma-separated list of attributes to return. schema: type: string example: sku,name,salePrice,onSale,shortDescription responses: '200': description: Successful response with product details. content: application/json: schema: $ref: '#/components/schemas/Product' examples: GetProductBySku200Example: summary: Default getProductBySku 200 response x-microcks-default: true value: sku: 1234567 name: Sample Laptop 15" 16GB RAM regularPrice: 999.99 salePrice: 849.99 onSale: true manufacturer: SampleBrand modelNumber: SB-1234 shortDescription: High-performance laptop for everyday computing. longDescription: Detailed description of the laptop features and specifications. image: https://pisces.bbystatic.com/image2/BestBuy_US/images/products/1234/1234567_sd.jpg url: https://www.bestbuy.com/site/sample-laptop/1234567.p addToCartUrl: https://www.bestbuy.com/cart/api/v1/addToCart?items%5B0%5D%5BskuId%5D=1234567 inStoreAvailability: true onlineAvailability: true type: HardGood class: LAPTOPS/NOTEBOOKS classId: 539 subclass: ALL LAPTOPS subclassId: 2408 department: COMPUTERS departmentId: 3 categoryPath: - id: abcat0500000 name: Computers & Tablets customerReviewCount: 450 customerReviewAverage: 4.5 '404': description: Product not found for the given SKU. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized - missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: apiKey: type: apiKey in: query name: apiKey description: API key obtained by registering at developer.bestbuy.com. schemas: ProductListResponse: title: ProductListResponse type: object description: Paginated list of Best Buy products. properties: from: type: integer description: Starting index of returned results. example: 1 to: type: integer description: Ending index of returned results. example: 10 total: type: integer description: Total number of matching products. example: 125000 currentPage: type: integer description: Current page number. example: 1 totalPages: type: integer description: Total number of pages available. example: 12500 queryTime: type: string description: Time taken to execute the query in seconds. example: '0.023' totalTime: type: string description: Total response time in seconds. example: '0.043' partial: type: boolean description: Whether the response is a partial result. example: false canonicalUrl: type: string description: The canonical URL for this query. example: https://api.bestbuy.com/v1/products?format=json&pageSize=10 nextCursorMark: type: string description: Cursor mark for fetching the next page when using cursor-based pagination. example: AoE= products: type: array description: Array of product objects. items: $ref: '#/components/schemas/Product' Product: title: Product type: object description: A Best Buy product with pricing, availability, and metadata. properties: sku: type: integer description: Unique Best Buy product identifier (SKU number). example: 1234567 name: type: string description: Product display name. example: Sample Laptop 15" 16GB RAM regularPrice: type: number format: double description: Regular (non-sale) price in USD. example: 999.99 salePrice: type: number format: double description: Current sale price in USD. example: 849.99 onSale: type: boolean description: Whether the product is currently on sale. example: true manufacturer: type: string description: Product manufacturer or brand name. example: SampleBrand modelNumber: type: string description: Manufacturer model number. example: SB-1234 shortDescription: type: string description: Brief product description. example: High-performance laptop for everyday computing. longDescription: type: string description: Detailed product description. example: Detailed description of the laptop features and specifications. image: type: string description: URL of the primary product image. example: https://pisces.bbystatic.com/image2/BestBuy_US/images/products/1234/1234567_sd.jpg url: type: string description: URL of the product page on bestbuy.com. example: https://www.bestbuy.com/site/sample-laptop/1234567.p addToCartUrl: type: string description: URL for adding this product to the shopping cart. example: https://www.bestbuy.com/cart/api/v1/addToCart?items%5B0%5D%5BskuId%5D=1234567 inStoreAvailability: type: boolean description: Whether the product is available for in-store purchase. example: true onlineAvailability: type: boolean description: Whether the product is available online. example: true type: type: string description: Product type (HardGood, Movie, Music, Game, Software, etc.). example: HardGood class: type: string description: Product class name. example: LAPTOPS/NOTEBOOKS classId: type: integer description: Product class identifier. example: 539 subclass: type: string description: Product subclass name. example: ALL LAPTOPS subclassId: type: integer description: Product subclass identifier. example: 2408 department: type: string description: Department name. example: COMPUTERS departmentId: type: integer description: Department identifier. example: 3 categoryPath: type: array description: Hierarchical category path from root to this product's category. items: $ref: '#/components/schemas/CategoryRef' customerReviewCount: type: integer description: Total number of customer reviews. example: 450 customerReviewAverage: type: number format: double description: Average customer review rating out of 5. example: 4.5 priceUpdateDate: type: string format: date-time description: Date and time the price was last updated. example: '2026-04-01T10:00:00Z' CategoryRef: title: CategoryRef type: object description: A reference to a product category in the hierarchy. properties: id: type: string description: Category identifier. example: abcat0500000 name: type: string description: Category display name. example: Computers & Tablets ErrorResponse: title: ErrorResponse type: object description: Error response returned when a request fails. properties: status: type: integer description: HTTP status code. example: 400 error: type: string description: Error type or code. example: Bad Request message: type: string description: Human-readable description of the error. example: Invalid query parameter provided.