Skip to main content
Channel3 aggregates product offers from thousands of retailers. The websites API lets you browse the full list of supported retailers, and the website_ids filter on POST /v1/search lets you scope results to specific stores.
What’s the difference between brands and websites?A brand makes or labels a product (Nike, Dyson). A website is the online store selling it (nike.com, bestbuy.com). Use brand_ids to filter by brand and website_ids to filter by retailer — they’re independent. One brand’s products often appear on many websites. See the Brand and Website models.

Browse supported retailers

Use GET /v0/websites to retrieve the list of retailers available in Channel3.
import Channel3 from "@channel3/sdk";

const client = new Channel3();

const { websites } = await client.websites.list();

websites.forEach((site) => {
  console.log(site.id, site.name, site.domain);
});

Filter search results by retailer

Pass one or more website IDs to the website_ids filter to restrict results to those retailers.
const results = await client.products.search({
  query: "coffee maker",
  filters: {
    website_ids: ["walmart", "target"],
  },
});

Combining with other filters

Retailer filters compose with all other search filters.
TypeScript
const results = await client.products.search({
  query: "desk lamp",
  filters: {
    website_ids: ["wayfair", "west-elm"],
    price: { max_price: 75 },
    availability: ["InStock"],
  },
});