VTEX · Capability
VTex Legacy Search API — Search
VTex Legacy Search API — Search. 3 operations. Lead operation: VTex Search for Products with Filter, Order and Pagination. Self-contained Naftiko capability covering one Vtex business surface.
What You Can Do
GET
Productsearchfilteredandordered
— VTex Search for Products with Filter, Order and Pagination
/v1/api/catalog-system/pub/products/search
GET
Searchbyproducturl
— VTex Search Product by Product URL
/v1/api/catalog-system/pub/products/search/{product-text-link}/p
GET
Productsearch
— VTex Search for Products
/v1/api/catalog-system/pub/products/search/{search}
MCP Tools
vtex-search-products-filter-order
VTex Search for Products with Filter, Order and Pagination
read-only
idempotent
vtex-search-product-product-url
VTex Search Product by Product URL
read-only
idempotent
vtex-search-products
VTex Search for Products
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: VTex Legacy Search API — Search
description: 'VTex Legacy Search API — Search. 3 operations. Lead operation: VTex Search for Products with Filter, Order
and Pagination. Self-contained Naftiko capability covering one Vtex business surface.'
tags:
- Vtex
- Search
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
VTEX_API_KEY: VTEX_API_KEY
capability:
consumes:
- type: http
namespace: legacy-search-search
baseUri: https://{accountName}.{environment}.com.br
description: VTex Legacy Search API — Search business capability. Self-contained, no shared references.
resources:
- name: api-catalog_system-pub-products-search
path: /api/catalog_system/pub/products/search
operations:
- name: productsearchfilteredandordered
method: GET
description: VTex Search for Products with Filter, Order and Pagination
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
required: true
- name: Content-Type
in: header
type: string
description: Describes the type of the content being sent.
required: true
- name: _from
in: query
type: string
description: 'Starting page of the pagination range. This number must be below or equal to 2500 for the query to
work. Note that the difference between the initial and final '
- name: _to
in: query
type: string
description: Final page of the pagination range. Note that the difference between the initial and final pages cannot
exceed 50 pages. Therefore, each page will display a max
- name: ft
in: query
type: string
description: Filter by full text. The form is`ft={searchWord}`.
- name: fq
in: query
type: string
description: General filter. It can be by category (`fq=C:/{a}/{b}`), by specification (`fq=specificationFilter_{a}:{b}`), by
price range (`fq=P:[{a} TO {b}]`), by collecti
- name: O
in: query
type: string
description: Sorting method. It can be by Price (`O=OrderByPriceDESC` or `O=OrderByPriceASC`), by Top Selling Products
(`O=OrderByTopSaleDESC`), by Best Reviews (`O=OrderByR
- name: api-catalog_system-pub-products-search-product-text-link-p
path: /api/catalog_system/pub/products/search/{product-text-link}/p
operations:
- name: searchbyproducturl
method: GET
description: VTex Search Product by Product URL
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
required: true
- name: Content-Type
in: header
type: string
description: Describes the type of the content being sent.
required: true
- name: product-text-link
in: path
type: string
description: Product URL
required: true
- name: api-catalog_system-pub-products-search-search
path: /api/catalog_system/pub/products/search/{search}
operations:
- name: productsearch
method: GET
description: VTex Search for Products
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
required: true
- name: Content-Type
in: header
type: string
description: Describes the type of the content being sent.
required: true
- name: search
in: path
type: string
description: Term used to search products
required: true
authentication:
type: apikey
key: X-VTEX-API-AppKey
value: '{{env.VTEX_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: legacy-search-search-rest
port: 8080
description: REST adapter for VTex Legacy Search API — Search. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/api/catalog-system/pub/products/search
name: api-catalog-system-pub-products-search
description: REST surface for api-catalog_system-pub-products-search.
operations:
- method: GET
name: productsearchfilteredandordered
description: VTex Search for Products with Filter, Order and Pagination
call: legacy-search-search.productsearchfilteredandordered
with:
Accept: rest.Accept
Content-Type: rest.Content-Type
_from: rest._from
_to: rest._to
ft: rest.ft
fq: rest.fq
O: rest.O
outputParameters:
- type: object
mapping: $.
- path: /v1/api/catalog-system/pub/products/search/{product-text-link}/p
name: api-catalog-system-pub-products-search-product-text-link-p
description: REST surface for api-catalog_system-pub-products-search-product-text-link-p.
operations:
- method: GET
name: searchbyproducturl
description: VTex Search Product by Product URL
call: legacy-search-search.searchbyproducturl
with:
Accept: rest.Accept
Content-Type: rest.Content-Type
product-text-link: rest.product-text-link
outputParameters:
- type: object
mapping: $.
- path: /v1/api/catalog-system/pub/products/search/{search}
name: api-catalog-system-pub-products-search-search
description: REST surface for api-catalog_system-pub-products-search-search.
operations:
- method: GET
name: productsearch
description: VTex Search for Products
call: legacy-search-search.productsearch
with:
Accept: rest.Accept
Content-Type: rest.Content-Type
search: rest.search
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: legacy-search-search-mcp
port: 9090
transport: http
description: MCP adapter for VTex Legacy Search API — Search. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: vtex-search-products-filter-order
description: VTex Search for Products with Filter, Order and Pagination
hints:
readOnly: true
destructive: false
idempotent: true
call: legacy-search-search.productsearchfilteredandordered
with:
Accept: tools.Accept
Content-Type: tools.Content-Type
_from: tools._from
_to: tools._to
ft: tools.ft
fq: tools.fq
O: tools.O
outputParameters:
- type: object
mapping: $.
- name: vtex-search-product-product-url
description: VTex Search Product by Product URL
hints:
readOnly: true
destructive: false
idempotent: true
call: legacy-search-search.searchbyproducturl
with:
Accept: tools.Accept
Content-Type: tools.Content-Type
product-text-link: tools.product-text-link
outputParameters:
- type: object
mapping: $.
- name: vtex-search-products
description: VTex Search for Products
hints:
readOnly: true
destructive: false
idempotent: true
call: legacy-search-search.productsearch
with:
Accept: tools.Accept
Content-Type: tools.Content-Type
search: tools.search
outputParameters:
- type: object
mapping: $.