Pesquisa
Pesquise um nicho de produto antes de comprar estoque
Reúna o contexto da categoria, capture páginas de concorrentes em uma data declarada, leia o que os compradores reclamam no X e mantenha as evidências e o memorando em um LiveDoc para revisar antes de fazer o pedido.
Copiar o prompt
Substitua os campos entre colchetes e cole no Claude Code, Codex ou qualquer IA com acesso ao terminal. Ela instala a skill da Felo, pergunta antes de gastar créditos e executa o fluxo.
Pesquise este nicho de produto antes de comprar estoque ou lançar: [produto ou categoria]. Mercado: [país ou região]. Canal: [marketplace / DTC / varejo]. Janela de posts de compradores: últimos [30] dias. Produtos comparáveis ou URLs de concorrentes: [URLs]. Restrições de orçamento e margem: [restrições]. Público: [equipe]. Produza um memo em Markdown com: 1. Um veredito de um parágrafo: vale aprofundar a pesquisa e o que mudaria sua opinião. 2. Sinais de demanda: o que as fontes dizem sobre interesse, sazonalidade e substitutos. 3. Produtos concorrentes: o que cada um afirma, o preço capturado na página e onde os compradores dizem que ele falha. 4. Posicionamento de preço: os preços realmente encontrados nas páginas, cada um com a data de captura. 5. Reclamações e necessidades não atendidas, com citações, contas e datas. 6. Riscos e perguntas abertas antes de comprar estoque. 7. Fontes: cada página e post usado, com URL e data. Regras: - Use apenas o que as APIs retornam. Nunca invente tamanho de mercado, estimativa de vendas, número de avaliações ou preço de concorrente. - Relate os preços exatamente como capturados, com a URL da página e a data de captura. Nunca faça média nem normalize. - Trate posts do X como anedota, não como dado de mercado, e diga quando a amostra for fraca. - Separe o que o fornecedor afirma do que o comprador relata. - Antes de gastar créditos, mostre as extrações e buscas planejadas e aguarde minha aprovação. - Não contate fornecedores, não faça pedidos nem mande mensagem para ninguém no X. - Grave o resultado em ./product-research.md e resuma no chat.
A cópia também inclui os passos de instalação e as regras de segurança.
O que você recebe
Saída de exemplo de uma execução. Não é geração ao vivo.
Pesquisa de produto — categoria de exemplo
Veredito
Vale olhar mais de perto, mas a evidência pública não basta para decidir estoque. As perguntas abertas abaixo são o próximo passo.
Contexto da categoria
Compradores comparam espaço na bancada e limpeza mais do que pressão. Nenhuma fonte pública sustenta estimativa de tamanho de mercado.
Páginas de concorrentes
- Example A — página de produto (capturada em 2026-10-30)
- Example B — página de produto (capturada em 2026-10-30)
O que os compradores relatam
- @example_buyer: “Terceira troca em um ano; a vedação falha.” — 2026-10-19
- @example_home: “Leva minutos para limpar e ninguém menciona.” — 2026-10-24
Posicionamento de preço
Os preços foram capturados em 2026-10-30 das páginas vinculadas. Ficam em dois níveis; cada página é citada diretamente, sem média.
Riscos e perguntas abertas
- Durabilidade da vedação é a reclamação mais repetida.
- Nenhuma fonte cobre taxas de devolução.
- Verificar prazo do fornecedor e custo final antes de pedir.
Fontes
- https://example.com/product-a — 2026-10-30
- https://x.com/example_buyer/status/... — 2026-10-19
As chamadas exatas
Para desenvolvedores: o mesmo fluxo em código, na ordem de execução.
Mostrar as chamadas reais da API
Peça ao Chat a visão da categoria
Comece pela resposta com fontes, não por uma página em branco: o Chat pesquisa a web pública, ordena páginas e devolve os recursos usados. Pergunte sobre contexto de demanda, substitutos e reclamações comuns em uma só consulta e guarde os principais recursos como lista de evidências.
product-research.ts const BASE = "https://openapi.felo.ai"; const headers = { Authorization: `Bearer ${process.env.FELO_API_KEY}`, "Content-Type": "application/json", }; async function felo<T>(path: string, body?: unknown): Promise<T> { const res = await fetch(`${BASE}${path}`, { method: body ? "POST" : "GET", headers, body: body ? JSON.stringify(body) : undefined, }); if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`); return res.json() as Promise<T>; } type ChatData = { data: { answer: string; resources: { link: string; title: string; snippet: string }[]; }; }; const niche = "portable espresso maker"; // replace with the category you are judging const context = await felo<ChatData>("/v2/chat", { query: `Demand, price bands, and buyer complaints for ${niche} in the US`, }); const sources = context.data.resources.slice(0, 5);Saída de exemplo
{ "answer": "Buyers compare on counter space and cleanup …", "sources": [ { "link": "https://example.com/category-guide", "title": "…", "snippet": "…" } ] }Capture as páginas dos concorrentes
Extraia duas ou três páginas de produtos concorrentes em Markdown com legibilidade. O objetivo é a afirmação e o preço na página hoje, não uma ficha técnica reescrita. Mantenha a URL ao lado do conteúdo e registre a data de captura: preço sem data é boato.
product-research.ts const PRODUCT_PAGES = [ { url: "https://example.com/product-a", title: "Example A — product page" }, { url: "https://example.com/product-b", title: "Example B — product page" }, ]; type ExtractData = { data: { content: string } }; const listings = await Promise.all( PRODUCT_PAGES.map((page) => felo<ExtractData>("/v2/web/extract", { url: page.url, output_format: "markdown", with_readability: true, }).then((extracted) => ({ ...page, content: extracted.data.content })), ), );Saída de exemplo
[ { "url": "https://example.com/product-a", "title": "Example A — product page", "content": "# Example A\n\nSpecs and price as displayed…" } ]Leia o que os compradores relatam no X
Páginas de fornecedores listam recursos; compradores descrevem falhas. Pesquise o nicho junto com palavras de atrito — frete, qualidade, reembolso — nos últimos 30 dias e guarde perfil, data e link. Esses posts são anedotas, não dados de demanda, e o memorando precisa dizer isso.
product-research.ts type XData = { data: { tweets: { content: string; author: { username: string }; created_at: string; metrics: { retweet_count: number; favorite_count: number; reply_count: number }; url: string; }[]; }; }; const since = Math.floor((Date.now() - 30 * 24 * 60 * 60 * 1000) / 1000); const search = await felo<XData>("/v2/x/tweet/search", { query: `"${niche}" (shipping OR quality OR refund)`, limit: 50, since_time: since, }); const complaints = search.data.tweets;Saída de exemplo
{ "data": { "tweets": [ { "content": "Third replacement in a year; the seal fails.", "author": { "username": "example_buyer" }, "created_at": "2026-10-19T15:02:00Z", "metrics": { "retweet_count": 1, "favorite_count": 12, "reply_count": 3 }, "url": "https://x.com/example_buyer/status/..." } ] } }Monte o memorando
Este passo é código simples: junte a resposta da categoria, as datas de captura, as citações de compradores e a lista de fontes em um Markdown. Seja honesto nas perguntas em aberto — o memorando é útil porque separa o que as páginas provam do que ainda precisa ser confirmado com um fornecedor.
product-research.ts const capturedOn = new Date().toISOString().slice(0, 10); const memo = [ `# Product research — ${niche}`, "", "## Category context", context.data.answer, "", "## Competitor pages", ...listings.map( (page) => `- [${page.title}](${page.url}) — captured ${capturedOn}`, ), "", "## What buyers report", ...complaints.slice(0, 10).map( (post) => `- @${post.author.username} (${post.created_at.slice(0, 10)}): ${post.content}`, ), "", "## Sources", ...sources.map((source) => `- [${source.title}](${source.link})`), ].join("\n"); console.log(memo);Arquive as evidências em um LiveDoc
Rode uma vez por nicho: crie o LiveDoc e guarde o
short_idna configuração. Adicione as páginas de concorrentes e as fontes do Chat como recursos de URL para o arquivo deduplicar, depois adicione o memorando como documento. Antes da compra, consulte as capturas e veja quais preços mudaram.product-research.ts type LiveDocData = { data: { short_id: string } }; const research = await felo<LiveDocData>("/v2/livedocs", { name: `Product research: ${niche}`, description: "Competitor pages, buyer posts, and the memo", }); await felo(`/v2/livedocs/${research.data.short_id}/resources/urls`, { urls: [ ...listings.map((page) => ({ url: page.url, title: page.title })), ...sources.map((source) => ({ url: source.link, title: source.title })), ].slice(0, 10), }); await felo(`/v2/livedocs/${research.data.short_id}/resources/doc`, { title: `Product memo — ${capturedOn}`, content: memo, });Saída de exemplo
{ "short_id": "PvyKouzJirXjFdst4uKRK3" }
O que está incluído
- Visão da categoria com fontes do Chat e as páginas por trás dela
- Páginas de concorrentes em Markdown com data de captura
- Reclamações de compradores no X com perfis, datas e links
- Memorando em Markdown montado a partir dessas entradas
- Um LiveDoc com as evidências e o memorando
O que não faz
- Somente fontes públicas; relatórios pagos, cotações de fornecedores e vendas internas ficam de fora
- Não estima tamanho de mercado, volume de vendas ou margem
- Preços são registrados como capturados, nunca normalizados ou calculados em média
- Posts do X são anedotas, não dados de demanda
- Não contata fornecedores, não faz pedidos nem altera listagens
Perguntas
De onde vem o contexto de mercado?
O Chat API devolve uma resposta com fontes e as páginas públicas que usou. As páginas de concorrentes vêm das URLs que você fornece e são extraídas pelo Web Fetch; os posts vêm do X Search. Nenhum dado privado de vendas é usado.
Ele diz se um produto vai vender?
Não. Ele organiza evidências públicas — contexto de categoria, preços capturados e reclamações — e escreve o que é desconhecido. Validar demanda ainda exige seus dados, como anúncios, pré-vendas ou conversas com fornecedores.
E se o marketplace bloquear a extração?
O Web Fetch busca páginas públicas uma URL por vez e alguns sites bloqueiam. Use uma página de produto ou fornecedor acessível e deixe o memorando marcar a captura ausente em vez de adivinhar o preço.
Como evitar preços de concorrentes desatualizados?
Cada preço no memorando está ligado à URL e à data de captura. Rode a extração de novo perto da decisão de compra; o arquivo guarda capturas anteriores para mostrar que o preço mudou.
Ele contata fornecedores ou vendedores?
Não. O fluxo é somente leitura: extrai páginas, pesquisa posts públicos e escreve um memorando local. Nunca envia mensagens, faz pedidos ou edita listagens.
Quanto custa uma pesquisa?
Cada Chamada de Chat, extração e busca no X gasta créditos por uso; as tarifas atuais estão na página de preços. O prompt pede aprovação antes de executar.
Fluxos relacionados
Transforme uma pergunta em um briefing de pesquisa com fontes
Pergunte à web, salve as páginas por trás da resposta como Markdown, adicione o que os praticantes dizem no X e mantenha as evidências em um LiveDoc que você pode consultar depois.
Abrir o fluxo de trabalhoConteúdoTransforme conversas sociais em um briefing semanal de escuta
Pesquise os posts do X da última semana sobre sua marca e concorrentes, adicione contexto web com fontes, leia as páginas por trás e arquive cada edição para a próxima semana começar do que já se sabe.
Abrir o fluxo de trabalhoEscritórioTransforme uma página de pesquisa em apresentação
Extraia a página, salve como contexto do LiveDoc, deixe o PPT Task API montar o deck e consulte até a tarefa retornar o link pronto.
Abrir o fluxo de trabalhoFaça do seu jeito
A mesma receita, adaptada ao seu processo real.
Adicione transcrições de vídeos de review
Quando a categoria tem vídeos de review, pegue a transcrição com YouTube Subtitling e adicione duas ou três citações com timestamp à seção de compradores. Um review em vídeo ainda é a experiência de uma pessoa, então mantenha o rótulo de anedota dos posts do X.
Compare dois candidatos
Rode os mesmos passos para cada candidato e coloque os memorandos lado a lado: recursos alegados, preço capturado, reclamação recorrente e pergunta em aberto. A comparação continua qualitativa até você ter dados de vendas ou devoluções.
Atualize antes da compra
Rode a extração de novo um dia antes do pedido. Mantenha o mesmo LiveDoc e adicione um novo memorando, para o arquivo mostrar o que mudou entre a pesquisa de mesa e a compra, incluindo um preço que saiu do orçamento.
Continue
As páginas de referência por trás desta receita e para onde ir depois.