DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
Configurar tarefas do OnPage
Inicia um rastreamento de target e retorna um id de tarefa em tasks[0].id — esse id é a referência de que todas as outras ferramentas desta família precisam, então guarde-o. max_crawl_pages limita o rastreamento; start_url, max_crawl_depth, priority_urls e crawl_delay moldam-no; e store_raw_html decide se post_dataforseo_on_page_raw_html terá algo a servir depois. Encapsulado no envelope do DataForSEO: dados em tasks[0].result, resultado em tasks[0].status_code — uma requisição rejeitada ainda retorna HTTP 200. ⚠️ Este não é o par habitual de envio/consulta: o rastreamento é uma sessão que uma dúzia de outras ferramentas consulta depois por id. Consulte get_dataforseo_on_page_summary em polling até crawl_progress indicar finished; um rastreamento de uma página de example.com levou bem menos de um minuto.
Referência de preços
- Medição: Custo da resposta reportado.
- Estimativa de referência por requisição: USD 0.003.
- Multiplicador de referência do cliente: 1.0. Não o aplique novamente a um valor de cliente já liquidado.
Apenas metadados de referência, não uma cotação da conta, um preço garantido ou um limite de gastos. Créditos de recursos não são créditos Felo. As cobranças finais seguem os registros de cobrança da Felo.
- Tipo: array (object | null)[]
- acceptTipo: string | null
_language cabeçalho de idioma para acessar o site
campo opcional
todos os formatos de locale são suportados (xx, xx-XX, xxx-XX, etc.)
Observação: se você não especificar este parâmetro, alguns sites podem negar o acesso; nesse caso, as páginas serão retornadas com"type":"brokenno array de resposta - allowTipo: boolean | null
_subdomains incluir páginas em subdomínios
campo opcional
defina comotruese quiser rastrear todos os subdomínios de um site de destino
valor padrão:false - allowedTipo: array string[] | null
_subdomains subdomínios a rastrear
campo opcional
especifique os subdomínios que você deseja rastrear
exemplo:["blog.site.com", "my.site.com", "shop.site.com"]
Observação: para usar este parâmetro, o parâmetroallow_subdomainsdeve ser definido comofalse;
caso contrário, o conteúdo do campoallowed_subdomainsserá ignorado e os resultados serão retornados para todos os subdomínios - browserTipo: string | null
_preset preset para parâmetros de tela do navegador
campo opcional
se você usar este campo, não precisa indicarbrowser_screen_width,browser_screen_height,browser_screen_scale_factorvalores possíveis:desktop,mobile,tableto presetdesktopaplicará os seguintes valores:browser_screen_width: 1920browser_screen_height: 1080browser_screen_scale_factor: 1o presetmobileaplicará os seguintes valores:browser_screen_width: 390browser_screen_height: 844browser_screen_scale_factor: 3o presettabletaplicará os seguintes valores:browser_screen_width: 1024browser_screen_height: 1366browser_screen_scale_factor: 2
Observação: para usar este parâmetro, definaenable_javascriptouenable_browser_renderingcomotrue - browserTipo: integer | null
_screen _height altura da tela do navegador
campo opcional
você pode definir uma altura de tela de navegador personalizada para realizar a auditoria de um dispositivo específico;
se você usar este campo, não precisa indicarbrowser_preset, pois ele será ignorado;
Observação: para usar este parâmetro, definaenable_javascriptouenable_browser_renderingcomotruevalor mínimo, em pixels:240
valor máximo, em pixels:9999 - browserTipo: number | null
_screen _scale _factor fator de escala da tela do navegador
campo opcional
você pode definir uma proporção de resolução de tela de navegador personalizada para realizar a auditoria de um dispositivo específico;
se você usar este campo, não precisa indicarbrowser_preset, pois ele será ignorado;
Observação: para usar este parâmetro, definaenable_javascriptouenable_browser_renderingcomotruevalor mínimo:0.5
valor máximo:3 - browserTipo: integer | null Formato: int64
_screen _width largura da tela do navegador
campo opcional
você pode definir uma largura de tela de navegador personalizada para realizar a auditoria de um dispositivo específico;
se você usar este campo, não precisa indicarbrowser_preset, pois ele será ignorado;
Observação: para usar este parâmetro, definaenable_javascriptouenable_browser_renderingcomotruevalor mínimo, em pixels:240
valor máximo, em pixels:9999 - calculateTipo: boolean | null
_keyword _density calcular a densidade de palavras-chave para o domínio de destino
campo opcional
defina comotruese quiser calcular a densidade de palavras-chave das páginas do site
valor padrão:false
Observação: se você usar este parâmetro, serão aplicadas cobranças adicionais; saiba mais sobre o custo das tarefas com este parâmetro no nosso artigo de ajuda
quando o rastreamento for concluído, você poderá obter os valores de densidade de palavras-chave com o endpoint Keyword Density - checkTipo: boolean | null
_spell - checkTipo: array string[] | null
_spell _exceptions palavras excluídas da verificação ortográfica
campo opcional
especifique as palavras que você deseja excluir da verificação ortográfica
comprimento máximo da palavra: 100 caracteres
quantidade máxima de palavras: 1000
exemplo:"SERP", "minifiers", "JavaScript" - checkTipo: string | null
_spell _language idioma da verificação ortográfica
campo opcional
idiomas suportados: 'hy', 'eu', 'bg', 'ca', 'hr', 'cs', 'da', 'nl', 'en', 'eo', 'et', 'fo', 'fa', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'he', 'hu', 'is', 'ia', 'ga', 'it', 'rw', 'la', 'lv', 'lt', 'mk', 'mn', 'ne', 'nb', 'nn', 'pl', 'pt', 'ro', 'gd', 'sr', 'sk', 'sl', 'es', 'sv', 'tr', 'tk', 'uk', 'vi'
Observação: se nenhum idioma for especificado, ele será definido automaticamente com base no conteúdo da página - checksTipo: object | null
_threshold valores de limite personalizados para as verificações
campo opcional
você pode especificar valores de limite personalizados para os parâmetros incluídos no objetochecksdas respostas da API OnPage;
Observação: apenas valores de limite inteiros podem ser modificados;
por exemplo, os parâmetroshigh_loading_timeelarge_page_sizesão definidos como 3 segundos e 1 megabyte, respectivamente, por padrão;
se você quiser alterar esses limites para 1 segundo e 1000 kbytes, use o seguinte trecho:"checks_threshold": {<br>"high_loading_time": 1,<br>"large_page_size": 1000<br>}
parâmetros personalizáveis disponíveis com valores padrão:"title_too_short", default value: 30, type: "int"<br>"title_too_long", default value: 65, type: "int"<br>"small_page_size", default value: 1024, type: "int"<br>"large_page_size", default value: 1048576 (1024 * 1024), type: "int"<br>"low_character_count", default value: 1024, type: "int"<br>"high_character_count", default value: 256000 (250 * 1024), type: "int"<br>"low_content_rate", default value: 0.1, type: "float"<br>"high_content_rate", default value: 0.9, type: "float"<br>"high_loading_time", default value: 3000, type: "int"<br>"high_waiting_time", default value: 1500, type: "int"<br>"low_readability_rate", default value: 15.0, type: "float"<br>"irrelevant_description", default value: 0.2, type: "float"<br>"irrelevant_title", default value: 0.3, type: "float"<br>"irrelevant_meta_keywords", default value: 0.6, type: "float"- propertyTipo: integer | null Formato: int64
Name Signed 64-bit integers (long type).
- crawlTipo: integer | null
_delay atraso entre acessos, ms
campo opcional
o atraso personalizado entre os acessos do rastreador ao servidor
valor padrão:2000 - crawlTipo: boolean | null
_sitemap _only rastrear apenas as páginas indicadas no sitemap
campo opcional
defina comotruese quiser rastrear apenas as páginas indicadas no sitemap
se você definir este parâmetro comotruee não especificarcustom_sitemap, rastrearemos o sitemap padrão
valor padrão:false
Observação: para usar este parâmetro,respect_sitemapdeve sertrue - customTipo: string | null
_js javascript personalizado
campo opcional
Observação: o tempo de execução do script inserido aqui deve ser de no máximo 700 ms; por exemplo, você pode usar o seguinte trecho de JS para verificar se o site contém o Google Tag Manager como atributoscr:let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i < document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute("src");rn if (src != undefined) {rn if (src.indexOf("analytics.js") >= 0)rn meta.haveGoogleAnalytics = true;rntif (src.indexOf("gtm.js") >= 0)rn meta.haveTagManager = true;rn }rn}rnmeta;O valor retornado depende do que você especificou neste campo. Por exemplo, se você especificar o seguinte script:meta = {}; meta.url = document.URL; meta.test = 'test'; meta;
como resposta você receberá os seguintes dados:"custom_js_response": {<br>"url": "https://dataforseo.com/",<br>"test": "test"<br>}
Observação: o script inserido deve ter no máximo 2000 caracteres - customTipo: string | null
_robots _txt configurações personalizadas de robots.txt
campo opcional
exemplo:Disallow: /directory1/ - customTipo: string | null
_sitemap url do sitemap personalizado
campo opcional
a URL da página onde o sitemap alternativo está localizado
Observação: para usar este parâmetro,respect_sitemapdeve sertrue - customTipo: string | null
_user _agent user agent personalizado
campo opcional
user agent personalizado para rastrear um site
exemplo:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
valor padrão:Mozilla/5.0 (compatible; RSiteAuditor) - disableTipo: boolean | null
_cookie _popup desativar o pop-up de cookies
campo opcional
defina comotruese quiser desativar o pop-up que solicita o consentimento de cookies ao usuário;
valor padrão:false - disableTipo: array string[] | null
_page _checks impedir a execução de determinadas verificações de página
campo opcional
especifique determinadascheckspara impedir que sejam executadas e afetem oonpage_scoreexemplo:"disable_page_checks": ["is_5xx_code", "is_4xx_code"] - disableTipo: array string[] | null
_sitewide _checks impedir a execução de determinadas verificações em todo o site
campo opcional
especifique as seguintescheckspara impedir que sejam executadas no sitetarget:"test_page_not_found""test_canonicalization""test_https_redirect""test_directory_browsing"exemplo:"disable_sitewide_checks": ["test_directory_browsing", "test_page_not_found"]saiba mais na nossa Central de Ajuda - disallowedTipo: array string[] | null
_subdomains subdomínios a não rastrear
campo opcional
especifique os subdomínios que você não deseja rastrear
exemplo:["status.site.com", "docs.site.com"]
Observação: para usar este parâmetro, o parâmetroallow_subdomainsdeve ser definido comotrue - enableTipo: boolean | null
_browser _rendering emular a renderização do navegador para medir os Core Web Vitals
campo opcional
usando este parâmetro, você poderá emular um navegador ao carregar uma página web;enable_browser_renderingcarrega estilos, imagens, fontes, animações, vídeos e outros recursos de uma página;
valor padrão:false
defina comotruepara obter métricas de Core Web Vitals (FID, CLS, LCP) na resposta;
se você usar este campo, os parâmetrosenable_javascripteload_resourcesdevem ser definidos comotrue
Observação: se você usar este parâmetro, cobranças adicionais serão aplicadas; saiba mais sobre o custo das tarefas com este parâmetro no nosso artigo de ajuda; o custo pode ser calculado na página de Preços - enableTipo: boolean | null
_content _parsing - enableTipo: boolean | null
_javascript carregar javascript em uma página
campo opcional
defina comotruese quiser carregar os scripts disponíveis em uma página
valor padrão:false
Observação: se você usar este parâmetro, cobranças adicionais serão aplicadas; saiba mais sobre o custo das tarefas com este parâmetro no nosso artigo de ajuda; o custo pode ser calculado na página de Preços - enableTipo: boolean | null
_www _redirect _check verificar se o domínio implementou o redirecionamento www
campo opcional
defina comotruese quiser verificar se o domínio solicitado implementou o redirecionamento de www para não www ou de não www para www;
valor padrão:false - enableTipo: boolean | null
_xhr habilitar XMLHttpRequest em uma página
campo opcional
defina comotruese quiser que nosso rastreador solicite dados de um servidor web usando o objeto XMLHttpRequest
valor padrão:false;se você usar este campo,enable_javascriptdeve ser definido comotrue; - forceTipo: boolean | null
_sitewide _checks habilitar verificações em todo o site ao rastrear uma única página
campo opcional
defina comotruepara obter dados sobre verificações em todo o site ao rastrear uma única página;
valor padrão:false - loadTipo: boolean | null
_resources carregar recursos
campo opcional
defina comotruese quiser carregar imagens, folhas de estilo, scripts e recursos quebrados
valor padrão:false
Observação: se você usar este parâmetro, cobranças adicionais serão aplicadas; saiba mais sobre o custo das tarefas com este parâmetro no nosso artigo de ajuda; o custo pode ser calculado na página de Preços - maxTipo: integer | null
_crawl _depth profundidade de rastreamento
campo opcional
a profundidade de vinculação das páginas a rastrear;
por exemplo, a página inicial do rastreamento é o nível 0, as páginas que têm links a partir dessa página são o nível 1, etc. - maxTipo: integer
_crawl _pages limite de páginas rastreadas
campo obrigatório
o número de páginas a rastrear no domínio especificado
Observação:
se você definirmax_crawl_pagescomo 1 e não especificarstart_urlou definir uma página inicial nele, as seguintes verificações em todo o site serão desativadas:test_canonicalization,enable_www_redirect_check,test_hidden_server_signature,test_page_not_found,test_directory_browsing,test_https_redirect
para habilitá-las mesmo assim, definaforce_sitewide_checkscomotruese você definirmax_crawl_pagescomo 1 e especificar umstart_urldiferente de uma página inicial, todas as verificações em todo o site serão desativadas;
para habilitá-las mesmo assim, definaforce_sitewide_checkscomotrue - pingbackTipo: string | null
_url URL de notificação de uma tarefa concluída
campo opcional
quando uma tarefa é concluída, notificaremos você por meio de uma requisição GET enviada para a URL que você especificou
você pode usar a string ‘$id’ como variável$ide ‘$tag’ como variável$tagcodificada para URL. Definiremos os valores necessários antes de enviar a requisição.
exemplo:http://your-server.com/pingscript?id=$idhttp://your-server.com/pingscript?id=$id&tag=$tag
Observação: caracteres especiais empingback_urlserão codificados para URL;
ou seja, o caractere#será codificado como%23 - priorityTipo: array string[] | null
_urls urls a serem rastreadas ignorando a fila
campo opcional
as URLs especificadas neste array serão rastreadas em primeiro lugar, ignorando a fila de rastreamento;
Observação: você deve especificar a URL absoluta;
você pode especificar até 20 URLs;
todas as URLs do array devem pertencer ao domíniotarget;
os subdomínios serão ignorados, a menos que o parâmetroallow_subdomainsesteja definido comotrueexemplo:"priority_urls": [<br>"https://dataforseo.com/apis/serp-api",<br>"https://dataforseo.com/contact"<br>] - respectTipo: boolean | null
_sitemap respeitar o sitemap ao rastrear
campo opcional
defina comotruese quiser seguir a ordem das páginas indicadas no sitemap principal ao rastrear;
valor padrão:false
Observação: se definido comotrue, o valor declick_depthna resposta da API será igual a0;
o campomax_crawl_depthda requisição será ignorado; você pode especificar o número de páginas a rastrear usando o parâmetromax_crawl_pages - returnTipo: boolean | null
_despite _timeout retornar dados das páginas apesar do erro de tempo limite
campo opcional
setrue, os dados serão fornecidos para páginas que não carregaram em até 120 segundos e responderam com um erro de tempo limite;
valor padrão:false - robotsTipo: string | null
_txt _merge _mode mesclar ou substituir as configurações de robots.txt
campo opcional
valores possíveis:merge,override;
defina comooverridese quiser ignorar as restrições de rastreamento do site e outras configurações de robots.txt
valor padrão:merge;
Observação: se definido comooverride, especifique o parâmetrocustom_robots_txt - startTipo: string | null
_url a primeira url a rastrear
campo opcional
Observação: você deve especificar uma URL absoluta
se quiser rastrear uma única página, especifique a URL dela neste campo e, adicionalmente, defina o parâmetromax_crawl_pagescomo1
você também pode usar o endpoint Instant Pages ao vivo para obter dados específicos da página - storeTipo: boolean | null
_raw _html - supportTipo: boolean | null
_cookies oferecer suporte a cookies nas páginas rastreadas
campo opcional
defina comotruepara oferecer suporte a cookies ao rastrear as páginas
valor padrão:false - switchTipo: boolean | null
_pool alternar pool de proxies
campo opcional
setrue, pools de proxies adicionais serão usados para obter os dados solicitados;
o parâmetro pode ser usado se uma grande quantidade de tarefas for definida simultaneamente, resultando em errosrate-limite/ousite_unreachableocasionais - tagTipo: string | null
identificador de tarefa definido pelo usuário
campo opcional
o limite de caracteres é 255
você pode usar este parâmetro para identificar a tarefa e associá-la ao resultado
você encontrará o valor detagespecificado no objetodatada resposta - targetTipo: string
domínio de destino
campo obrigatório
o nome de domínio deve ser especificado semhttps://ewww.
se você especificar a URL da página, os resultados serão retornados para o domínio incluído na URL - validateTipo: boolean | null
_micromarkup
- Tipo: object | null · Response36Afe1097B20_OnPageTaskPostResponseInfo200
- Tipo: number | null Formato: doublecost
custo total das tarefas, USD
- Tipo: integer | nullstatus
_code código de status geral você pode encontrar a lista completa dos códigos de resposta aqui
- Tipo: string | nullstatus
_message mensagem informativa geral você pode encontrar a lista completa das mensagens informativas gerais aqui
- Tipo: array (object | null)[] | nulltasks
array de tarefas
- Tipo: object | null · Response36Afe1097B20_OnPageTaskPostTaskInfo
- costTipo: number | null Formato: double
custo total das tarefas, USD
- dataTipo: object | null
contém os mesmos parâmetros que você especificou na requisição POST
- propertyTipo: object | null
Name
- idTipo: string | null
identificador da tarefa identificador exclusivo da tarefa em nosso sistema no formato UUID
- pathTipo: array (string | null)[] | null
caminho da URL
- resultTipo: object | null
array de resultados
nesse caso, o valor seránull - resultTipo: integer | null Formato: int64
_count número de elementos no array de resultados
- statusTipo: integer | null
_code código de status da tarefa gerado pelo DataForSEO; pode estar no seguinte intervalo: 10000-60000 você pode encontrar a lista completa dos códigos de resposta aqui
- statusTipo: string | null
_message mensagem informativa da tarefa você pode encontrar a lista completa das mensagens informativas gerais aqui
- timeTipo: string | null
tempo de execução, segundos
- Tipo: integer | null Formato: int64tasks
_count o número de tarefas no array de tarefas
- Tipo: integer | null Formato: int64tasks
_error o número de tarefas no array de tarefas retornadas com erro
- Tipo: string | nulltime
tempo total de execução, em segundos
- Tipo: string | nullversion
a versão atual da API
application/json - 400
Não foi possível processar a requisição. Verifique os parâmetros da requisição.
- 401
É necessária uma chave de API da Felo válida.
- 402
A requisição não pode prosseguir porque um requisito de cobrança não foi atendido.
- 403
A conta não tem permissão para realizar esta operação.
- 429
Um limite de requisições ou de gastos foi atingido.
- 502
O serviço não pôde concluir a requisição.
- 503
A API ou o serviço de cobrança está temporariamente indisponível.
- 504
O serviço atingiu o tempo limite ao processar a requisição.
- default
Resposta de erro; respostas repassadas do upstream podem usar formatos do provedor
application/json
curl https://openapi.felo.ai/v1/beta/dataforseo/on_page/task_post \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"target": "dataforseo.com",
"max_crawl_pages": 10,
"load_resources": true,
"enable_javascript": true,
"custom_js": "meta = {}; meta.url = document.URL; meta;",
"tag": "some_string_123",
"pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
}
]'
{
"version": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"tasks_count": null,
"tasks_error": null,
"tasks": [
{
"id": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"result_count": null,
"path": [
null
],
"data": null,
"result": null
}
]
}