Etsy · Capability

Etsy Open API v3 — Review

Etsy Open API v3 — Review. 2 operations. Lead operation: Get Reviews by Listing. Self-contained Naftiko capability covering one Etsy business surface.

Run with Naftiko EtsyOpen API v3Review

What You Can Do

GET
Getreviewsbylisting — Get Reviews by Listing
/v1/listings/{listing_id}/reviews
GET
Getreviewsbyshop — Get Reviews by Shop
/v1/shops/{shop_id}/reviews

MCP Tools

get-reviews-listing

Get Reviews by Listing

read-only idempotent
get-reviews-shop

Get Reviews by Shop

read-only idempotent

Capability Spec

open-api-v3-review.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Etsy Open API v3 — Review
  description: 'Etsy Open API v3 — Review. 2 operations. Lead operation: Get Reviews by Listing. Self-contained Naftiko capability covering one Etsy business surface.'
  tags:
    - Etsy
    - Open API v3
    - Review
  created: '2026-05-30'
  modified: '2026-05-30'
binds:
  - namespace: env
    keys:
      ETSY_API_KEY: ETSY_API_KEY
      ETSY_OAUTH_TOKEN: ETSY_OAUTH_TOKEN
capability:
  consumes:
    - type: http
      namespace: open-api-v3-review
      baseUri: https://openapi.etsy.com
      description: Etsy Open API v3 — Review business capability. Self-contained, no shared references.
      authentication:
        type: apikey
        key: x-api-key
        value: '{{env.ETSY_API_KEY}}'
        placement: header
      resources:
        - name: listings-reviews
          path: /v3/application/listings/{listing_id}/reviews
          operations:
            - name: getReviewsByListing
              method: GET
              description: Get Reviews by Listing
              inputParameters:
                - name: listing_id
                  in: path
                  type: integer
                  required: true
                  description: The numeric ID for the [listing](/documentation/reference#tag/ShopListing) associated to this transaction.
                - name: limit
                  in: query
                  type: integer
                  required: false
                  description: The maximum number of results to return.
                - name: offset
                  in: query
                  type: integer
                  required: false
                  description: The number of records to skip before selecting the first result.
                - name: min_created
                  in: query
                  type: integer
                  required: false
                  description: The earliest unix timestamp for when a record was created.
                - name: max_created
                  in: query
                  type: integer
                  required: false
                  description: The latest unix timestamp for when a record was created.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: shops-reviews
          path: /v3/application/shops/{shop_id}/reviews
          operations:
            - name: getReviewsByShop
              method: GET
              description: Get Reviews by Shop
              inputParameters:
                - name: shop_id
                  in: path
                  type: integer
                  required: true
                  description: The unique positive non-zero numeric ID for an Etsy Shop.
                - name: limit
                  in: query
                  type: integer
                  required: false
                  description: The maximum number of results to return.
                - name: offset
                  in: query
                  type: integer
                  required: false
                  description: The number of records to skip before selecting the first result.
                - name: min_created
                  in: query
                  type: integer
                  required: false
                  description: The earliest unix timestamp for when a record was created.
                - name: max_created
                  in: query
                  type: integer
                  required: false
                  description: The latest unix timestamp for when a record was created.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
  exposes:
    - type: rest
      namespace: open-api-v3-review-rest
      port: 8080
      description: REST adapter for Etsy Open API v3 — Review. One Spectral-compliant resource per consumed operation, prefixed with /v1.
      resources:
        - path: /v1/listings/{listing_id}/reviews
          name: listings-reviews
          description: REST surface for listings-reviews.
          operations:
            - method: GET
              name: getReviewsByListing
              description: Get Reviews by Listing
              call: open-api-v3-review.getReviewsByListing
              with:
                listing_id: rest.listing_id
                limit: rest.limit
                offset: rest.offset
                min_created: rest.min_created
                max_created: rest.max_created
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/shops/{shop_id}/reviews
          name: shops-reviews
          description: REST surface for shops-reviews.
          operations:
            - method: GET
              name: getReviewsByShop
              description: Get Reviews by Shop
              call: open-api-v3-review.getReviewsByShop
              with:
                shop_id: rest.shop_id
                limit: rest.limit
                offset: rest.offset
                min_created: rest.min_created
                max_created: rest.max_created
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: open-api-v3-review-mcp
      port: 9090
      transport: http
      description: MCP adapter for Etsy Open API v3 — Review. One tool per consumed operation, routed inline through this capability's consumes block.
      tools:
        - name: get-reviews-listing
          description: Get Reviews by Listing
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: open-api-v3-review.getReviewsByListing
          with:
            listing_id: tools.listing_id
            limit: tools.limit
            offset: tools.offset
            min_created: tools.min_created
            max_created: tools.max_created
          outputParameters:
            - type: object
              mapping: $.
        - name: get-reviews-shop
          description: Get Reviews by Shop
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: open-api-v3-review.getReviewsByShop
          with:
            shop_id: tools.shop_id
            limit: tools.limit
            offset: tools.offset
            min_created: tools.min_created
            max_created: tools.max_created
          outputParameters:
            - type: object
              mapping: $.