---
title: "Search products"
method: GET
path: "/products/search-products/v2"
tags: ["Products (Legacy)"]
---

# Search products

`GET /products/search-products/v2`

## Request

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

Search for products. When no query is provided, returns all products with pagination.

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

## Query parameters

- `query` string, required
- `pagination` object
  - `limit` integer
  - `offset` integer
- `filter_by` string

## Response `200`

Default Response

- object
  - `found` number, required
  - `hits` object[]
    - `document` object, required
      - `id` string, required
      - `title` string, required
      - `description` string, required
      - `sku` string, required
      - `category` string, required
      - `sub_category` string, required
      - `material` string, required
      - `manufacturer` string, required
      - `weight` string, required
      - `weight_grams` number, required
      - `purity` string, required
      - `premium_calculation_type` string, required
      - `certificate_provider` string
      - `attributes` number[]
      - `variants` string[]
      - `images` string[]
      - `listing_id` string
      - `listing_price` number
      - `listing_spot_premium` number
      - `listing_spot_premium_dollar` number
      - `listing_expires_at` string
      - `offer_id` string
      - `offer_price` number
      - `offer_spot_premium` number
      - `offer_spot_premium_dollar` number
      - `offer_expires_at` string
      - `is_stocked_by_bb_store` boolean
      - `is_certified` boolean
      - `is_esg` boolean
      - `is_ira` boolean
      - `is_numismatic` boolean
      - `has_listing` boolean
      - `has_offer` boolean
      - `favorite_count` number
      - `view_count` number, required
      - `created_at` string
      - `updated_at` string
    - `highlights` object[]
      - `field` string, required
      - `snippet` string
      - `matched_tokens` union, required
        - string[]
        - array[]
          - string[]
    - `text_match` number
    - `text_match_info` object
      - `best_field_score` string
      - `best_field_weight` number
      - `fields_matched` number
      - `score` string
      - `tokens_matched` number
  - `facet_counts` object[]
    - `field_name` string, required
    - `counts` object[], required
      - `value` string, required
      - `count` number, required
      - `highlighted` string
    - `stats` object
      - `min` number
      - `max` number
      - `sum` number
      - `avg` number
      - `total_values` number
  - `page` number
  - `out_of` number
  - `search_time_ms` number
  - `request_params` object
    - `collection_name` string
    - `per_page` number
    - `q` string

---

[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)
