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

# Website

Find products sold on specific websites.

<Note>
  A **[brand](/concepts/brand)** is the company or label behind a product. A **[website](/concepts/website)** is the online store selling it.
</Note>

<Steps>
  <Step title="Find the ID, or bring a domain">
    Search for a retailer to get its stable ID. [Website search](/api-reference/channel3-api/websites) is free.

    <CodeGroup>
      ```typescript TypeScript theme={null}
      import Channel3 from "@channel3/sdk";

      const client = new Channel3();

      const website = await client.websites.retrieve({ query: "Best Buy" });
      const bestBuyId = website.id;
      console.log(bestBuyId); // e.g. "bestbuy"
      ```

      ```python Python theme={null}
      from channel3_sdk import Channel3

      client = Channel3()

      website = client.websites.retrieve(query="bestbuy.com")
      best_buy_id = website.id
      print(best_buy_id)  # e.g. "bestbuy"
      ```

      ```bash cURL theme={null}
      curl "https://api.trychannel3.com/v0/websites?query=bestbuy.com" \
        -H "x-api-key: $CHANNEL3_API_KEY"
      ```
    </CodeGroup>

    If you already know the domain, like `bestbuy.com`, you can skip this step and pass the domain directly in search.
  </Step>

  <Step title="Add it to search">
    Pass IDs or domains to `filters.website_ids`. You can use the ID from step 1, or pass a domain like `"nike.com"` and the API will resolve it.

    <CodeGroup>
      ```typescript TypeScript theme={null}
      const results = await client.products.search({
        query: "running shoes",
        filters: {
          website_ids: [
              "nike.com", // Resolved automatically
              "website_id" // Matches a direct ID
          ],
        },
      });
      ```

      ```python Python theme={null}
      results = client.products.search(
          query="running shoes",
          filters={"website_ids": [
              "nike.com", # Resolved automatically
              "website_id" # Matches a direct ID
          ]}
      )
      ```

      ```bash cURL theme={null}
      curl -X POST https://api.trychannel3.com/v1/search \
        -H "x-api-key: $CHANNEL3_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "query": "running shoes",
          "filters": { "website_ids": ["nike.com"] }
        }'
      ```
    </CodeGroup>
  </Step>
</Steps>

<Cards>
  <Card title="Search" icon="magnifying-glass" href="/guides/search" arrow="true">
    Full overview of the search endpoint and all available filters.
  </Card>

  <Card title="Websites API" icon="globe" href="/api-reference/channel3-api/websites" arrow="true">
    Full API reference for the websites endpoint.
  </Card>
</Cards>
