Construa Seu Próprio Rastreador de Ranking SEO Com uma SERP API
Rastreadores de ranking prontos são uma caixa preta que você aluga por palavra-chave. Conecte uma SERP API a um banco de dados por conta própria e você terá o controle sobre a profundidade geográfica, a captura de Visão Geral de IA e os alertas — por uma fração do preço.
Rastreadores comerciais de ranking cobram por palavra-chave e entregam um painel que você não pode consultar. Construa o seu próprio em uma SERP API e você inverte isso: você possui os instantâneos brutos do SERP, escolhe exatamente quais geos e dispositivos rastrear, captura as partes da página de resultados que agora decidem a visibilidade — Visões Gerais de IA, Perguntas Frequentes, o pacote local — e conecta alertas ao que você já usa. Este é um tutorial completo: o esquema, a execução diária, a captura de Visão Geral de IA e PAA, a diferenciação e os alertas, e as armadilhas de 2026 que quebram rastreadores ingênuos. Ele roda na QuantumProxies SERP API, então não há pool de proxies para gerenciar.
A armadilha que remodelou o rastreamento de ranking
Duas mudanças fazem um rastreador moderno parecer diferente de um de 2020. Primeiro, o Google removeu o parâmetro &num=100, então você não pode mais obter 100 resultados em uma única solicitação — você pagina cerca de dez por vez, o que muda a profundidade que você pode se dar ao luxo de rastrear e torna uma API eficiente obrigatória em vez de opcional. Segundo, a página de resultados não é mais uma lista limpa de dez links azuis: uma Visão Geral de IA pode estar acima de tudo e responder à consulta diretamente, caixas de Perguntas Frequentes e snippets em destaque absorvem cliques, e o pacote local possui intenção comercial. Rastrear apenas um número de posição enquanto ignora isso é rastrear a coisa errada. Nosso explicador sobre como a raspagem de SERP funciona em 2026 cobre em profundidade as consequências do num=100.
Passo 1: um esquema construído para diferenciação
Todo o sistema é um instantâneo diário que você diferencia em relação ao dia anterior, então o esquema é focado em instantâneos: uma linha por palavra-chave, geo, dispositivo e dia, com os dados de ranking e os recursos do SERP armazenados juntos. Mantenha a Visão Geral de IA e PAA como colunas estruturadas para que você possa consultá-las diretamente.
CREATE TABLE serp_snapshot (
id bigserial PRIMARY KEY,
keyword text NOT NULL,
country text NOT NULL, -- gl: us, gb, de...
city text, -- optional city-level
device text NOT NULL, -- desktop | mobile
position int, -- your domain's best rank, null = not found
landing_url text,
aio_present boolean NOT NULL, -- AI Overview shown?
aio_cited boolean NOT NULL, -- did it cite your domain?
paa jsonb, -- People Also Ask questions
top3 jsonb, -- who owns positions 1-3
captured_at date NOT NULL,
UNIQUE (keyword, country, city, device, captured_at)
);
Passo 2: a execução geográfica diária
O loop principal itera suas palavras-chave em cada geo e dispositivo alvo, chama a SERP API uma vez por combinação, e encontra a melhor posição do seu domínio. Como a API retorna JSON analisado e lida com rotação, geo e bloqueio internamente, isso permanece um loop simples — sem navegador sem cabeça, sem código de rotação de proxy, sem tratamento de CAPTCHA. Defina gl para o país e uma localização para nível de cidade, e os resultados já vêm localizados.
import requests, datetime
QP = "https://api.quantumproxies.io/serp"
HEAD = {"Authorization": f"Bearer {QP_KEY}"}
def run_keyword(keyword, country, device="desktop", city=None):
params = {"engine": "google", "q": keyword,
"gl": country, "device": device, "num": 20}
if city:
params["location"] = city
data = requests.get(QP, headers=HEAD, params=params, timeout=45).json()
pos, url = None, None
for r in data.get("organic", []):
if "yourdomain.com" in r["link"]:
pos, url = r["position"], r["link"]
break
return data, pos, url
Obtenha uma chave de SERP API para alimentar seu rastreador

Passo 3: capture Visões Gerais de IA e PAA
É aqui que um rastreador caseiro supera os comerciais baratos, a maioria dos quais ainda reporta apenas os dez links. Uma Visão Geral de IA pode empurrar seu resultado orgânico para baixo da dobra mesmo quando você "classifica" em terceiro, e ser citado dentro da Visão Geral de IA agora é sua própria métrica de visibilidade que vale a pena rastrear separadamente. Extraia tanto a presença do AIO quanto se ele referencia seu domínio, e armazene as perguntas do PAA — elas também servem como ideias frescas de palavras-chave e conteúdo.
def extract_features(data, domain="yourdomain.com"):
aio = data.get("ai_overview") or {}
aio_present = bool(aio)
aio_cited = any(domain in s.get("link", "")
for s in aio.get("sources", []))
paa = [q["question"] for q in data.get("people_also_ask", [])]
top3 = [r["link"] for r in data.get("organic", [])[:3]]
return aio_present, aio_cited, paa, top3
Rastrear a citação do AIO ao longo do tempo está se tornando rapidamente a principal métrica de SEO — nosso guia sobre capturar a presença de Visão Geral de IA programaticamente aprofunda-se nos sinais que valem a pena registrar. Execute a mesma palavra-chave de vários países e você verá rankings e citações de AIO divergirem por geo, que é exatamente por que execuções em nível de cidade são importantes para qualquer um com uma presença local ou internacional, como abordado em monitorar mudanças de SERP globalmente.

