NovidadesNovo

Veja quanto da sua página o ChatGPT lê

API
GEO Score com a etiqueta POST /v1/geo-score e o resultado de uma página de protetor solar da OLIVE YOUNG: GEO Score 29, ChatGPT ao abrir a página 29, com AI Rendering 100 e os dois problemas que mais tiram pontos

Envie a URL de uma página ao GEO Score e receba quanto da página o ChatGPT search guarda, o que o ChatGPT recebe quando abre a página e a causa e a correção de cada parte que falta.

O que você recebe

  • POST /v1/geo-score: uma tarefa pontua uma página. Envie a url dela e o country do leitor, US ou KR.
  • score: a parte do que uma pessoa lê na página, incluindo o texto dentro das imagens, que o ChatGPT search guarda, de 0 a 100. direct dá a mesma parte para o que o ChatGPT recebe quando abre a página por conta própria.
  • reading.items: cada parte da página, onde ela está e por que o ChatGPT search a perde: blocked, javascript_only, structured_data_only ou image_only.
  • analysis: os problemas ordenados pelos pontos que tiram, cada um com a causa e a correção, e potential, a pontuação depois de corrigir os problemas confirmados.
  • markdown e screenshot: a página como uma pessoa a vê, com cada parte que falta marcada no lugar. rendering dá a parte que uma cópia renderizada para agentes de IA teria.
  • No painel, a aba GEO Score do Playground mostra a visão humana ao lado da visão do bot.

Como funciona

O GEO Score lê o robots.txt para OAI-SearchBot, ChatGPT-User e GPTBot e busca a página como cada um deles e como um navegador. Um navegador em country renderiza a página, rola até o fim e lê o texto das imagens grandes. As linhas sobre o assunto da página viram partes; menus, rodapés, outros produtos, avaliações, botões e anúncios ficam fora da pontuação.

A cópia do ChatGPT search é a página renderizada como OAI-SearchBot a partir de um endereço nos EUA: o texto do HTML e o que os scripts desenham a partir dele, sem o texto dentro das imagens nem o conteúdo que a página carrega depois de abrir. direct lê o HTML que o ChatGPT-User recebe do jeito que o leitor do ChatGPT lê, e o ChatGPT de produção recebe dois pedidos para abrir a página, para ver se consegue.

O código classifica cada parte, então uma página que não mudou recebe a mesma pontuação. De 15 páginas pontuadas três vezes cada, 10 variaram 3 pontos ou menos.

Onde ajuda

  • Pontue uma página de produto ou de destino antes do lançamento e corrija o que o ChatGPT não vê, como preços carregados por script ou especificações escritas dentro de imagens.
  • Pontue, ao lado da sua, a página de um concorrente que o ChatGPT cita na sua categoria.
  • Passe as correções de analysis para a equipe web e pontue a página de novo quando a mudança estiver no ar.
  • Confira se o seu site barra o ChatGPT: access.verdict e blockedBy mostram quem o impede de abrir a página.

Envie a requisição

Envie a requisição com a sua chave de API no cabeçalho Authorization.

curl -X POST https://api.querying.ai/v1/geo-score \
  -H "Authorization: Bearer $QUERYING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://global.oliveyoung.com/product/detail?prdtNo=GA240322874",
    "country": "US"
  }'

Campos da requisição

urlstringObrigatório
A página a pontuar: uma URL http ou https em um host público e na porta padrão, com até 2.048 caracteres.
countrystring
Onde o leitor está: US (padrão) ou KR. A página é aberta a partir de um endereço desse país, no idioma e fuso horário dele.
webhook.urlstring
Um endereço HTTPS do seu servidor. A tarefa concluída é enviada para lá assim que termina.
idempotencyKeystring
Seu próprio ID para a requisição. Cada chave cria uma única tarefa por conta, então um reenvio continua sendo uma tarefa.

Resposta

Uma tarefa concluída chega assim, resumida para facilitar a leitura.

