API do Scraper ChatGPT: Respostas e Citações de IA em JSON
Advanced Data Extraction Specialist
TL;DR:
- Uma API de raspagem do ChatGPT transforma a resposta do modelo em JSON estruturado. Um POST para o ator
scraper.chatgptretorna o texto da resposta, as citações por trás dela e os resultados da pesquisa na web que o ChatGPT consultou — como campos, não um screenshot. - Duas entradas executam tudo.
promptcontém a pergunta; umcountryopcional determina a execução para a saída residencial naquele mercado, para capturar a resposta que um usuário real lá veria. - As citações chegam prontas para o gráfico.
content_referenceslista cada fonte citada com seu título, URL e atribuição — o material bruto para rastreamento de participação de citação sem uma etapa de análise. - O envelope nunca muda. Cada chamada retorna
{ status, task_id, task_result }, a mesma estrutura dos outros atores LLM Scrapeless, de modo que um wrapper escrito para o ChatGPT se estenda para Grok, Gemini, Perplexity e Copilot inalterado. - Sem navegador para supervisionar. Renderização, gerenciamento de sessão e rotação de proxy acontecem no servidor; você chama um endpoint com um cabeçalho
x-api-tokene lê o JSON de volta. - Grátis para começar. Novas contas Scrapeless incluem créditos de teste gratuitos — inscreva-se em app.scrapeless.com.
Introdução: a resposta é a nova página de resultados
O ChatGPT responde a perguntas sobre produtos diretamente: um comprador pergunta qual é a melhor ferramenta de suporte, o melhor CRM, o melhor provedor de proxy e recebe uma breve recomendação sintetizada com algumas fontes citadas. Não há página dois. Uma marca é mencionada naquela resposta — ou é invisível para aquele comprador.
Essa mudança criou uma nova necessidade de dados. Equipes que costumavam rastrear classificações agora precisam das respostas em si: armazenadas, comparadas e graficadas ao longo do tempo, com as citações que explicam por que o modelo disse o que disse. Capturar isso dirigindo a interface de chat em um navegador significa muros de login, respostas transmitidas e markup que muda sem aviso prévio.
O ator scraper.chatgpt colapsa o problema em uma solicitação HTTP: prompt dentro, resposta estruturada fora. Este guia cobre a forma da solicitação, o esquema da resposta campo a campo, um cliente Python executável e os atores acompanhantes que estendem o mesmo padrão ao resto da paisagem de respostas da IA. Para uma visão classificada da própria categoria de ferramenta, o guia das melhores raspagens de LLM cobre o ChatGPT ao lado das outras plataformas.
O que você pode fazer com isso
- Rastreamento de participação de citação. Execute um conjunto de prompts fixos em uma programação e conte quais domínios o ChatGPT cita para cada pergunta — a métrica GEO que substitui o rastreamento de classificação.
- Monitoramento de mencões à marca. Detecte quando a resposta a uma pergunta de compra começa ou para de mencionar seu produto, e qual fonte a menção rastreia.
- Análise de respostas competitivas. Capture como o modelo descreve uma categoria de produto em diferentes mercados e ao longo do tempo, com os links de apoio como dados.
- Captura multinacional. Determine execuções em diferentes países e compare as respostas lado a lado — a localidade altera tanto a resposta quanto as citações.
- Feedback da estratégia de conteúdo. Veja quais de suas páginas realmente recebem citações e para quais prompts, em vez de adivinhar a partir do tráfego.
- Construção de conjuntos de dados. Coletar triplas prompt–resposta–citação como JSON limpo para análise posterior ou pipelines de avaliação.
Por que o Raspador Scrapeless do ChatGPT
O ator scraper.chatgpt é parte da família Scrapeless LLM Chat Scraper dentro da linha Universal Scraping API. Ele trata a resposta da IA como um alvo de primeira classe:
- Uma solicitação, saída estruturada. Sem navegador para dirigir, sem streaming para reassemblar, sem DOM para analisar — o ator renderiza a superfície do chat no servidor e retorna campos analisados.
- Citações como dados.
content_referencescarrega cada fonte citada como um objeto discreto; o corpo da resposta mantém suas marcas de citação inline para que os dois possam ser unidos. - Saída residencial localizada. As execuções passam por proxies residenciais em mais de 195 países, para que respostas específicas à localidade sejam reprodutíveis por mercado.
- Um token, um envelope, cinco plataformas. O mesmo
x-api-tokene o contrato{ status, task_id, task_result }cobrem os atores ChatGPT, Grok, Gemini, Perplexity e Copilot.
A referência completa de parâmetros está nos documentos do LLM Chat Scraper.
Pré-requisitos
- Uma conta e chave de API do Scrapeless — inscreva-se em app.scrapeless.com.
curlpara o teste rápido, ou Python 3.10+ para o cliente abaixo.- Familiaridade básica com HTTP e JSON.
Armazene sua chave no ambiente para que nunca apareça no código:
bash
export SCRAPELESS_API_KEY=seu_token_api_aqui
Como funciona o Scraper ChatGPT
Você nomeia o ator, fornece uma entrada e envia sua chave em um cabeçalho.
- Endpoint:
POST https://api.scrapeless.com/api/v2/scraper/execute - Ator:
scraper.chatgpt - Cabeçalho de Autenticação:
x-api-token: $SCRAPELESS_API_KEY
Parâmetros da requisição
| campo de entrada | necessário | descrição |
|---|---|---|
prompt |
sim | a pergunta a ser enviada ao ChatGPT |
country |
não | código do país de duas letras que determina a saída residencial da execução (por exemplo, BR) |
Captura rápida com curl
bash
curl -sS -X POST https://api.scrapeless.com/api/v2/scraper/execute \
-H "Content-Type: application/json" \
-H "x-api-token: ${SCRAPELESS_API_KEY}" \
-d '{
"actor": "scraper.chatgpt",
"input": { "prompt": "Quais são as melhores ferramentas de web scraping?", "country": "BR" }
}'
Envelope da resposta
json
// exemplo ilustrativo — esquema de uma execução ao vivo do scraper.chatgpt; valores abreviados
{
"status": "success",
"task_id": "7218e510-…",
"task_result": {
"prompt": "Quais são as melhores ferramentas de web scraping?",
"model": "gpt-5-5",
"result_text": "A melhor ferramenta depende do caso de uso… ([source][1])",
"content_references": [
{ "title": "…", "url": "https://…", "attribution": "…" }
],
"search_result": [
{ "title": "…", "url": "https://…", "snippet": "…", "attribution": "…" }
],
"links": [],
"products": null,
"web_search": false
}
}
Campo por campo:
| campo | tipo | o que contém |
|---|---|---|
status |
string | success em uma execução completada |
task_id |
string | o identificador da execução, útil como uma chave de auditoria no seu próprio armazenamento |
task_result.prompt |
string | o prompt como o ChatGPT o recebeu |
task_result.model |
string | o modelo que respondeu (por exemplo, gpt-5-5 em capturas recentes) |
task_result.result_text |
string | a resposta completa em markdown, marcadores de citação inline preservados |
task_result.content_references[] |
array | cada fonte citada como { title, url, attribution } |
task_result.search_result[] |
array | os resultados da pesquisa na web que o ChatGPT consultou para a resposta |
task_result.links[] |
array | links diretos apresentados pela resposta, quando presentes |
task_result.products |
array | null | referências de produtos para prompts de compras; null caso contrário |
Obtenha sua chave de API no plano gratuito: app.scrapeless.com
Integração da API em Python
Um cliente completo: envie o prompt, verifique o envelope e imprima a tabela de citações.
python
import os
import requests
ENDPOINT = "https://api.scrapeless.com/api/v2/scraper/execute"
def ask_chatgpt(prompt: str, country: str = "BR") -> dict:
resp = requests.post(
ENDPOINT,
headers={
"Content-Type": "application/json",
"x-api-token": os.environ["SCRAPELESS_API_KEY"],
},
json={"actor": "scraper.chatgpt", "input": {"prompt": prompt, "country": country}},
timeout=180,
)
resp.raise_for_status()
return resp.json()
if __name__ == "__main__":
data = ask_chatgpt("Quais são as melhores ferramentas de web scraping?")
result = data.get("task_result", {})
refs = result.get("content_references") or []
print(f"status={data.get('status')} modelo={result.get('model')} citações={len(refs)}")
for i, ref in enumerate(refs, 1):
print(f" [{i}] {ref.get('attribution', '')}: {ref.get('title', '')[:60]} → {ref.get('url', '')[:60]}")
O corpo da resposta fica em result.get("result_text") como markdown; para trabalho de compartilhamento de citações, o loop acima geralmente é toda a tarefa — agrupe os URLs impressos por domínio e conte.
Atores complementares para o restante do panorama de respostas de IA
O mesmo endpoint, cabeçalho e envelope cobrem as plataformas vizinhas — apenas o nome do ator e um ou dois campos específicos da plataforma mudam:
scraper.grok— adiciona ummodode raciocínio obrigatório e retorna painéis de citação separadosweb_search_resultsex_search_results.scraper.gemini— mesmo input de dois campos que o ChatGPT; retornaresult_textmais um arraycitations.scraper.perplexity— exige umcountrye um sinalizadorweb_search; retornaweb_results,media_itemse prompts relacionados.scraper.copilot— a superfície de resposta do Copilot sob o mesmo contrato.scraper.overview/scraper.aimode— bloco de visão geral de IA do Google e aba de Modo de IA; o guia de visão geral de IA cobre esse par do início ao fim.
O preço da linha é baseado no uso, com créditos de teste gratuitos ao se inscrever — os níveis atuais estão na página de preços.
Como evitar problemas comuns
content_referencesvazios em alguns prompts. O ChatGPT não cita fontes para todas as respostas — prompts de opinião ou puramente generativos podem retornar sem citações. Para rastreamento de citações, formule os prompts da maneira que um comprador pesquisador faria ("melhor X para Y"), o que acionará de forma confiável respostas baseadas na web.- As respostas variam de execução para execução. O mesmo prompt pode produzir uma resposta e um conjunto de citações diferentes em minutos — essa volatilidade é o fenômeno que você está medindo. Armazene cada captura com seu
task_ide timestamp e trate a série, e não qualquer execução única, como o sinal. - Trate cada campo como anulável.
productsénullfora dos prompts de compras,linksmuitas vezes está vazio, e as contagens de citações flutuam entre as execuções. Leia o que está presente em vez de afirmar uma forma fixa. - Defina o país de forma deliberada. Uma execução não fixada captura uma resposta; uma execução fixada captura a resposta para um mercado do qual você se importa. Mantenha o valor de
countryem seus registros armazenados para que as séries permaneçam comparáveis.
Conclusão: respostas como uma dependência de linha única
Capturar as respostas do ChatGPT se resume a um pedido: POST { actor: "scraper.chatgpt", input: { prompt, country } } com seu x-api-token, leia result_text para a resposta e content_references para as fontes, e armazene o par com seu task_id. O mesmo cliente, apontado para um conjunto de prompts e uma programação, torna-se um programa de participação de citação; apontado para os atores acompanhantes, torna-se a cobertura de todo o cenário de respostas de IA.
Pronto para construir seu pipeline de dados de respostas de IA?
Junte-se à nossa comunidade para reivindicar um plano gratuito e se conectar com desenvolvedores que estão construindo pipelines de respostas de IA: Discord · Telegram.
Inscreva-se em app.scrapeless.com para créditos de teste gratuitos e aponte o ator scraper.chatgpt para os prompts, mercados e horários que seu programa de monitoramento necessita.
FAQ
Q: É legal coletar respostas do ChatGPT?
O ator captura conteúdo de resposta renderizado publicamente. As regras variam de acordo com a jurisdição e os termos de serviço da plataforma, portanto, revise os ToS relevantes e consulte um advogado para seu caso de uso — especialmente antes de redistribuir respostas capturadas. Nunca colete dados pessoais protegidos sob o GDPR ou CCPA.
Q: Como eu me autentico?
Cada solicitação contém o cabeçalho x-api-token: <sua chave>. Uma chave de conta funciona em scraper.chatgpt e em todos os outros atores do Scrapeless. Crie uma chave no plano gratuito em app.scrapeless.com.
Q: Preciso de um proxy?
Não. A saída residencial e o geo-roteamento estão integrados no ator — country na entrada é toda a configuração.
Q: O que country realmente muda?
O mercado de saída residencial para a execução. As respostas e citações do ChatGPT são sensíveis ao local, portanto, uma execução fixada em DE pode nomear produtos diferentes e citar fontes diferentes do que uma execução fixada em US para o mesmo prompt.
Q: Como eu obtenho as citações em uma lista limpa?
Leia task_result.content_references — cada entrada é { title, url, attribution }. Nenhuma análise de texto é necessária; os marcadores em linha em result_text estão somente lá se você quiser ancorar citações a frases.
Q: Posso rodar isso sem um SDK ou agente de IA?
Sim. É HTTP simples — curl, Python requests, Node fetch ou qualquer cliente HTTP funciona diretamente contra POST /api/v2/scraper/execute. Nenhum SDK é necessário.
Q: O mesmo código funciona para Grok ou Gemini?
O envelope e a autenticação são idênticos; troque o nome do ator e ajuste os campos de entrada específicos da plataforma (Grok requer um mode, Perplexity requer country). As chaves de task_result diferem por plataforma, então faça o mapeamento por ator.
Na Scorretless, acessamos apenas dados disponíveis ao público, enquanto cumprem estritamente as leis, regulamentos e políticas de privacidade do site aplicáveis. O conteúdo deste blog é apenas para fins de demonstração e não envolve atividades ilegais ou infratoras. Não temos garantias e negamos toda a responsabilidade pelo uso de informações deste blog ou links de terceiros. Antes de se envolver em qualquer atividade de raspagem, consulte seu consultor jurídico e revise os termos de serviço do site de destino ou obtenha as permissões necessárias.



