Best Buy Stores API

Retrieve comprehensive store location and operational data for 1,587+ Best Buy locations across the United States and Puerto Rico. Supports area-based searches by postal code or latitude/longitude, store hours, services, and in-store product availability.

OpenAPI Specification

best-buy-stores-api.yaml Raw ↑
openapi: 3.0.3
info:
  title: Best Buy Stores API
  description: >-
    Retrieve comprehensive store location and operational data for 1,587+ Best Buy
    locations across the United States and Puerto Rico. Supports area-based searches
    by postal code or latitude/longitude, store hours, services, and in-store product
    availability.
  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: Stores
    description: Best Buy store location and information queries
paths:
  /stores:
    get:
      operationId: listStores
      summary: Best Buy List Stores
      description: >-
        Query all Best Buy store locations with filtering, area-based proximity
        searches, and sorting. Returns store details including address, hours,
        services, and operational information.
      tags:
        - Stores
      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.
          schema:
            type: string
          example: storeId,name,city,state,distance
        - name: area
          in: query
          required: false
          description: >-
            Search for stores near a location. Format: area(postalCode,radius) or
            area(latitude,longitude,radius). Default radius is 10 miles.
          schema:
            type: string
          example: area(94103,25)
        - 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. distance.asc.
          schema:
            type: string
          example: distance.asc
      responses:
        '200':
          description: Successful response with store list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoreListResponse'
              examples:
                ListStores200Example:
                  summary: Default listStores 200 response
                  x-microcks-default: true
                  value:
                    from: 1
                    to: 5
                    total: 1587
                    currentPage: 1
                    totalPages: 159
                    queryTime: '0.018'
                    totalTime: '0.032'
                    stores:
                      - storeId: 281
                        name: Best Buy - San Francisco
                        longName: Best Buy San Francisco - 1717 Harrison St
                        address: 1717 Harrison St
                        address2: ''
                        city: San Francisco
                        state: CA
                        zipcode: '94103'
                        phone: 415-626-9682
                        lat: 37.771
                        lng: -122.411
                        distance: 0.8
                        storeType: Big Box
                        hours: Mon-Sat 10am-8pm, Sun 11am-7pm
        '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'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK

  /stores/{storeId}:
    get:
      operationId: getStoreById
      summary: Best Buy Get Store by ID
      description: >-
        Retrieve detailed information for a specific Best Buy store including address,
        hours, services, and operational attributes.
      tags:
        - Stores
      parameters:
        - name: storeId
          in: path
          required: true
          description: The unique Best Buy store identifier.
          schema:
            type: integer
          example: 281
        - 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
      responses:
        '200':
          description: Successful response with store details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Store'
              examples:
                GetStoreById200Example:
                  summary: Default getStoreById 200 response
                  x-microcks-default: true
                  value:
                    storeId: 281
                    name: Best Buy - San Francisco
                    longName: Best Buy San Francisco - 1717 Harrison St
                    address: 1717 Harrison St
                    address2: ''
                    city: San Francisco
                    state: CA
                    zipcode: '94103'
                    phone: 415-626-9682
                    lat: 37.771
                    lng: -122.411
                    storeType: Big Box
                    hours: Mon-Sat 10am-8pm, Sun 11am-7pm
                    gmtOffset: -8
                    services:
                      - service: Geek Squad
                      - service: Car Installation
                      - service: Apple Shop
        '404':
          description: Store not found for the given store ID.
          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:
    StoreListResponse:
      title: StoreListResponse
      type: object
      description: Paginated list of Best Buy store locations.
      properties:
        from:
          type: integer
          description: Starting index of returned results.
          example: 1
        to:
          type: integer
          description: Ending index of returned results.
          example: 5
        total:
          type: integer
          description: Total number of matching stores.
          example: 1587
        currentPage:
          type: integer
          description: Current page number.
          example: 1
        totalPages:
          type: integer
          description: Total number of pages available.
          example: 159
        queryTime:
          type: string
          description: Time taken to execute the query in seconds.
          example: '0.018'
        totalTime:
          type: string
          description: Total response time in seconds.
          example: '0.032'
        stores:
          type: array
          description: Array of store objects.
          items:
            $ref: '#/components/schemas/Store'

    Store:
      title: Store
      type: object
      description: A Best Buy store location with operational details.
      properties:
        storeId:
          type: integer
          description: Unique store identifier.
          example: 281
        name:
          type: string
          description: Short store name.
          example: Best Buy - San Francisco
        longName:
          type: string
          description: Full store name including address.
          example: Best Buy San Francisco - 1717 Harrison St
        address:
          type: string
          description: Street address of the store.
          example: 1717 Harrison St
        address2:
          type: string
          description: Secondary address line (suite, building, etc.).
          example: ''
        city:
          type: string
          description: City where the store is located.
          example: San Francisco
        state:
          type: string
          description: Two-letter US state abbreviation.
          example: CA
        zipcode:
          type: string
          description: US postal code.
          example: '94103'
        phone:
          type: string
          description: Store phone number.
          example: 415-626-9682
        lat:
          type: number
          format: double
          description: Store latitude coordinate.
          example: 37.771
        lng:
          type: number
          format: double
          description: Store longitude coordinate.
          example: -122.411
        distance:
          type: number
          format: double
          description: Distance from the search location in miles (when area query is used).
          example: 0.8
        storeType:
          type: string
          description: Store format type.
          enum:
            - Big Box
            - Express Kiosk
            - Warehouse Sale
            - Outlet Center
            - PAC Standalone
          example: Big Box
        hours:
          type: string
          description: Store hours summary.
          example: Mon-Sat 10am-8pm, Sun 11am-7pm
        gmtOffset:
          type: integer
          description: GMT offset for the store's timezone.
          example: -8
        services:
          type: array
          description: Services offered at this store location.
          items:
            $ref: '#/components/schemas/StoreService'

    StoreService:
      title: StoreService
      type: object
      description: A service offered at a Best Buy store.
      properties:
        service:
          type: string
          description: Name of the service offered.
          example: Geek Squad

    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.