Best Buy · Capability

Best Buy Recommendations API — Recommendations

Best Buy Recommendations API — Recommendations. 4 operations. Lead operation: Best Buy Get Most Viewed Products. Self-contained Naftiko capability covering one Best Buy business surface.

Run with Naftiko Best BuyRecommendations

What You Can Do

GET
Getmostviewedproducts — Best Buy Get Most Viewed Products
/v1/products/mostviewed
GET
Gettrendingproducts — Best Buy Get Trending Products
/v1/products/trendingviewed
GET
Getalsoboughtproducts — Best Buy Get Also Bought Products
/v1/products/{sku}/alsobought
GET
Getalsoviewedproducts — Best Buy Get Also Viewed Products
/v1/products/{sku}/alsoviewed

MCP Tools

best-buy-get-most-viewed

Best Buy Get Most Viewed Products

read-only idempotent
best-buy-get-trending-products

Best Buy Get Trending Products

read-only idempotent
best-buy-get-also-bought

Best Buy Get Also Bought Products

read-only idempotent
best-buy-get-also-viewed

Best Buy Get Also Viewed Products

read-only idempotent

Capability Spec

recommendations-recommendations.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Best Buy Recommendations API — Recommendations
  description: 'Best Buy Recommendations API — Recommendations. 4 operations. Lead operation: Best Buy Get Most Viewed Products.
    Self-contained Naftiko capability covering one Best Buy business surface.'
  tags:
  - Best Buy
  - Recommendations
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    BEST_BUY_API_KEY: BEST_BUY_API_KEY
capability:
  consumes:
  - type: http
    namespace: recommendations-recommendations
    baseUri: https://api.bestbuy.com/v1
    description: Best Buy Recommendations API — Recommendations business capability. Self-contained, no shared references.
    resources:
    - name: products-mostViewed
      path: /products/mostViewed
      operations:
      - name: getmostviewedproducts
        method: GET
        description: Best Buy Get Most Viewed Products
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: apiKey
          in: query
          type: string
          description: Your Best Buy developer API key.
          required: true
        - name: categoryId
          in: query
          type: string
          description: Filter most viewed products to a specific category.
        - name: format
          in: query
          type: string
          description: Response format - json only.
    - name: products-trendingViewed
      path: /products/trendingViewed
      operations:
      - name: gettrendingproducts
        method: GET
        description: Best Buy Get Trending Products
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: apiKey
          in: query
          type: string
          description: Your Best Buy developer API key.
          required: true
        - name: categoryId
          in: query
          type: string
          description: Filter trending products to a specific category.
        - name: format
          in: query
          type: string
          description: Response format - json only for recommendations.
    - name: products-sku-alsoBought
      path: /products/{sku}/alsoBought
      operations:
      - name: getalsoboughtproducts
        method: GET
        description: Best Buy Get Also Bought Products
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sku
          in: path
          type: integer
          description: The SKU number to get also-bought recommendations for.
          required: true
        - name: apiKey
          in: query
          type: string
          description: Your Best Buy developer API key.
          required: true
        - name: format
          in: query
          type: string
          description: Response format - json only.
    - name: products-sku-alsoViewed
      path: /products/{sku}/alsoViewed
      operations:
      - name: getalsoviewedproducts
        method: GET
        description: Best Buy Get Also Viewed Products
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sku
          in: path
          type: integer
          description: The SKU number to get also-viewed recommendations for.
          required: true
        - name: apiKey
          in: query
          type: string
          description: Your Best Buy developer API key.
          required: true
        - name: format
          in: query
          type: string
          description: Response format - json only.
    authentication:
      type: apikey
      key: apiKey
      value: '{{env.BEST_BUY_API_KEY}}'
      placement: query
  exposes:
  - type: rest
    namespace: recommendations-recommendations-rest
    port: 8080
    description: REST adapter for Best Buy Recommendations API — Recommendations. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/products/mostviewed
      name: products-mostviewed
      description: REST surface for products-mostViewed.
      operations:
      - method: GET
        name: getmostviewedproducts
        description: Best Buy Get Most Viewed Products
        call: recommendations-recommendations.getmostviewedproducts
        with:
          apiKey: rest.apiKey
          categoryId: rest.categoryId
          format: rest.format
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/products/trendingviewed
      name: products-trendingviewed
      description: REST surface for products-trendingViewed.
      operations:
      - method: GET
        name: gettrendingproducts
        description: Best Buy Get Trending Products
        call: recommendations-recommendations.gettrendingproducts
        with:
          apiKey: rest.apiKey
          categoryId: rest.categoryId
          format: rest.format
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/products/{sku}/alsobought
      name: products-sku-alsobought
      description: REST surface for products-sku-alsoBought.
      operations:
      - method: GET
        name: getalsoboughtproducts
        description: Best Buy Get Also Bought Products
        call: recommendations-recommendations.getalsoboughtproducts
        with:
          sku: rest.sku
          apiKey: rest.apiKey
          format: rest.format
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/products/{sku}/alsoviewed
      name: products-sku-alsoviewed
      description: REST surface for products-sku-alsoViewed.
      operations:
      - method: GET
        name: getalsoviewedproducts
        description: Best Buy Get Also Viewed Products
        call: recommendations-recommendations.getalsoviewedproducts
        with:
          sku: rest.sku
          apiKey: rest.apiKey
          format: rest.format
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: recommendations-recommendations-mcp
    port: 9090
    transport: http
    description: MCP adapter for Best Buy Recommendations API — Recommendations. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: best-buy-get-most-viewed
      description: Best Buy Get Most Viewed Products
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: recommendations-recommendations.getmostviewedproducts
      with:
        apiKey: tools.apiKey
        categoryId: tools.categoryId
        format: tools.format
      outputParameters:
      - type: object
        mapping: $.
    - name: best-buy-get-trending-products
      description: Best Buy Get Trending Products
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: recommendations-recommendations.gettrendingproducts
      with:
        apiKey: tools.apiKey
        categoryId: tools.categoryId
        format: tools.format
      outputParameters:
      - type: object
        mapping: $.
    - name: best-buy-get-also-bought
      description: Best Buy Get Also Bought Products
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: recommendations-recommendations.getalsoboughtproducts
      with:
        sku: tools.sku
        apiKey: tools.apiKey
        format: tools.format
      outputParameters:
      - type: object
        mapping: $.
    - name: best-buy-get-also-viewed
      description: Best Buy Get Also Viewed Products
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: recommendations-recommendations.getalsoviewedproducts
      with:
        sku: tools.sku
        apiKey: tools.apiKey
        format: tools.format
      outputParameters:
      - type: object
        mapping: $.