---
title: "Search products"
method: GET
path: "/products/v1/search"
tags: ["Products"]
---

# Search products

`GET /products/v1/search`

## Request

- Base URL: `https://api.collectpure.com`
- URL: `https://api.collectpure.com/products/v1/search`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/collectpure/apis/pure-public-api/docs/products/v1/search/get.ts> (a function with typed inputs; its response is checked against the schema)

Search and browse products with full-text search, filtering, and facets. Returns enriched product data with variants hydrated from the database.

**Rate limit:** 120 requests burst, 60 requests/minute sustained.

## Query parameters

- `query` string
- `limit` integer
- `offset` integer
- `filter_by` string

## Response `200`

Default Response

- object
  - `data` object, required
    - `products` object[], required
      - `id` string, required
      - `title` string, required
      - `description` string, required
      - `sku` string, required
      - `category` string, required
      - `subCategory` string, required
      - `material` string, required
      - `manufacturer` string, required
      - `weight` string, required
      - `weightGrams` number, required
      - `purity` string, required
      - `premiumCalculationType` string, required
      - `certificateProvider` string
      - `attributes` number[]
      - `images` string[]
      - `variants` object[]
        - `id` string, required
        - `title` string, required
        - `description` string, nullable
        - `sortKey` number, nullable
      - `listing` object, nullable
        - `id` string, required
        - `price` number, required
        - `spotPremium` number, required
        - `spotPremiumDollar` number, required
        - `expiresAt` string, required
      - `offer` object, nullable
        - `id` string, required
        - `price` number, required
        - `spotPremium` number, required
        - `spotPremiumDollar` number, required
        - `expiresAt` string, required
      - `flags` object
        - `isStockedByBbStore` boolean
        - `isCertified` boolean
        - `isEsg` boolean
        - `isIra` boolean
        - `isNumismatic` boolean
        - `hasListing` boolean
        - `hasOffer` boolean
      - `viewCount` number, required
      - `createdAt` string
      - `updatedAt` string
    - `total` number, required
    - `facets` object[]
      - `field` string, required
      - `counts` object[], required
        - `value` string, required
        - `count` number, required
      - `stats` object
        - `min` number
        - `max` number
        - `sum` number
        - `avg` number
        - `totalValues` number

---

[API](https://skmtc.dev/collectpure/apis/pure-public-api.md) - [All operations](https://skmtc.dev/collectpure/apis/pure-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/collectpure/apis/pure-public-api/revisions/ed6a1fe27572?raw)
