APIHub
Back to Explore

Legacy Search API

> Check the new [Search onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/search-onboarding). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Search and is organized by focusing on the developer's journey. This API lets you search and sort products in the Catalog using Fulltext, Category

Uncategorized
apiKeyHeader
HTTPS
CORS: Unknown
Visit official documentation

Latency

7ms p95

Uptime

0.0% 30d

Playground

Verified

live

Endpoints

REST · JSON
GET

/api/catalog_system/pub/facets/category/{categoryId}

Get Category Facets

  • Accept (header, required) — HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
  • Content-Type (header, required) — Describes the type of the content being sent.
  • categoryId (path, required) — Category unique number identifier.
  • _from (query) — Starter page range. These parameters allow the API to be paginated. Take into account that the initial and final pages cannot have a separation superior to 50 pages. Thus, it will be displayed 50 items per page.
  • _to (query) — Finisher page range. These parameters allow the API to be paginated. Take into account that the initial and final pages cannot have a separation superior to 50 pages. Thus, it will be displayed 50 items per page.
GET

/api/catalog_system/pub/facets/search/{term}

Search by Store Facets

  • map (query, required) — Mapping of the term. It can be `c` for a category, `b` for a brand, or `specificationFilter_{specificationId}` for a specification. You need to include a map for each term you are searching for in the same term's order.
  • Accept (header, required) — HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
  • Content-Type (header, required) — Describes the type of the content being sent.
  • term (path, required) — Term used for the facet's search. You can search for as much term as you want. The term can be: `categoryId`, `brandId`, `specificationId`.
  • _from (query) — Starter page range. These parameters allow the API to be paginated. Take into account that the initial and final pages cannot have a separation superior to 50 pages. Thus, it will be displayed 50 items per page.
  • _to (query) — Finisher page range. These parameters allow the API to be paginated. Take into account that the initial and final pages cannot have a separation superior to 50 pages. Thus, it will be displayed 50 items per page.
GET

/api/catalog_system/pub/products/crossselling/accessories/{productId}

Get Product Search of Accessories

  • Accept (header, required) — HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
  • Content-Type (header, required) — Describes the type of the content being sent.
  • productId (path, required) — Product's unique identifier
GET

/api/catalog_system/pub/products/crossselling/showtogether/{productId}

Get Product Search of Show Together

  • Accept (header, required) — HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
  • Content-Type (header, required) — Describes the type of the content being sent.
  • productId (path, required) — Product's unique identifier
GET

/api/catalog_system/pub/products/crossselling/similars/{productId}

Get Product Search of Similars

  • Accept (header, required) — HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
  • Content-Type (header, required) — Describes the type of the content being sent.
  • productId (path, required) — Product's unique identifier
GET

/api/catalog_system/pub/products/crossselling/suggestions/{productId}

Get Product Search of Suggestions

  • Accept (header, required) — HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
  • Content-Type (header, required) — Describes the type of the content being sent.
  • productId (path, required) — Product's unique identifier
GET

/api/catalog_system/pub/products/crossselling/whoboughtalsobought/{productId}

Get Product Search of Who Bought Also Bought

  • Accept (header, required) — HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
  • Content-Type (header, required) — Describes the type of the content being sent.
  • productId (path, required) — Product unique identifier.
GET

/api/catalog_system/pub/products/crossselling/whosawalsobought/{productId}

Get Product Search of Who Saw Also Bought

  • Accept (header, required) — HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
  • Content-Type (header, required) — Describes the type of the content being sent.
  • productId (path, required) — Product unique identifier.
GET

/api/catalog_system/pub/products/crossselling/whosawalsosaw/{productId}

Get Product Search of Who Saw Also Saw

  • Accept (header, required) — HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
  • Content-Type (header, required) — Describes the type of the content being sent.
  • productId (path, required) — Product unique identifier.
GET

/api/catalog_system/pub/products/offers/{productId}

Search Product offers

  • Accept (header, required) — HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
  • Content-Type (header, required) — Describes the type of the content being sent.
  • productId (path, required) — Product unique number identifier.
GET

/api/catalog_system/pub/products/offers/{productId}/sku/{skuId}

Search SKU offers

  • Accept (header, required) — HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
  • Content-Type (header, required) — Describes the type of the content being sent.
  • productId (path, required) — Product unique number identifier.
  • skuId (path, required) — Product unique number identifier.
GET

/api/catalog_system/pub/products/search

Search for Products with Filter, Order and Pagination

  • Accept (header, required) — HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
  • Content-Type (header, required) — Describes the type of the content being sent.
  • _from (query) — Starter page range. These parameters allow the API to be paginated. Take into account that the initial and final pages cannot have a separation superior to 50 pages. Thus, it will be displayed 50 items per page.
  • _to (query) — Finisher page range. These parameters allow the API to be paginated. Take into account that the initial and final pages cannot have a separation superior to 50 pages. Thus, it will be displayed 50 items per page.
  • ft (query) — Filter by full text. The form is`ft={searchWord}`
  • fq (query) — 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 collection (`fq=productClusterIds:{{productClusterId}}`), by product ID (`fq=productId:{{productId}}`), by SKU ID (`fq=skuId:{{skuId}}`), by Reference ID (`fq=alternateIds_RefId:{{referenceId}}`), by EAN13 (`fq=alternateIds_Ean:{{ean13}}`), by availability at a specific sales channel (`fq=isAvailablePerSalesChannel_{{sc}}:{{bool}}`), by available at a specific seller (`fq=sellerId:{{sellerId}}`)
  • O (query) — Sorting method. It can be by Price (`O=OrderByPriceDESC` or `O=OrderByPriceASC`), by Top Selling Products (`O=OrderByTopSaleDESC`), by Best Reviews (`O=OrderByReviewRateDESC`), by Name (`O=OrderByNameASC` or `O=OrderByNameDESC`), by Release Date (`O=OrderByReleaseDateDESC`), by Best Discounts (`O=OrderByBestDiscountDESC`), by Score (`O=OrderByScoreDESC`)
GET

/api/catalog_system/pub/products/search/{product-text-link}/p

Search Product by Product URL

  • Accept (header, required) — HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
  • Content-Type (header, required) — Describes the type of the content being sent.
  • product-text-link (path, required) — Product URL
GET

/api/catalog_system/pub/products/search/{search}

Search for Products

  • Accept (header, required) — HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
  • Content-Type (header, required) — Describes the type of the content being sent.
  • search (path, required) — Term used to search products
GET

/buscaautocomplete

Product Search Autocomplete

  • Content-Type (header, required) — Type of the content being sent
  • Accept (header, required) — HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand
  • productNameContains (query, required) — Part of the string that will be searched.

15 endpoints auto-detected

Authentication

This API uses an API key, passed in the "X-VTEX-API-AppKey" header. No OAuth required.

curl -X GET \
  "https://vtex.local/api/catalog_system/pub/facets/category/{categoryId}" \
  -H "X-VTEX-API-AppKey: YOUR_API_KEY"

vtex.local · HTTPS only