> ## Documentation Index
> Fetch the complete documentation index at: https://developers.unbridaled.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Query Products

> Query the product catalog (across all product types) with an
optional free-text search and pagination. Only returns products
that are visible in a published public catalog and have at least
one variant in stock, unless overridden.



## OpenAPI

````yaml post /api/v3/products/query
openapi: 3.1.0
info:
  title: Unbridaled Marketplace Merchant API v3
  description: Developer API to integrate with Unbridaled Marketplace (v3)
  version: 3.0.0
servers:
  - url: https://api-staging.unbridaled.ai
    description: Sandbox API
  - description: Production API
    url: https://api.unbridaled.ai
security:
  - apikeyAuth: []
tags:
  - name: Diamonds
  - name: Inventory
  - name: Orders
  - name: Product Variants
  - name: Products
  - name: Merchant Templates
  - name: Merchant Addresses
  - name: Profit Margins
  - name: Defaults
paths:
  /api/v3/products/query:
    post:
      tags:
        - Products
      summary: Query Products
      description: |-
        Query the product catalog (across all product types) with an
        optional free-text search and pagination. Only returns products
        that are visible in a published public catalog and have at least
        one variant in stock, unless overridden.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                q:
                  type: string
                id:
                  type: array
                  items:
                    type: string
                  description: Product ID(s) to filter by.
                type:
                  type: array
                  items:
                    type: string
                    enum:
                      - watch
                      - jewelry
                  description: Product type(s) to filter by.
                order_by:
                  type: string
                  default: updated_on
                order:
                  type: string
                  enum:
                    - asc
                    - desc
                  default: desc
                limit:
                  type: integer
                  default: 100
                offset:
                  type: integer
                  default: 0
                include_unavailable:
                  type: boolean
                  default: false
                  description: >-
                    When false (default), hide products whose every variant has
                    quantity 0.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  products:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        title:
                          type: string
                        description:
                          type: string
                        type:
                          type: string
                        vendor:
                          type: object
                        variants:
                          type: array
                          items:
                            type: object
                  offset:
                    type: integer
                  limit:
                    type: integer
                  total:
                    type: integer
components:
  securitySchemes:
    apikeyAuth:
      type: http
      scheme: bearer

````