Passo 4: diferenciar e alertar
Um rastreador que ninguém lê é um arquivo de log. O valor está no alerta — uma mensagem no momento em que algo se move. Após cada execução, compare o novo instantâneo com o dia anterior e dispare nas mudanças que importam: uma queda de três ou mais posições, ganhar ou perder uma citação de Visão Geral de IA, um concorrente entrando no top três, ou uma URL caindo da primeira página. Envie essas informações para o Slack, e-mail ou um webhook para que a equipe de SEO saiba sobre uma queda antes do relatório de tráfego.
def diff_and_alert(kw, geo, today, yesterday):
alerts = []
if yesterday.position and today.position:
if today.position - yesterday.position >= 3:
alerts.append(f"{kw} [{geo}] dropped "
f"{yesterday.position} -> {today.position}")
if yesterday.aio_cited and not today.aio_cited:
alerts.append(f"{kw} [{geo}] lost its AI Overview citation")
if today.position and today.position > 10 and \
(yesterday.position or 0) <= 10:
alerts.append(f"{kw} [{geo}] fell off page one")
for a in alerts:
notify(a) # -> Slack / email / webhook
Agendamento e honestidade sobre o volume
Execute tudo em um cron diário, idealmente em uma hora consistente para que as diferenças dia-a-dia sejam comparáveis. Seja realista sobre a escala: palavras-chave multiplicadas por países multiplicadas por cidades multiplicadas por dispositivos é sua verdadeira contagem de consultas, e cresce rapidamente — cem palavras-chave em cinco países em dois dispositivos são mil chamadas de SERP por dia. A SERP API cobra por consulta, então rastreie as combinações nas quais você realmente agirá em vez de tudo o que é imaginável. Se você estiver construindo isso em um produto em vez de uma ferramenta interna, nosso post sobre escolher uma SERP API para ferramentas de IA e SEO cobre a economia por consulta. Os mesmos endpoints estão disponíveis através do nosso servidor MCP se você preferir executar execuções a partir de um agente.
Perguntas frequentes
Como eu construo um rastreador de ranking com uma SERP API?
Armazene um instantâneo por palavra-chave, geo, dispositivo e dia; chame a SERP API uma vez por combinação para obter resultados analisados; extraia a posição do seu domínio mais os dados de Visão Geral de IA e PAA; depois diferencie cada dia em relação ao anterior e alerte sobre movimentos significativos. A API lida com proxies, geo e bloqueio, então seu código permanece um loop agendado sobre um banco de dados.
Ainda posso obter 100 resultados por consulta?
Não em uma única solicitação — o Google removeu o parâmetro num=100, então os resultados vêm cerca de dez por página e o rastreamento mais profundo significa paginação. Para a maioria dos rastreamentos, você só precisa dos 20 primeiros ou algo assim, o que mantém o volume de consultas e o custo baixos. Uma SERP API que pagina para você esconde esse detalhe por trás de uma única chamada.
Como eu rastreio a presença de Visão Geral de IA?
Capture duas coisas por execução: se uma Visão Geral de IA apareceu para a consulta e se ela citou seu domínio entre suas fontes. Armazene ambos como campos separados para que você possa acompanhar a citação ao longo do tempo — ser referenciado dentro da Visão Geral de IA agora é sua própria métrica de visibilidade, distinta da sua posição orgânica.
Com que frequência um rastreador de ranking deve ser executado?
Diariamente é o padrão para SEO, em um horário consistente para que as diferenças sejam comparáveis. Termos voláteis ou de alto valor podem justificar execuções duas vezes ao dia; termos estáveis e de baixa prioridade são adequados semanalmente. Combine a frequência com a velocidade com que a palavra-chave realmente se move e com seu orçamento de consultas da SERP API, já que palavras-chave vezes geos vezes dispositivos é seu verdadeiro impulsionador de custos.
Um rastreador de ranking é um esquema, uma chamada diária de SERP e uma diferenciação — a vantagem é possuir todos os três. Capture posição, Visões Gerais de IA e PAA nos geos que você se importa, alerte sobre movimentos reais, e você terá um rastreador que custa uma fração dos comerciais e responde a perguntas que eles nunca deixam você fazer.
Construa seu rastreador de ranking na QuantumProxies SERP API