Custom Search JSON API

Alternativa à Google Custom Search JSON API: migre antes de 1º de janeiro de 2027

O Google fechou a Custom Search JSON API para novos clientes e vai desativá-la para todos em 1º de janeiro de 2027. O Semscraper coleta a página de resultados real do Google, renderizada em um navegador, até 10 páginas por palavra-chave, cerca de 100 resultados conforme a consulta, com pagamento por uso em créditos pré-pagos e sem assinatura.

  • A SERP real do Google, não um índice reduzido
  • Até 10 páginas por palavra-chave
  • 1.000 buscas de uma página por € 0,30
  • 1.000 SERPs grátis
  • Sem cartão de crédito

O que o Google anunciou, e quando

Segundo a documentação do Google (developers.google.com/custom-search/v1/overview e a central de ajuda do Programmable Search Engine), consultada em 10 de outubro de 2026.

Desde 20 de janeiro de 2026

Os novos Programmable Search Engines ficam limitados a 50 domínios escolhidos: a opção "Pesquisar em toda a Web" não é mais oferecida. Os mecanismos existentes que a usam podem mantê-la até 1º de janeiro de 2027.

Fechada para novos clientes

Um novo projeto não pode mais ativar a Custom Search JSON API. Para buscar em até 50 domínios, o Google indica o Vertex AI Search; a busca em toda a Web precisa ser solicitada ao Google.

1º de janeiro de 2027

Fim da Custom Search JSON API para os clientes existentes. Toda aplicação que ainda a chama precisa ter migrado.

Para quais usos o Semscraper é indicado

O Semscraper não é uma cópia idêntica do Custom Search: é uma API que coleta a página do Google como um usuário a vê. Ela substitui bem alguns usos, não todos.

Sim: acompanhar o Google

Monitoramento de posições, acompanhamento da concorrência, estudos de SERP, AI Overviews: você obtém os resultados reais do google.com.br, do google.com ou de qualquer outro país, incluindo cidade e dispositivo.

Sim: alimentar ferramentas e agentes

Datasets, enriquecimento de dados, agentes e pipelines de RAG que precisam do que o Google realmente mostra. O processamento é assíncrono: conte com cerca de vinte segundos de coleta por busca, não com uma resposta instantânea.

Não: a busca interna do seu site

Uma caixa de busca que precisa responder em uma fração de segundo sobre as suas próprias páginas pede um mecanismo de busca de site, ou o Vertex AI Search, que o Google oferece para até 50 domínios.

Custom Search JSON API ou Semscraper: as diferenças

CritérioCustom Search JSON APISemscraper
Origem dos resultadosO seu Programmable Search Engine. Mesmo configurado para toda a Web, o Google informa que ele cobre apenas parte do seu índice e destaca os seus próprios sites.A página de resultados real do Google, renderizada em um navegador de verdade.
ConteúdoUma lista de resultados da Web, sem os recursos da Pesquisa Google (Oneboxes, pesquisa universal).Cada bloco da página: resultados orgânicos, anúncios, pacote local, People Also Ask, AI Overviews com suas fontes, e mais.
Número de resultados10 por requisição, no máximo 100 paginando (start + num não pode passar de 100).Até 10 páginas do Google em uma única chamada, cerca de 100 resultados conforme a consulta.
País, idioma, cidade, dispositivogl favorece os resultados de um país, hl define o idioma da interface, lr e cr filtram os documentos.Versão do Google (país e idioma), cidade ou coordenadas GPS, desktop ou mobile.
FuncionamentoSíncrono: a resposta vem na própria chamada.Assíncrono: você cria as buscas (até 1.000 por chamada) e depois obtém os resultados pelo ID ou os recebe em uma URL de callback. Cerca de vinte segundos de coleta em mediana para uma página, cerca de cinquenta para 10, mais a espera na fila da sua conta (medido em 12 milhões de SERPs, 5,3 milhões de uma página e 260 mil de 10 páginas, de 12 de setembro a 10 de outubro de 2026).
Preço100 consultas grátis por dia, depois US$ 5 a cada 1.000, até 10.000 por dia.€ 0,30 a cada 1.000 buscas de uma página, € 2,10 a cada 1.000 buscas de 10 páginas. Sem assinatura, sem limite diário, e o seu saldo nunca expira.
Busca em domínios definidosSim, agora é o único modo dos novos mecanismos (50 domínios).Sem lista de domínios salva: o operador site: na palavra-chave restringe uma busca a um domínio.
Busca de imagensSim (searchType=image).Não. Só o bloco de Imagens, quando o Google o exibe na página de resultados, é retornado.

Adaptar os parâmetros

Os parâmetros não são intercambiáveis: veja como adaptar as suas chamadas. Os operadores do Google passam sem alteração na palavra-chave.

Custom SearchSemscraper
qkeyword
gllocation, a versão do Google, que não é um código de país: gl=br vira location=br (google.com.br), gl=us vira location=en (google.com)
hllanguage, que forma um par válido com location: br/pt, en/en, fr/fr...
num, startdepth, de 1 a 10 páginas do Google, todas retornadas pela mesma chamada
siteSearchsite:exemplo.com.br na palavra-chave
exactTermsAspas na palavra-chave
excludeTerms-palavra na palavra-chave
fileTypefiletype:pdf na palavra-chave
lr, crSem equivalente direto: escolha a versão do Google e o idioma
searchType=imageSem equivalente
key, cxUma única chave de API, enviada no cabeçalho Authorization: Bearer

Migrar uma chamada, passo a passo

