list_retailers

list_retailers MCP tool: the retailers AI engines send buyers to on an e-commerce project, and how often the brand is cited alongside each one. Inputs, response shape, JSON example.

Updated 2026-10-07

list_retailers lists the retailers AI engines point buyers to on an e-commerce project: marketplaces, resellers, department stores. For each one, it tells you how often the brand is also cited when that retailer comes up, against the brand's average.

It is the Retailers page of the dashboard, in JSON. A retailer is a name the AI sorted as a store, not a rival brand (verdict RETAILER), and that nobody rejected. Retailers never count as competitors.

When to use

Call it on a project with e-commerce mode on (see update_project_settings) to answer "where does ChatGPT tell people to buy, and am I there?". A retailer cited often with a low brandRate is a store where the AI sends buyers to other brands: the place to get listed, or to improve your product page. On a project without e-commerce mode, the list is empty.

Input

Field Type Default Description
projectId string (CUID) required Project to query.
filters.dateRange { from?, to? } (ISO date or datetime) all time Answers of this period only.
filters.llms array of LLM keys project engines Answers of these engines only.
filters.nameContains string - Case-insensitive match on the name or an alias.
sortBy responses_desc, brand_rate_asc, brand_rate_desc, name_asc responses_desc Order of the full list, before pagination. Retailers without a rate come last.
cursor string - pageInfo.nextCursor of the previous page.
limit number (1 to 100) 20 Page size.

Response

{
  "data": [
    {
      "id": "clr1...",
      "name": "Amazon",
      "aliases": ["amazon.fr"],
      "responses": 42,
      "llms": ["chatgpt", "perplexity", "google_ai_mode"],
      "brandRate": 31,
      "brandWithRetailer": 13,
      "gap": -9
    },
    {
      "id": "clr2...",
      "name": "Decathlon",
      "aliases": [],
      "responses": 17,
      "llms": ["chatgpt", "gemini"],
      "brandRate": 65,
      "brandWithRetailer": 11,
      "gap": 25
    }
  ],
  "pageInfo": { "hasMore": false, "nextCursor": null, "totalCount": 2 },
  "summary": {
    "results": 210,
    "brandRate": 40,
    "retailerRate": 38,
    "brandRateWithRetailer": 33,
    "officialSiteRate": 12
  }
}

Row fields:

  • responses: answers citing the retailer in the window.
  • brandRate: share of those answers that also cite the brand, in percent. brandWithRetailer is the raw count.
  • gap: brandRate minus the project's overall brand rate, in points. Negative means the brand is weaker when this retailer shows up.

Summary fields, all in percent of the window's answers except results: brandRate (answers citing the brand), retailerRate (answers citing at least one retailer), brandRateWithRetailer (brand rate among those), officialSiteRate (answers citing the brand's own site).

Tips and patterns

  • Sort by brand_rate_asc to get the stores where engines recommend other brands first.
  • Compare officialSiteRate with retailerRate: when retailers are cited far more than your own site, engines send buyers to stores, so your listings there matter as much as your site.
  • Open a row with get_retailer to see the cited pages: your product page, a competitor's, or a generic category.
  • A store sorted as a competitor by mistake, or the reverse: fix it with bulk_update_competitor_status (kind: RETAILER or COMPETITOR, or status: REJECTED to hide it).

Related tools

You can see where you stand today.

Free trial. Start tracking your AI visibility, no credit card.