# Como extrair anúncios do ChatGPT em grande escala: uma arquitetura técnica


<!--
  Dados estruturados: o renderizador (scripts/blog_render.py) insere um conjunto simples
  de BlogPosting + Open Graph + tags do Twitter em <head> a partir do frontmatter acima.
  O JSON-LD correspondente da FAQPage está no arquivo faq-schema.jsonld nesta pasta; mescle-o
  à página (de preferência como um único @graph combinado) no momento da publicação.
-->

# Como extrair anúncios do ChatGPT em grande escala: uma arquitetura técnica

A OpenAI começou a testar anúncios dentro do ChatGPT para adultos norte-americanos conectados nos planos Free e Go em 9 de fevereiro de 2026 ([OpenAI, “Testando anúncios no ChatGPT”](https://openai.com/index/testing-ads-in-chatgpt/)). Não há um diretório público para consulta, e a correspondência ocorre por thread privado. Portanto, aprender a extrair anúncios do ChatGPT não é um problema de análise sintática. Trata-se de um problema de amostragem: execute um conjunto de prompts projetado em sessões elegíveis e com precisão geográfica, capture todas as caixas patrocinadas e repita até que os números se estabilizem.

> **Principais conclusões**
> - Os anúncios são exibidos apenas para adultos dos EUA que estejam conectados nos planos Free e Go; os planos Pro, Business e Enterprise permanecem livres de anúncios, portanto, as sessões de coleta devem ocorrer em um plano elegível ([TechCrunch, “ChatGPT lança anúncios”, 09/02/2026](https://techcrunch.com/2026/02/09/chatgpt-rolls-out-ads/)).
> - Não há um centro de transparência de anúncios, e a correspondência é feita por thread privado; portanto, a única maneira de observar os anúncios é executar diversos prompts variados e registrar os resultados ([Search Engine Journal, 2026](https://www.searchenginejournal.com/see-competitor-ads-chatgpt-trendos-spa/575883/)).
> - Para cada exibição, registre o título do anúncio, a descrição do anúncio e a URL final; em seguida, calcule a participação de impressões dividindo o número de exibições pelo total de execuções ([Search Engine Land, 2026](https://searchengineland.com/what-chatgpt-ads-data-reveals-about-your-competitors-479301)).
> - Os anúncios são lançados por país; portanto, a coleta precisa ser realizada por mercado a partir de origens locais ([Euronews, 2026](https://www.euronews.com/next/2026/02/10/chatgpt-will-now-show-you-adverts-heres-everything-you-need-to-know)).
> - Os IPs de data centers são bloqueados rapidamente; IPs residenciais de provedores de internet reais parecem tráfego normal de usuários ([DataImpulse, “Melhores proxies para scraping com IA em 2026”](https://dataimpulse.com/blog/best-proxies-for-ai-scraping/)).

Este é o guia técnico complementar ao guia estratégico sobre [como monitorar anúncios do ChatGPT](https://www.joinmassive.com/blog/how-to-monitor-chatgpt-ads). Aqui, percorremos o fluxo de trabalho real, etapa por etapa.

[IMAGEM: Tela de um engenheiro mostrando um fluxo de dados com filas de prompts, regiões geográficas e uma tabela de anúncios patrocinados, com detalhes em laranja escuro na interface do usuário — termos de pesquisa: fluxo de dados, tela de engenheiro, escuro]

## O que torna os anúncios do ChatGPT difíceis de extrair?

Os anúncios do ChatGPT são difíceis de extrair porque a interface é fechada, contextual e regional ao mesmo tempo. Os anúncios aparecem em caixas rotuladas como “Patrocinado” abaixo da resposta, selecionados com base no tópico da conversa, no histórico do chat e em interações anteriores com anúncios, em vez de palavras-chave exatas ([StackAdapt, “Como anunciar no ChatGPT”](https://www.stackadapt.com/resources/blog/how-to-advertise-on-chatgpt)). Duas solicitações idênticas podem retornar anunciantes diferentes; portanto, uma única observação não fornece praticamente nenhuma informação.

Três restrições moldam todas as decisões de design. Primeiro, os anúncios só são exibidos para adultos dos EUA que estejam conectados nas versões Free ou Go; portanto, suas sessões devem ser elegíveis. Segundo, a correspondência ocorre por thread privado, sem um diretório para consulta ([Search Engine Journal, 2026](https://www.searchenginejournal.com/see-competitor-ads-chatgpt-trendos-spa/575883/)). Em terceiro lugar, a implementação ocorre por país, começando pelos EUA, seguidos pelo Reino Unido, Japão, Coreia do Sul, Canadá, Austrália e Nova Zelândia, com o México e o Brasil previstos ([Euronews, 2026](https://www.euronews.com/next/2026/02/10/chatgpt-will-now-show-you-adverts-heres-everything-you-need-to-know)).

> Resumo da citação: os anúncios do ChatGPT são exibidos apenas para adultos dos EUA que estejam conectados nos planos Free e Go, conforme o teste de 9 de fevereiro de 2026; aparecem em caixas identificadas como “Patrocinado”, combinadas contextualmente por conversa privada, e não possuem um diretório público, portanto, a interface só pode ser observada por meio da execução de prompts variados em sessões elegíveis ([OpenAI, “Testando anúncios no ChatGPT”](https://openai.com/index/testing-ads-in-chatgpt/); [Search Engine Journal, 2026](https://www.searchenginejournal.com/see-competitor-ads-chatgpt-trendos-spa/575883/)).

<!-- [VISÃO EXCLUSIVA] --> A superfície fechada inverte a lógica econômica usual do scraping. No scraping clássico da web, a análise de dados é barata e o acesso é que representa o custo. Aqui, a análise da caixa patrocinada é trivial, e o custo real é estatístico: o senhor está estimando uma distribuição oculta; portanto, sua arquitetura deve priorizar o tamanho da amostra e a estabilidade das condições em detrimento de seletores sofisticados.

## Como realizar o scraping de anúncios do ChatGPT de ponta a ponta?

Você faz o scraping de anúncios do ChatGPT com um pipeline de oito etapas que transforma um conjunto de prompts em uma linha de tendência. As etapas vão do projeto à entrega: projetar prompts, qualificar sessões, distribuir por região geográfica, renderizar, capturar, normalizar, calcular a participação de impressões e, por fim, agendar e armazenar. Cada etapa alimenta a seguinte, e todo o ciclo se repete em um ritmo que faz com que o ruído de uma única execução se transforme em um sinal mensurável.

<figure>
  <svg viewBox="0 0 680 260" role="img" aria-label="Fluxo de trabalho de oito etapas para coletar anúncios do ChatGPT, desde o design do conjunto de prompts até o armazenamento programado" xmlns="http://www.w3.org/2000/svg">
    <rect x="0" y="0" width="680" height="260" fill="#0a0a0f"/>
    <text x="24" y="34" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="18" font-weight="600">Pipeline de extração de anúncios do ChatGPT</text>
    <text x="24" y="54" fill="#8e8b89" font-family="Outfit, sans-serif" font-size="12">Um conjunto de prompts projetado se transforma em uma linha de tendência de participação nas impressões.</text>

    <!-- Linha 1 -->
    <rect x="24" y="78" width="142" height="40" rx="6" fill="#121117" stroke="#d74939"/>
    <text x="95" y="103" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">1. Conjunto de prompts</text>
    <rect x="190" y="78" width="142" height="40" rx="6" fill="#121117" stroke="#1d1d21"/>
    <text x="261" y="103" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">2. Sessão elegível</text>
    <rect x="356" y="78" width="142" height="40" rx="6" fill="#121117" stroke="#1d1d21"/>
    <text x="427" y="103" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">3. Dados geográficos por mercado</text>
    <rect x="522" y="78" width="134" height="40" rx="6" fill="#121117" stroke="#ff8163"/>
    <text x="589" y="103" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">4. Renderização</text>

 <!-- linha 1 de setas -->
    <text x="178" y="103" fill="#8e8b89" font-family="'JetBrains Mono', monospace" font-size="14" text-anchor="middle">&#8594;</text>
    <text x="344" y="103" fill="#8e8b89" font-family="'JetBrains Mono', monospace" font-size="14" text-anchor="middle">&#8594;</text>
    <text x="510" y="103" fill="#8e8b89" font-family="'JetBrains Mono', monospace" font-size="14" text-anchor="middle">&#8594;</text>

    <!-- Linha 2 -->
    <rect x="24" y="158" width="142" height="40" rx="6" fill="#121117" stroke="#1d1d21"/>
    <text x="95" y="183" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">5. Caixa de captura</text>
    <rect x="190" y="158" width="142" height="40" rx="6" fill="#121117" stroke="#1d1d21"/>
    <text x="261" y="183" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">6. Normalizar</text>
    <rect x="356" y="158" width="142" height="40" rx="6" fill="#121117" stroke="#d74939"/>
    <text x="427" y="183" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">7. Quota de impressões</text>
    <rect x="522" y="158" width="134" height="40" rx="6" fill="#121117" stroke="#1d1d21"/>
    <text x="589" y="183" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">8. Agendar + armazenar</text>

    <text x="178" y="183" fill="#8e8b89" font-family="'JetBrains Mono', monospace" font-size="14" text-anchor="middle">&#8594;</text>
    <text x="344" y="183" fill="#8e8b89" font-family="'JetBrains Mono', monospace" font-size="14" text-anchor="middle">&#8594;</text>
    <text x="510" y="183" fill="#8e8b89" font-family="'JetBrains Mono', monospace" font-size="14" text-anchor="middle">&#8594;</text>

    <text x="24" y="236" fill="#34d399" font-family="'JetBrains Mono', monospace" font-size="11">execute todo o pipeline em um ciclo; o sinal reside na repetição</text>
  </svg>
  <figcaption>Pipeline de referência para extração de anúncios do ChatGPT. Método conforme <a href="https://searchengineland.com/what-chatgpt-ads-data-reveals-about-your-competitors-479301">Search Engine Land, “O que os dados de anúncios do ChatGPT revelam sobre seus concorrentes”, 2026</a>.</figcaption>
</figure>

Veja a seguir o que cada etapa faz:

1. **Elabore o conjunto de prompts.** Crie prompts relacionados à jornada do comprador (“melhor CRM para equipes pequenas”) e prompts com termos de marca (“vale a pena a [marca]?”). A formulação altera quais anúncios são acionados; portanto, trate o conjunto como uma variável controlada. Abordamos a construção em [mapeamento de prompts para anúncios do ChatGPT](https://www.joinmassive.com/blog/prompt-mapping-chatgpt-ads).
2. **Qualifique a sessão.** Cada execução deve ser realizada por um adulto dos EUA com login na versão Free ou Go. As versões Pro, Business e Enterprise não exibem anúncios ([TechCrunch, 2026](https://techcrunch.com/2026/02/09/chatgpt-rolls-out-ads/)). Varie os históricos das sessões para que um tópico distorcido não comprometa a amostra.
3. **Distribua por região geográfica.** Como a implementação ocorre por país, a coleta é realizada por mercado a partir de origens locais. Uma visão restrita aos EUA deixa de considerar anunciantes no Reino Unido, no Japão ou no Canadá à medida que o teste se expande.
4. **Renderize a conversa.** Envie o prompt e capture a resposta totalmente renderizada, incluindo qualquer bloco patrocinado. Esta é a etapa que requer origens de usuários reais, conforme abordado a seguir.
5. **Capture o bloco patrocinado.** A partir da saída renderizada, extraia o título do anúncio, a descrição do anúncio e a URL final para cada posicionamento patrocinado ([Search Engine Land, 2026](https://searchengineland.com/what-chatgpt-ads-data-reveals-about-your-competitors-479301)).
6. **Analise e normalize.** Mapeie os campos brutos para um esquema estável. Normalize os nomes dos anunciantes e as URLs finais para que o mesmo anunciante não seja dividido entre linhas.
7. **Calcule a participação de impressões.** Agregue as exibições ao total de execuções por prompt e por mercado. Mais detalhes sobre os cálculos em breve.
8. **Programe e armazene.** Execute o conjunto em uma cadência fixa e grave linhas com registro de data e hora, para que a participação de impressões se torne uma tendência, em vez de um instantâneo.

## Como executar prompts como sessões elegíveis e geograficamente precisas?

Você executa prompts como sessões elegíveis enviando-os a partir de origens de usuários reais no mercado-alvo e, em seguida, capturando a conversa renderizada. Essa é a etapa que determina se você coletará dados de anúncios de IA em escala ou será bloqueado logo no início. A maioria das plataformas sinaliza IPs de data centers rapidamente, enquanto IPs residenciais de provedores de internet de consumidores reais parecem tráfego comum, e as interfaces de IA são renderizadas por região e idioma; portanto, a precisão requer IPs locais em todos os mercados ([DataImpulse, “Melhores proxies para scraping de IA em 2026”](https://dataimpulse.com/blog/best-proxies-for-ai-scraping/)). A escolha dessa rede é uma decisão à parte, comparada em [proxies residenciais x proxies de data center para anúncios de IA](https://www.joinmassive.com/blog/residential-vs-datacenter-proxies-ai-ads).

É aqui que a Massive se encaixa diretamente no fluxo de trabalho. A Massive é uma rede de acesso a dispositivos, além de uma pilha de renderização, que retorna HTML ou Markdown limpo a partir de qualquer fonte pública, em qualquer local, rodando em dispositivos reais de consumidores em mais de 195 países. Seu endpoint da Web Render API `/ai` retorna as respostas do ChatGPT por meio de origens de dispositivos de usuários reais na região geográfica de sua escolha, na forma de HTML da conversa completa, HTML do prompt, HTML da resposta, HTML das fontes e uma matriz de subconsultas. O modo de sincronização retorna a resposta diretamente; a rota assíncrona `/ai/completions` funciona por fila e recuperação, com segmentação geográfica por país, subdivisão ou cidade.

Massive fornece a capacidade; sua equipe projeta o conjunto de prompts e executa a operação. Para o pipeline circundante, o endpoint de Navegação (`/browser`) oferece saída em Markdown de primeira classe e sessões persistentes de até 12 minutos. Cada endereço IP é cadastrado por meio do SDK da Massive, e a plataforma é auditada segundo a norma SOC 2, está em conformidade com o GDPR e possui certificação AppEsteem, com uma trilha de auditoria completa.

O ciclo de controle é simples. As partes complexas (origens elegíveis, localização geográfica, renderização) ficam por trás da chamada de renderização, de modo que seu código se concentra na amostragem e na agregação:

```python
# Illustrative sampling loop. The render_chatgpt() call abstracts an
# eligible, geo-targeted session; see your render provider's docs for
# exact endpoint parameters before wiring it up.
from collections import Counter

def sample_prompt(prompt, market, runs=25):
    appearances = Counter()
    for _ in range(runs):
        convo = render_chatgpt(prompt=prompt, geo=market)   # rendered HTML
        for box in find_sponsored_boxes(convo):             # may be zero
            ad = {
                "advertiser": normalize(box.title),
                "description": box.description,
                "final_url":  canonical(box.final_url),
                "prompt":     prompt,
                "market":     market,
            }
            store(ad)                                       # stage 8
            appearances[ad["advertiser"]] += 1
    # stage 7: impression share = appearances / total runs
    return {a: round(n / runs, 3) for a, n in appearances.items()}
```

O ciclo é deliberadamente simples. Uma versão de produção adiciona novas tentativas, detecção de caixas patrocinadas que tolera alterações de layout, validação que descarta renderizações vazias e agendamento por mercado.

## Como se calcula a participação de impressão em execuções repetidas?

A participação de impressões é calculada dividindo-se o número de aparições de um anunciante pelo número total de execuções para um determinado prompt e mercado. Se um anunciante for exibido em 12 de 25 execuções, isso representa uma participação de impressão de 48% para aquele prompt e janela ([Search Engine Land, 2026](https://searchengineland.com/what-chatgpt-ads-data-reveals-about-your-competitors-479301)). Essa única proporção é o que transforma uma superfície ruidosa, por thread, em um número que o senhor pode acompanhar e comparar.

O tamanho da amostra é importante. Um punhado de execuções produz uma estimativa instável, enquanto dezenas por prompt resultam em algo estável. Mantenha as condições de coleta fixas — o mesmo mercado, nível e formulação do prompt, para que uma variação no número reflita o leilão de anúncios, e não sua configuração. Acompanhar a URL final juntamente com a participação também revela a página de destino exata que um concorrente promove para cada conversa.

> Resumo da citação: a participação de impressões para um anúncio do ChatGPT é igual ao número de execuções em que um anunciante aparece, dividido pelo total de execuções para aquele prompt e mercado; 12 aparições em 25 execuções representam uma participação de impressões de 48% para aquele prompt e janela de tempo ([Search Engine Land, “O que os dados dos anúncios do ChatGPT revelam sobre seus concorrentes”, 2026](https://searchengineland.com/what-chatgpt-ads-data-reveals-about-your-competitors-479301)).

## Com que frequência você deve coletar esses dados, e para onde eles vão?

Você coleta em uma cadência fixa e armazena cada observação como uma linha com registro de data e hora, pois o valor está na tendência, não no instantâneo. Uma execução semanal ou diária do mesmo conjunto de prompts, por mercado, constrói um histórico que não poderá ser preenchido posteriormente. Trate a própria programação como parte do método: alterar a frequência no meio do processo torna difícil comparar as duas janelas.

O armazenamento é simples, uma vez que o esquema esteja estável. Uma única tabela ampla é suficiente: prompt, mercado, data e hora da execução, anunciante, título do anúncio, descrição do anúncio, URL final. A participação de impressões é, então, uma consulta nessa tabela agrupada por prompt, mercado e janela. Como o senhor controla as condições de coleta, a mesma consulta executada novamente no mês seguinte produz um número comparável, o que é o objetivo principal de coletar resultados de IA patrocinados de forma programada.

## Uma observação sobre escopo e termos da plataforma

Colete apenas o espaço publicitário público e mantenha-se dentro dele. A caixa de anúncios patrocinados que qualquer usuário qualificado vê é informação pública, e esse é o limite que deve ser respeitado. Não colete dados pessoais, não tente contornar a autenticação além de uma sessão normal de login e mantenha sua coleta em um ritmo razoável, em vez de sobrecarregar o serviço. Respeite os termos estabelecidos por cada plataforma, mantenha seu conjunto de prompts criado especificamente para esse fim e, caso esteja operando comercialmente ou em grande escala, solicite uma análise jurídica para o seu uso específico. A legislação nesse âmbito varia de acordo com a jurisdição e está em constante evolução.

## Perguntas frequentes

### Como coletar dados de anúncios do ChatGPT se não há um diretório público?

Você faz amostragem em vez de pesquisa. Como a correspondência ocorre por thread privado, sem um centro de transparência, execute um conjunto de prompts projetado repetidamente em sessões elegíveis nos EUA e registre cada caixa patrocinada ([Search Engine Journal, 2026](https://www.searchenginejournal.com/see-competitor-ads-chatgpt-trendos-spa/575883/)). O volume e a repetição transformam uma superfície oculta, específica por thread, em um número mensurável de participação em impressões que você pode acompanhar ao longo do tempo.

### Por que são necessários IPs residenciais para coletar dados de anúncios do ChatGPT?

IPs de data centers são bloqueados rapidamente, enquanto IPs residenciais de provedores de internet de consumidores reais se assemelham ao tráfego normal de usuários ([DataImpulse, “Melhores proxies para scraping de IA em 2026”](https://dataimpulse.com/blog/best-proxies-for-ai-scraping/)). As superfícies de anúncios de IA também são renderizadas por região e idioma, e a implementação ocorre por país; portanto, a coleta geograficamente precisa requer IPs locais em cada mercado que você deseja observar.

### Quais planos do ChatGPT realmente exibem anúncios?

Apenas os planos Free e Go, e somente para adultos dos EUA que estejam conectados, conforme o teste de 9 de fevereiro de 2026 ([OpenAI, “Testando anúncios no ChatGPT"](https://openai.com/index/testing-ads-in-chatgpt/)). Os planos Pro, Business e Enterprise permanecem livres de anúncios ([TechCrunch, 2026](https://techcrunch.com/2026/02/09/chatgpt-rolls-out-ads/)). Sessões de coleta que não estejam em um plano elegível não retornarão nenhuma caixa patrocinada.

### Quais campos você deve capturar por anúncio?

Capture o título do anúncio, a descrição do anúncio e a URL final para cada veiculação patrocinada, além do prompt, do mercado e do carimbo de data e hora da veiculação ([Search Engine Land, 2026](https://searchengineland.com/what-chatgpt-ads-data-reveals-about-your-competitors-479301)). Esses campos permitem que você normalize anunciantes, rastreie páginas de destino e calcule a participação de impressões como o número de exibições dividido pelo total de exibições para cada prompt e mercado.

### É permitido coletar dados de anúncios do ChatGPT?

Colete apenas o bloco patrocinado público que qualquer usuário elegível visualiza, evite dados pessoais e respeite os termos estabelecidos por cada plataforma, bem como uma cadência razoável. A área pública do anúncio é o limite. Trate a coleta de dados como observação de veiculações públicas, e não como coleta em massa, e solicite uma análise jurídica para uso comercial ou em grande escala, uma vez que as regras variam de acordo com a jurisdição.

## O que isso significa para você

A coleta de anúncios do ChatGPT é um exercício de amostragem disciplinada, não de engenharia de seletores. O fluxo de trabalho de oito etapas mantém as condições estáveis — um conjunto de prompts projetado, sessões elegíveis, a região geográfica correta e a renderização de usuários reais —, de modo que os números de participação de impressões que você calcula tenham significado ao longo das semanas. Crie o ciclo uma vez, execute-o em um ritmo regular e armazene cada linha.

A restrição que determina tudo é a camada de coleta: sessões elegíveis e geograficamente precisas que se assemelham a usuários reais. É aí que se encaixam o endpoint `/ai` da Massive e a cobertura de mais de 195 países, retornando as sugestões do ChatGPT por meio de origens de dispositivos de usuários reais no mercado de sua escolha. Comece a amostragem agora, respeite a superfície publicitária pública e você terá dados de tendências impossíveis de recriar posteriormente. Para o enquadramento estratégico, volte a [como monitorar anúncios do ChatGPT](https://www.joinmassive.com/blog/how-to-monitor-chatgpt-ads).
