Pular para o conteúdo principal
GET
Ler um resultado de pesquisa de SEO
Use result_url sem alterações na origem da API e autentique-se com uma Key autorizada a ler todos os Runs. A resposta usa os mesmos campos da resposta inicial da Solution. O HTTP 200 ainda pode conter result_status: pending enquanto um rastreamento está em andamento; continue consultando até que status seja terminal. Esta leitura não cria Runs, não chama provedores de dados e não retoma o fallback.

Parâmetros de consulta

token
string
obrigatório

Contexto opaco do resultado retornado em result_url. Mantenha-o inalterado e autentique-se com uma Key autorizada a ler todos os Runs listados.

Required string length: 1 - 16384

Resposta

SeoResearchResult

id
string
obrigatório
run_url
string
obrigatório

Abra este Run no console. Requer associação ao Workspace.

provider
string
obrigatório
Pattern: ^[a-z0-9][a-z0-9-]*$
endpoint
string
obrigatório
Pattern: ^\/.+$
endpoint_version
integer
obrigatório
status
enum<string>
obrigatório

QUEUED ou RUNNING: ainda em andamento. COMPLETED: uma resposta do provedor de dados está disponível, incluindo respostas não 2xx. FAILED: consulte failure. STOPPED: interrompido antes do dispatch. Leia charge_usd separadamente de status.

Opções disponíveis:
QUEUED,
RUNNING,
COMPLETED,
FAILED,
STOPPED
failure
object | null
obrigatório

Motivo da falha do Run. Não nulo somente quando o status for FAILED.

input
object
obrigatório
output
object
obrigatório

Campos normalizados por ação. A saída nativa do provedor de dados não é repetida aqui; ela permanece no Run (GET /v1/runs/:id). Os valores que um provedor de dados não informar serão nulos. Valores monetários estão em USD. As pontuações de autoridade mantêm a métrica e o nome próprios do provedor de dados que respondeu e nunca são convertidas: ahrefs_domain_rating (Ahrefs Domain Rating, 0–100), semrush_authority_score (Semrush Authority Score, 0–100), dataforseo_rank (classificação da DataForSEO, 0–1000), serpstat_domain_rank (Serpstat Domain Rank, 0–100). A dificuldade de palavras-chave é dividida da mesma forma (semrush_keyword_difficulty, serpstat_keyword_difficulty, dataforseo_keyword_difficulty, ahrefs_keyword_difficulty, cada uma de 0–100 em seu próprio modelo). Somente o campo do provedor de dados que respondeu é preenchido; os demais são nulos. volume, traffic e cpc são estimativas do provedor de dados que respondeu; compare-as somente dentro de um mesmo provedor de dados (runs[].provider). Uma resposta vazia (result_status no_result) mantém o formato da ação: items é [], ou todos os campos são nulos.

  • keyword_overview: items[]: keyword, volume, cpc_usd, semrush_keyword_difficulty, serpstat_keyword_difficulty, dataforseo_keyword_difficulty, ahrefs_keyword_difficulty, intent
  • keyword_ideas: items[]: mesma linha de keyword_overview
  • serp: items[]: position (posição orgânica: 1 = primeiro resultado orgânico; recursos da SERP não são contabilizados), url, domain, title, snippet (somente resultados orgânicos)
  • domain_overview: organic_keywords, organic_traffic, organic_traffic_value_usd, paid_keywords, paid_traffic
  • ranked_keywords: items[]: keyword, position (posição orgânica: 1 = primeiro resultado orgânico; recursos da SERP não são contabilizados), url, volume, cpc_usd, traffic
  • organic_competitors: items[]: domain, common_keywords, organic_keywords (total do concorrente), organic_traffic (o domínio-alvo e seus subdomínios são excluídos)
  • backlinks_overview: backlinks, referring_domains, semrush_authority_score, dataforseo_rank, serpstat_domain_rank, dofollow_backlinks, nofollow_backlinks
  • backlinks: items[]: source_url, target_url, anchor, source_ahrefs_domain_rating, source_semrush_authority_score, source_dataforseo_rank, dofollow, first_seen_at (ISO 8601 UTC; Semrush: fuso não informado, sem sufixo Z). Uma linha por link de cada provedor de dados
  • referring_domains: items[]: domain, ahrefs_domain_rating, semrush_authority_score, dataforseo_rank, backlinks, dofollow_backlinks, first_seen_at (ISO 8601 UTC; Semrush: fuso não informado, sem sufixo Z)
  • domain_rating: ahrefs_domain_rating
  • site_audit: dataforseo_task_id (entrada para os endpoints de relatório OnPage da DataForSEO), crawl_progress, crawl_stop_reason (vocabulário da DataForSEO), pages_crawled, dataforseo_onpage_score, broken_links, non_indexable, duplicate_title, duplicate_description, duplicate_content
  • keyword_gap: items[]: keyword, volume, cpc_usd, semrush_keyword_difficulty, dataforseo_keyword_difficulty, positions {domain: posição orgânica; null = não está entre os 100 primeiros}, indexado pelos domínios enviados. As linhas da Semrush são palavras-chave para as quais qualquer um dos domínios está classificado (união); as linhas da DataForSEO são palavras-chave para as quais o concorrente está classificado e você não
  • backlink_gap: items[]: domain, dataforseo_rank, backlinks_per_target {domínio concorrente: contagem}
  • page_audit: url, status_code, title, description, canonical, dataforseo_onpage_score, internal_links, external_links
  • visibility_history: items[]: month, organic_keywords, organic_traffic, organic_traffic_value_usd, paid_keywords, paid_traffic
  • ai_citations: items[]: url, platform, mentions, ai_search_volume, is_target_domain (páginas mais citadas em respostas de IA que mencionam o domínio, de qualquer site)
  • ai_visibility: ahrefs_ai_citations, ahrefs_ai_cited_pages, ahrefs_ai_citations_by_platform {platform: citations}, dataforseo_ai_mentions_by_platform {platform: mentions}, dataforseo_ai_search_volume_by_platform {platform: volume de pesquisa de IA}. Cada provedor de dados preenche somente seus próprios campos; não há total entre provedores