A mesma necessidade em Python: os 10 primeiros resultados orgânicos de uma consulta no google.com.br. A principal diferença é o fluxo em duas etapas: criar e depois obter.

Antes: Custom Search JSON API
import requests

r = requests.get("https://www.googleapis.com/customsearch/v1", params={
    "key": "GOOGLE_API_KEY",
    "cx": "SEARCH_ENGINE_ID",
    "q": "tênis de corrida",
    "gl": "br",
    "hl": "pt-BR",
    "num": 10,
})
for item in r.json().get("items", []):
    print(item["link"], item["title"], item["snippet"])
Depois: Semscraper
import time
import requests

API = "https://api.semscraper.com/v1/serp"
HEADERS = {"Authorization": "Bearer API_KEY"}

# 1. create the search (up to 1,000 keywords per call)
r = requests.post(API, headers=HEADERS, timeout=60, json=[{
    "search_engine": "google_search",
    "keyword": "tênis de corrida",
    "location": "br",
    "language": "pt",
    "device": "desktop",
    "depth": 1,
}])
r.raise_for_status()
ids = [row["id"] for row in r.json()["data"]]

# 2. fetch the results once ready (about 20 s of collection for a depth-1 search,
#    plus queue time), 10 minutes at most
deadline = time.time() + 600
while ids and time.time() < deadline:
    time.sleep(10)
    r = requests.get(API, headers=HEADERS, timeout=60,
                     params={"ids": ",".join(ids[:100]), "output": "json"})  # 100 IDs per call
    r.raise_for_status()
    for row in r.json()["data"]:
        if row["status"] != "done":
            continue
        ids.remove(row["id"])
        for block in row["results"]:
            if block["type"] == "organic":
                for item in block["items"]:
                    print(item["url"], item["title"], item["description"])

if ids:
    print("Still pending, fetch them later by ID:", ids)

O campo link vira url, snippet vira description. Cada resultado traz também a sua posição dentro do bloco (rank_type), a sua posição na página (rank_serp), a sua página do Google e a sua posição em pixels. Para milhares de palavras-chave: crie-as em lotes de 1.000, obtenha os resultados em lotes de 100 IDs ou receba-os em uma URL de callback. Veja a Bulk SERP API.

Migrar em quatro etapas

Uma migração exige preparação: reserve alguns dias de testes antes de desligar a API antiga.

1. Testar

Execute as suas consultas representativas com as 1.000 SERPs grátis que você recebe no cadastro.

2. Adaptar

Parâmetros (gl vira location), a passagem para chamadas assíncronas e os campos da resposta (link vira url, snippet vira description).

3. Comparar

Relevância, cobertura dos resultados, prazos e consumo, em uma amostra das suas consultas reais.

4. Migrar

Passe a sua aplicação para o Semscraper depois de validar os resultados, bem antes de 1º de janeiro de 2027.

Quanto custa, para o mesmo volume

Preços públicos: Google consultado em 10 de outubro de 2026, Semscraper pela tarifa padrão, antes dos descontos de recarga.

NecessidadeCustom Search JSON APISemscraper
1.000 palavras-chave, 1 página (cerca de 10 resultados)US$ 5 (1.000 consultas pagas, fora da cota grátis diária)€ 0,30
1.000 palavras-chave, 10 páginas (cerca de 100 resultados)US$ 50 (10 consultas pagas por palavra-chave, fora da cota grátis diária)€ 2,10
Mais de 10.000 consultas por diaImpossível: limite de 10.000 por diaSem limite diário

Se as 100 consultas grátis do dia ainda não tiverem sido usadas, conte US$ 4,50 e US$ 49,50. A Custom Search JSON API não está mais disponível para novos clientes: estes preços valem apenas para as contas existentes, até 1º de janeiro de 2027. Preços detalhados do Semscraper.

FAQ

Perguntas frequentes

Quando a Custom Search JSON API será desativada?
Ela está fechada para novos clientes, e o Google informa que os clientes existentes têm até 1º de janeiro de 2027 para migrar para outra solução.
O Semscraper retorna os mesmos resultados que o Custom Search?
Não, e muitas vezes essa é a vantagem: o Custom Search consulta o seu Programmable Search Engine, que cobre apenas parte do índice do Google. O Semscraper retorna a página de resultados real do Google, com todos os blocos, para o país, o idioma, a cidade e o dispositivo que você escolher.
Posso limitar as buscas aos meus domínios?
Para um domínio, adicione site:seudominio.com.br à palavra-chave. Não existe uma lista de domínios salva como em um Programmable Search Engine. Para a busca interna nos seus próprios sites, um mecanismo de busca de site ou o Vertex AI Search é mais indicado.
A resposta é instantânea?
Não. Cada página é renderizada em um navegador de verdade: conte com uma mediana de cerca de vinte segundos de coleta para uma página e cerca de cinquenta para 10 páginas. Tempo mediano de coleta medido em 12 milhões de SERPs (5,3 milhões de uma página e 260 mil de 10 páginas) de 12 de setembro a 10 de outubro de 2026; a isso se soma a espera na fila da sua conta, que depende do volume enviado. Você obtém o resultado pelo ID, ou nós o enviamos para a sua URL de callback.
Quanto custa o Semscraper depois da migração?
Não há assinatura nem taxa de acesso: você paga por cada busca criada, € 0,30 a cada 1.000 para a primeira página. Obter os resultados é grátis. 1.000 SERPs são grátis no cadastro para testar as suas consultas.

Teste as suas consultas antes do prazo

1.000 SERPs grátis, sem cartão de crédito.