JSON
{
  "success": true,
  "task": {
    "id": "bcb7e1a2-26eb-422f-9f60-31a5e39ee400",
    "taskType": "GEO_SCORE",
    "status": "COMPLETED",
    "createdAt": "2026-10-23T00:02:42.974Z"
  },
  "credits": { "creditsToCharge": 60, "creditsCharged": 60 },
  "response": {
    "url": "https://global.oliveyoung.com/product/detail?prdtNo=GA240322874",
    "pageType": "product",
    "score": 29,
    "direct": { "score": 29, "read": 16 },
    "rendering": { "score": 100, "read": 55 },
    "access": {
      "verdict": "open",
      "chatgpt": { "opened": true, "lines": 819 }
    },
    "reading": {
      "facts": 55,
      "read": 16,
      "locations": { "html": 16, "rendered_only": 13, "image": 26 },
      "items": [
        {
          "label": "COSRX Vitamin E Vitalizing Sunscreen SPF 50+",
          "where": "html",
          "status": "read"
        },
        {
          "label": "US$16.80",
          "where": "rendered_only",
          "status": "missing",
          "reason": "javascript_only"
        },
        {
          "label": "Key Ingredients",
          "where": "image",
          "status": "missing",
          "reason": "image_only"
        },
        "…"
      ]
    },
    "analysis": {
      "summary": "ChatGPT search keeps 16 of 55 facts of the page. The biggest issue: 26 facts are written only inside an image, among them Strong and effective sun protection; Key Ingredients; Tocopherol (Vitamin E) (47 points). Fixing the confirmed issues could raise the score to about 100.",
      "potential": 100,
      "issues": [
        {
          "code": "image_only",
          "points": 47,
          "title": "26 facts are written only inside an image",
          "fix": "Write this content as text in the page's HTML, next to the image or in place of it …"
        },
        {
          "code": "javascript_only",
          "points": 24,
          "title": "13 facts are loaded only after the page opens",
          "…": "…"
        }
      ]
    },
    "images": { "read": 10, "reused": 0, "unread": 0 },
    "markdown": "…",
    "screenshot": { "status": "ok", "url": "…", "expiresAt": "…" }
  }
}
task.statusstring
QUEUED, PROCESSING e, no fim, COMPLETED com a resposta ou FAILED com error.
credits.creditsChargedinteger
Créditos cobrados pela tarefa concluída. Uma tarefa que falhou cobra 0.
response.scorenumber
A parte do que uma pessoa lê na página, incluindo o texto dentro das imagens, que o ChatGPT search guarda na cópia da página, de 0 a 100. É 0 quando o robots.txt ou o site barra o rastreador do ChatGPT search.
response.directobject
O que o ChatGPT recebe quando abre a página por conta própria, como quando alguém passa a URL: o score e o número de partes em read. A pontuação é 0 quando o ChatGPT não conseguiu abrir a página.
response.renderingobject
A parte das partes que uma cópia da página renderizada para agentes de IA traz em texto: o HTML que o navegador desenhou, sem scripts, com o texto de cada imagem no texto alt.
response.reading.itemsarray
Uma entrada por parte da página: o label, where ela está (html, rendered_only, image e outros), status read ou missing, e a reason pela qual o ChatGPT search a perde: blocked, javascript_only, structured_data_only ou image_only.
response.analysisobject
summary, potential (a pontuação depois de corrigir os problemas confirmados) e issues, ordenados pelos pontos que tiram, cada um com a causa (detail), o fix e as partes afetadas. O texto está em inglês.

Receba o resultado

A requisição devolve a tarefa na hora, com status QUEUED. Consulte GET /v1/async/task/{id} até status virar COMPLETED ou FAILED, ou adicione webhook.url e a tarefa concluída chega ao seu servidor com os mesmos task, credits e response. Os resultados ficam disponíveis por 24 horas após o fim da tarefa.

curl https://api.querying.ai/v1/async/task/$TASK_ID \
  -H "Authorization: Bearer $QUERYING_API_KEY"

Erros

VALIDATION_ERRORHTTP 422
Falta url, não é http nem https, ou aponta para um host ou porta privados. details indica o campo.
USE_DEDICATED_ENDPOINTHTTP 400
GEO_SCORE foi enviado para /v1/async/task. Envie para /v1/geo-score.
REGION_UNSUPPORTEDHTTP 422
country não é US nem KR.
MISSING_API_KEYHTTP 401
Falta o cabeçalho Authorization, ou a chave é desconhecida, expirou ou foi revogada.
INSUFFICIENT_CREDITSHTTP 402
O saldo é menor que 70 créditos, o máximo que uma página custa. Adicione créditos ou mude de plano e envie de novo.

Preço

Uma pontuação concluída usa 10 créditos pela página e 5 por imagem cujo texto é lido, até 12 imagens. Uma imagem que sua conta leu nos últimos 90 dias custa 2, e uma imagem que não pôde ser lida é grátis. O envio reserva 70 créditos, o máximo que uma página custa, e a conclusão cobra o que a tarefa usou.

Uma tarefa que falha não é cobrada. Quando nenhum navegador consegue mostrar a página, a tarefa falha com PAGE_UNAVAILABLE e o motivo.

Mais novidades

Receba as novidades

Receba atualizações do produto por e-mail.

Feed RSS