provider_response
object | null
obrigatório

Não nulo somente quando o status for COMPLETED.

  • Para respostas 2xx, output contém o JSON nativo do provedor de dados (qualquer formato) ou null para um corpo vazio.
  • Para respostas não 2xx, error contém o corpo de erro do provedor de dados e output é null.

Os campos confidenciais são removidos de ambos os corpos.

charge_usd
string | null
obrigatório

Cobrança total dos Runs nesta resposta de Solution. Nulo até que todos os Runs listados sejam finalizados. Cada Run mantém sua própria cobrança; falhas também podem ser cobradas.

Pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
charge_basis
object | null
obrigatório

Base de cobrança de um único Run ou nulo para um total de vários Runs. Leia runs[].charge_basis para cada cobrança.

stoppable
boolean
obrigatório

Indica se uma solicitação de parada pode ser aceita no momento. Isso não garante que o Run possa ser interrompido antes do dispatch.

stop_requested_at
string<date-time> | null
obrigatório

Quando uma parada foi solicitada. O Run ainda pode continuar se o dispatch já tiver começado.

created_at
string<date-time>
obrigatório

Timestamp UTC no formato ISO-8601

started_at
string<date-time> | null
obrigatório

Timestamp UTC no formato ISO-8601

completed_at
string<date-time> | null
obrigatório

Timestamp UTC no formato ISO-8601

task_id
string | null
obrigatório
metadata
object
obrigatório

Seus campos de rastreamento armazenados. Use-os para filtrar Runs. Eles nunca são enviados ao provedor de dados nem afetam o roteamento, o Price ou a idempotência.

  • Até 20 chaves: letras minúsculas, dígitos e sublinhados; devem começar com uma letra; no máximo 40 caracteres.
  • Valores: strings de 1 a 500 caracteres.
  • user_id: o ID opaco do seu usuário final, nunca o endereço de e-mail ou o nome dele.
action
enum<string>
obrigatório
Opções disponíveis:
keyword_overview,
keyword_ideas,
serp,
domain_overview,
ranked_keywords,
organic_competitors,
backlinks_overview,
backlinks,
referring_domains,
domain_rating,
site_audit,
ai_visibility,
keyword_gap,
backlink_gap,
page_audit,
visibility_history,
ai_citations
result_status
enum<string>
obrigatório

Status de entrega comercial, independente do ciclo de vida final do Run em status. no_result é uma resposta vazia, mas válida; error significa que não foi possível entregar a saída do provedor de dados.

Opções disponíveis:
success,
no_result,
error,
pending
error
object | null
obrigatório
runs
object[]
obrigatório
result_url
string
obrigatório

Caminho de URL autenticado e somente leitura para consultar este resultado normalizado e a cobrança total. Use-o com a origem da API. Não cria Runs nem retoma o fallback. GET /v1/runs/:id ainda retorna o Run individual nativo.