---
title: "Search and list products"
method: GET
path: "/products.json"
---

# Search and list products

`GET /products.json`

## Request

- Base URL: `https://suntekstore.com`
- URL: `https://suntekstore.com/products.json`
- Auth: none declared

## Query parameters

- `q` string
- `category` 'billiards' | 'boating' | 'fishing-camping' | 'music' | 'fitness' | 'cycling-garage' | 'crafts' | 'workshop' | 'hobbies' | 'farm-garden' | 'more'
- `min_price` number
- `max_price` number
- `in_stock` boolean
- `max_delivery_days` integer
- `sort` 'relevance' | 'price_asc' | 'price_desc' | 'newest' | 'fastest_delivery'
- `page` integer
- `per_page` integer

## Response `200`

A page of products

- object
  - `total` integer
  - `page` integer
  - `per_page` integer
  - `pages` integer
  - `next` string, uri
  - `products` Product[]
    - `id` string
    - `sku` string
    - `display_title` string
    - `title` string
    - `description` string
    - `category` object
    - `product_category` string
    - `brand` string
    - `condition` string
    - `price` string
    - `price_amount` string
    - `currency` string
    - `price_valid_until` string, date
    - `availability` 'in_stock' | 'out_of_stock'
    - `inventory_quantity` integer
    - `max_quantity_per_order` integer
    - `shipping` string
    - `delivery_days` object
    - `ships_to` string[]
    - `shipping_cost` string
    - `return_window_days` integer
    - `estimated_delivery` object: Delivery dates if ordered today (UTC): if_ordered_on, earliest, latest (ISO dates)
    - `return_policy` object
    - `prop65_warning` string, nullable
    - `thumbnail_link` string, uri, nullable: 480px WebP of the main image
    - `package_dimensions_cm` unknown
    - `weight_g` number, nullable
    - `image_link` string, uri
    - `additional_image_link` string[]
    - `link` string, uri
    - `markdown_url` string, uri
    - `json_url` string, uri
    - `buy_url` string, uri
  - `interpreted_query` string: Query after spelling correction
  - `ignored_terms` string[]
  - `exact_matches` integer: Present when few products matched every term: how many did (they come first); the rest are closest matches
  - `match` 'partial': Present when no product matched every term; closest matches shown
  - `suggestions` object[]: Only when total is 0: shorter queries that do match

## Other responses

- `400`: Invalid parameters
- `429`: Rate limited

---

[API](https://skmtc.dev/suntekstore/apis/suntekstore-catalog-api.md) · [All operations](https://skmtc.dev/suntekstore/apis/suntekstore-catalog-api/llms.txt) · [OpenAPI document](https://skmtc.dev/suntekstore/apis/suntekstore-catalog-api/revisions/a0b09f0d041f?raw)
