---
title: "UCP catalog search"
method: POST
path: "/ucp/catalog/search"
tags: ["UCP"]
---

# UCP catalog search

`POST /ucp/catalog/search`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/ucp/catalog/search`
- Auth: none declared

Universal Commerce Protocol `dev.ucp.shopping.catalog.search`. Prices in `filters.price` are integer amounts in minor currency units. No authentication; rate-limited per IP like the rest of the public API.

## Request body

- SearchRequest
  - `context` Context
    - `address_country` string, nullable
    - `address_region` string, nullable
    - `postal_code` string, nullable
    - `intent` string, nullable
    - `language` string, nullable
    - `currency` string, nullable
    - `eligibility` string[], nullable
  - `signals` object, nullable
  - `attribution` object, nullable
  - `filters` SearchFilters
    - `categories` string[], nullable
    - `price` PriceFilter
      - `min` integer, nullable
      - `max` integer, nullable
  - `query` string, nullable
  - `pagination` PaginationRequest
    - `cursor` string, nullable
    - `limit` integer, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/rubenayla/apis/partle-api.md) · [All operations](https://skmtc.dev/rubenayla/apis/partle-api/llms.txt) · [OpenAPI document](https://skmtc.dev/rubenayla/apis/partle-api/revisions/628cce2acee5?raw)
