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

# List Marketplace Products

> Retrieve marketplace provider products that can be syndicated into your workspace.

## Method

`GET` `/v1/marketplace/products`

Requires the `catalog:read` scope and workspace context.

## Query Parameters

<ParamField query="providerId" type="string">Filter to one or more provider IDs. Repeat the parameter to pass multiple providers.</ParamField>

## Headers

<ParamField header="Authorization" type="string" required>Bearer token (e.g. <code>Authorization: Bearer YOUR\_API\_KEY</code>)</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.voyantcloud.com/v1/marketplace/products?providerId=prov_citybreaks" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const url = new URL("https://api.voyantcloud.com/v1/marketplace/products")
  url.searchParams.append("providerId", "prov_citybreaks")

  const res = await fetch(url, {
    headers: { Authorization: `Bearer ${process.env.VOYANT_API_KEY}` },
  })
  const { data } = await res.json()
  ```

  ```python Python theme={null}
  import os, requests

  resp = requests.get(
    "https://api.voyantcloud.com/v1/marketplace/products",
    params=[("providerId", "prov_citybreaks"), ("providerId", "prov_aegean")],
    headers={"Authorization": f"Bearer {os.environ['VOYANT_API_KEY']}"},
  )
  data = resp.json()["data"]
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "data": [
      {
        "id": "mp_prod_citybreaks_rome",
        "providerId": "prov_citybreaks",
        "externalProductId": "rome-getaway",
        "title": "Rome City Break (3 nights)",
        "kind": "package",
        "status": "active"
      }
    ]
  }
  ```
</ResponseExample>

<Note>
  The marketplace returns up to 100 products per request. If additional filtering is needed, apply the
  <code>providerId</code> parameter to narrow the result set.
</Note>
