get_retailer
get_retailer MCP tool: detail of one retailer on an e-commerce project, with brand presence, prompts, brands recommended alongside it, cited pages and sources. Inputs, response shape, JSON example.
Updated 2026-10-09
get_retailer returns the detail of one retailer of an e-commerce project: how often the brand is cited when engines send buyers there, on which prompts and engines, which brands they recommend alongside it, and which of its pages they cite.
It is the retailer page of the dashboard, in JSON. The pages tell you whether engines land on your product page at that store, on a competitor's, or on a generic page.
When to use
Call it after list_retailers, with a retailer id, to answer "why am I missing when ChatGPT recommends this store?". The co-cited brands show who takes your place; the cited pages show whether your listing exists in the AI's eyes. Pass a promptId to narrow everything to one question.
Input
| Field | Type | Default | Description |
|---|---|---|---|
projectId |
string (CUID) | required | Project to query. |
retailerId |
string (CUID) | required | Retailer id from list_retailers. |
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. |
promptId |
string (CUID) | - | Restrict the detail to one prompt. The prompts list stays complete. |
Response
{
"success": true,
"retailer": { "id": "clr1...", "name": "Amazon", "aliases": ["amazon.fr"] },
"responses": 42,
"brandPresence": { "cited": 42, "withBrand": 13, "rate": 31 },
"avgPosition": 2.4,
"byLlm": [
{ "llm": "chatgpt", "count": 25 },
{ "llm": "perplexity", "count": 17 }
],
"prompts": [
{ "id": "clp1...", "text": "best trail running shoes for beginners", "count": 9, "llms": ["chatgpt", "perplexity"] }
],
"coCitedBrands": [
{ "id": "clc1...", "name": "Salomon", "count": 20, "rate": 48 }
],
"pages": [
{
"url": "https://www.amazon.fr/dp/B0EXAMPLE",
"title": "Salomon Speedcross 6",
"count": 6,
"withBrand": 1,
"owner": { "kind": "competitor", "name": "Salomon" }
}
],
"productsSold": [{ "id": "prod_9k2", "name": "Speedcross 6", "count": 4 }],
"sources": [{ "domain": "amazon.fr", "count": 14 }]
}
Fields:
responses: mentions of the retailer in the window.brandPresencecounts distinct answers citing it (cited), those that also cite the brand (withBrand), and the rate in percent.prompts: the 20 prompts where the retailer is cited most, with the engines.coCitedBrands: confirmed competitors cited in the same answers, with the share of the retailer's answers (rate).pages: retailer pages the engines cite (50 at most).owner.kindisbrand(your product page),competitor(with itsname) orother.productsSold: products whose AI shopping card points to this retailer (the merchant named on a ChatGPT card, or the product page domain on Copilot), 10 at most, with the number of answers (count).sources: the 10 domains attributed to the retailer most often.
Error: retailer_not_found (unknown id, another project, or an entity not sorted as a retailer).
Tips and patterns
- Pages with
owner.kind: competitorand a highcountare the listings to match: same store, same query, your product missing. - No page with
owner.kind: brandmeans engines never cite your product page at this store. Check that it exists and names the product the way buyers ask. - Combine
coCitedBrandswithlist_competitor_sourceson the top brand to see where else it wins. - Wrong sorting?
bulk_update_competitor_statusmoves an entity between retailer, product and competitor, or rejects it.
Related tools
list_retailers: every retailer of the project, with brand presencelist_competitors: rival brands of the projectlist_competitor_sources: domains where a competitor is citedbulk_update_competitor_status: reclassify or reject a retailer