A growing share of product research no longer starts in the Amazon search bar — it starts with "what's the best cork yoga mat?" typed into ChatGPT. The model answers with a short list of specific products and brands, and most shoppers never scroll past it. That list is the new search results page, and right now almost nobody is measuring whether their product is on it. This guide shows how to scrape ChatGPT's answers to track which Amazon products it recommends, how to measure your share of voice against competitors, and how to feed real Amazon data back in so the picture stays honest.
Quick answer
- AI answers are a ranking surface. When ChatGPT names products for a buying query, being mentioned is the new page-one rank.
- You can track it. Programmatically ask the same buying questions on a schedule and parse which ASINs, brands, and products come back.
- Measure share of voice — how often you're mentioned vs. competitors, in what position, and with what sentiment.
- Ground it in real data. Cross-check what ChatGPT claims against live Amazon rank and price from the Asgard API — models get facts wrong.
- Watch for sponsored/affiliate placement creeping into AI answers, and separate it from organic mentions.
Why AI answer visibility is the new ranking
For twenty years, "ranking" meant position on a search results page — Google's ten blue links, then Amazon's grid of products. The optimization playbook followed: keywords, backlinks, reviews, conversion rate. But when a shopper asks ChatGPT "which robot vacuum is best for pet hair under $300?", there is no grid. There's a paragraph naming two or three specific products. The shopper clicks one. Everything else on Amazon might as well not exist for that query.
This is Answer Engine Optimization (also called Generative Engine Optimization): the discipline of getting your product named in AI-generated answers. And like any optimization, step one isn't tactics — it's measurement. You cannot improve your presence in ChatGPT's answers if you don't know what those answers currently say. That's the gap this guide closes.
How ChatGPT decides which products to name
ChatGPT doesn't browse Amazon in real time for most answers — it draws on a mix of training data, retrieval, and (increasingly) live web tools. In practice, the products it names are shaped by:
- How often a product is written about across reviews, "best of" roundups, Reddit threads, and buying guides.
- Strong, consistent review signals — high ratings and large review counts that show up repeatedly in its sources.
- Editorial roundups and listicles that name specific models, which the model treats as authority.
- Structured, quotable claims ("best budget option," "best for beginners") that map cleanly onto a shopper's question.
- Increasingly, live retrieval when the model uses browsing — which is where accurate, current Amazon data starts to matter directly.
You can't see inside the model, but you can observe its outputs systematically — and that's enough to build a real visibility program.
Step 1 — Scrape ChatGPT's product answers
The core technique is simple: define the buying questions your shoppers actually ask, send them to ChatGPT programmatically on a schedule, and capture the products it names. Use the OpenAI API for stable, repeatable answers and ask for structured output so parsing is trivial:
import OpenAI from "openai";
const openai = new OpenAI();
const query = "What are the best cork yoga mats to buy right now?";
const completion = await openai.chat.completions.create({
model: "gpt-4o",
response_format: { type: "json_object" },
messages: [
{
role: "system",
content:
"You recommend products like a shopping assistant. For the user's question, " +
"return JSON: { products: [{ name, brand, approxPrice, whyRecommended, position }] } " +
"in the order you would recommend them.",
},
{ role: "user", content: query },
],
});
const answer = JSON.parse(completion.choices[0].message.content);
// answer.products -> the AI "results page" for this query
Run this across a matrix of queries (broad, long-tail, use-case, and price-qualified variants) and store every result with a timestamp. That history is your AI-visibility dataset.
Step 2 — Detect whether YOUR product was mentioned
Brand and product names are messy — "AmazonBasics," "Amazon Basics," and a specific model number may all refer to you. Match on brand plus known product aliases, and record the position so you capture not just if you appear but where:
const MY_BRAND = "yogagood";
const MY_ALIASES = ["yogagood cork mat", "yogagood pro", "b0myasin123"];
function findMyMention(products) {
const i = products.findIndex((p) => {
const hay = `${p.brand} ${p.name}`.toLowerCase();
return hay.includes(MY_BRAND) || MY_ALIASES.some((a) => hay.includes(a));
});
return i === -1
? { mentioned: false, position: null }
: { mentioned: true, position: i + 1, why: products[i].whyRecommended };
}
Step 3 — Measure share of voice
One answer is an anecdote; hundreds of answers over time are a metric. Aggregate across all your queries and runs to compute the numbers that actually matter:
| Metric | What it tells you |
|---|---|
| Mention rate | Of all AI answers for your category, what % name your product at all. |
| Average position | When named, are you first, second, or an afterthought? |
| Share of voice | Your mentions vs. total competitor mentions across the query set. |
| Sentiment / reason | How the model frames you ("best budget" vs. "premium pick") — the angle you own. |
| Sponsored share | How often answers surface paid or affiliate placements vs. organic picks. |
Track these weekly and you'll see movement the moment a new competitor breaks into the model's answers — or the moment you drop out.
Step 4 — Ground it in real Amazon data
Here's the catch: ChatGPT confidently states prices, ratings, and availability that are often stale or wrong. Before you act on any AI answer, verify its claims against live Amazon data. Pull the real price, rating, and rank for every product the model named with the Asgard Amazon API:
// Verify what ChatGPT claimed about each recommended product
const verified = await Promise.all(
answer.products.map(async (p) => {
const res = await fetch(
"https://api-v2.asgardata.com/amazon/product/buybox?" +
new URLSearchParams({ asin: p.asin, country: "us" }),
{ headers: { "x-api-key": process.env.ASGARD_API_KEY } }
);
const { result } = await res.json();
return {
name: p.name,
claimedPrice: p.approxPrice,
actualPrice: result?.buybox?.price ?? null,
inStock: result?.buybox?.in_stock ?? false,
};
})
);
Now you know not just that ChatGPT recommended a competitor, but whether it recommended them at a price that's no longer real — an angle you can exploit. Combine this with daily rank tracking and the price comparison tool to connect AI visibility back to what's actually happening on the marketplace.
Step 5 — Improve your AI visibility
Once you're measuring, the levers to actually get named become clear:
- Earn mentions in the sources models read — "best of" roundups, credible reviews, and category guides that name your specific product.
- Strengthen review signals. Rating and review volume are among the most quotable, model-friendly proofs of quality.
- Own a clear angle. "Best for beginners," "best budget," "best eco-friendly" — make the one-line claim the model can lift verbatim.
- Keep your listing accurate and current so that when the model does retrieve live data, it reinforces your positioning instead of undercutting it.
- Re-measure. Treat AEO like SEO: change something, wait, and watch your mention rate and average position move.
Is scraping ChatGPT answers allowed?
Using the OpenAI API to generate answers programmatically is a first-party, sanctioned path — you're a paying customer calling a documented endpoint, which is exactly what it's for. That's very different from automating the consumer ChatGPT web UI, which runs into its terms of service and anti-automation controls. For a monitoring program, always build on the API: it's stable, repeatable, and above board. Keep your query set and parsing on your side, and store only the answer data you need.
Frequently asked questions
Does ChatGPT actually recommend Amazon products? Yes. For buying-intent questions it routinely names specific products and brands, and with browsing enabled it can pull live listings. Those named products are the ones shoppers click — being on the list is the new ranking.
How is this different from Amazon SEO? Amazon SEO optimizes your position in Amazon's own search grid. AI answer visibility optimizes whether ChatGPT (and other assistants) name you at all. They're related — strong reviews and clear positioning help both — but they're measured on different surfaces.
Can I trust the prices and facts ChatGPT gives? No — verify everything. Models routinely state stale prices, ratings, and stock. Always cross-check AI claims against live data from the Asgard API before acting.
Are AI answers becoming pay-to-play? Sponsored and affiliate placements are beginning to appear in AI shopping experiences. Track the sponsored share of your answer set separately so you can tell organic authority from paid presence.
Related reading
- Amazon SEO Keyword Research: A Complete 2026 Guide
- Daily Keyword Rank Tracking for Amazon in 2026
- Amazon Scraping in 2026: The Complete Guide
See where you stand in AI answers, then verify it against reality:
☞ Amazon API · Free Rank Tracker · Price Comparison Tool · docs at asgardata.com