> ## 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.

# Get Marketplace Product

> Retrieve detailed information for a marketplace provider product.

## Method

`GET` `/v1/marketplace/products/:productId`

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

## Path Parameters

<ParamField path="productId" type="string" required>Marketplace product ID (e.g. <code>mp\_prod\_citybreaks\_rome</code>).</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/mp_prod_citybreaks_rome" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const res = await fetch("https://api.voyantcloud.com/v1/marketplace/products/mp_prod_citybreaks_rome", {
    headers: { Authorization: `Bearer ${process.env.VOYANT_API_KEY}` },
  })
  const product = await res.json()
  ```

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

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

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "id": "mp_prod_citybreaks_rome",
    "providerId": "prov_citybreaks",
    "externalProductId": "rome-getaway",
    "title": "Rome City Break (3 nights)",
    "description": "<p>Spend three nights exploring Rome with guided tours and curated experiences.</p>",
    "kind": "package",
    "status": "active",
    "media": [
      {
        "type": "image",
        "url": "https://cdn.voyant.pro/marketplace/rome.jpg",
        "alt": "Colosseum at sunset"
      }
    ],
    "attributes": {
      "destination": "Rome",
      "durationNights": 3,
      "category": "city_break"
    }
  }
  ```

  ```json 404 Not Found theme={null}
  { "error": "Not found" }
  ```
</ResponseExample>
