Pular para o conteúdo
Bruno Fraga
AULÃO #055··17 min

Google Programmable Search Engine: Como Criar Seu Próprio Google para OSINT

Capítulos

4 seções
Neste artigo

O que você vai aprender neste aulão

Google Programmable Search Engine (PSE) é o recurso mais subutilizado do Google para investigação digital — você cria seu próprio buscador usando a base completa do Google, com filtragem por domínio, file type e query enrichment. Nesse aulão, eu construí 2 buscadores do zero ao vivo (um para investigar empresas, outro para detectar vazamentos de código) e mostrei como rodar a API com 10.000 queries gratuitas por dia.

Em pouco mais de uma hora e meia, eu fui da explicação conceitual (por que dork manual e PSE são a mesma coisa) à implementação completa: configurar fontes, exclusões, Query Enhancement automático, design customizado e integração via API. Quem assistiu saiu com 2 buscadores funcionando e a base técnica pra criar quantos quiser.

Esse aulão é a continuação natural do Aulão #008 — 7 Buscas Perigosas que Revelam Informações Sensíveis no Google. Lá eu cobri Google Hacking manual com dorks. Aqui, transformamos dork numa interface oficial, persistente, com API. E também complementa Aulão #054 — 4 Ferramentas de Investigação Digital, porque o PSE é a fundação que sustenta automação de OSINT em escala. Se você trabalha com remoção de conteúdo, monitoramento de marca, background check ou inteligência de mercado, esse recurso vira sua ferramenta principal.

O que é Google Programmable Search Engine

Google Programmable Search Engine (PSE), antigamente chamado Custom Search Engine (CSE), é um recurso oficial do Google que permite criar um buscador personalizado usando a base completa do Google. Você define quais sites busca, quais tipos de arquivo prioriza, e o Google entrega resultado filtrado em interface web ou via API.

E aqui vai a confusão comum: PSE e CSE são a mesma coisa. CSE é o nome antigo, PSE é o atual. Em fóruns OSINT, comunidade ainda usa as 2 siglas. Documentação oficial migrou para PSE há mais de 4 anos, mas a Custom Search JSON API ainda mantém o nome CSE. No dia a dia de investigação, você vai ver as 2 referências e precisa entender que apontam para o mesmo produto.

E Google quer mesmo que você use PSE — eles oferecem 10.000 queries gratuitas por dia justamente pra investigador sério montar produto em cima da plataforma deles. A vantagem do PSE sobre dork manual é persistência. Quando você monta site:linkedin.com OR site:gov.br "termo" filetype:pdf direto no Google, você precisa digitar isso toda vez. Com PSE, você configura uma vez, salva como buscador, e qualquer query depois aplica essa filtragem automaticamente. E mais: dá pra compartilhar o link do buscador, integrar via API, customizar layout, monitorar via Google Alerts.

Por que criar seu próprio buscador é mais poderoso que dork manual

Buscador customizado bate dork manual em 4 dimensões: persistência, compartilhamento, API e segmentação visual. Quem investiga com volume não vive sem.

Persistência é a mais óbvia. Sua dork de busca de currículo (filetype:pdf "CV" OR "resumir" OR "Vitae" site:linkedin.com OR site:slideshare.net) leva 30 segundos pra montar manualmente toda vez. Em PSE, configura uma vez. Pra sempre.

Compartilhamento muda o trabalho em equipe. Quando você monta um buscador customizado e compartilha o link com sua equipe, todo mundo investiga com a mesma metodologia. Antes: cada um tinha sua dork mental, resultados variavam. Agora: padrão único, repetível, auditável.

API abre escala. Com 10.000 queries gratuitas por dia na API, você roda monitoramento contínuo. Eu mesmo construí sistema que checa cargas roubadas em marketplaces a cada 5 minutos via PSE + Google Alerts. Isso seria impossível com dork manual.

Segmentação visual ajuda no design. Você pode customizar layout, fonte, cor, idioma, região. O resultado fica embedded no seu site, com sua marca, em português, focado no Brasil. Pra investigador profissional que entrega relatório pro cliente, isso vira diferencial.

E quando você combina os 4, vira ferramenta empresarial. Não é mais "vou pesquisar uma coisa no Google". É "tenho 8 buscadores customizados, cada um pra um caso de uso, todos integrados via API, alimentando dashboard de monitoramento".

Como criar um Google PSE passo a passo

Pra criar um Google PSE, você acessa programmablesearchengine.google.com com sua conta Google, clica em "Adicionar", define nome, fontes e configurações iniciais. O processo todo leva menos de 5 minutos.

Vou demonstrar com o caso real do aulão: construí o buscador busca-docs-empresa pra investigar documentos públicos de empresas brasileiras. Esse buscador vira meu ponto de entrada quando recebo investigação de background check ou compliance corporativo.

Passo 1: criar e nomear o buscador

Após login, clique em "Adicionar". Defina nome descritivo: busca-docs-empresa. Em produção, use prefixo padrão (eu uso busca- em todos) pra organizar dezenas de buscadores no painel.

Passo 2: definir as fontes de busca

Aqui está o coração do PSE. As fontes do meu buscador de empresas são 7:

  • docs.google.com — documentos públicos no Drive
  • sites.gov.br — qualquer subdomínio governamental brasileiro
  • linkedin.com — perfis e empresas
  • escavador.com — processos judiciais e dados públicos
  • jusbrasil.com.br — base maior de processos
  • casadosdados.com.br — consulta CNPJ
  • s3.amazonaws.com — buckets AWS expostos com documentos

Pra cada fonte, você decide: incluir o domínio inteiro, ou apenas subpasta específica. Por exemplo, no LinkedIn, eu poderia incluir só linkedin.com/company/* para excluir posts e perfis pessoais. Esse tipo de granularidade é o que diferencia buscador profissional de buscador genérico.

Passo 3: aplicar exclusões

Tão importante quanto o que você inclui é o que você exclui. Pra cada fonte, dá pra adicionar regras de exclusão. Quando eu busco empresa no Instagram, eu excluo /p/* (URLs de posts) e /reel/* (reels) — só me interessa perfis. Resultado: zero ruído de postagens, foco total em conta da empresa.

E essa lógica vale pra todas as fontes. Em LinkedIn, exclua /posts/* se quer só perfis. Em GitHub, exclua /*/issues/* se quer só código. A regra é: pense em todos os tipos de URL que aquele domínio gera, e exclua os que não te servem.

Passo 4: testar o buscador

Antes de configurar features avançadas, teste. Busque um termo que você conhece (no aulão, usei "Descomplica"). Compare resultado com Google padrão. Se o filtro está correto, resultado deve ser:

  • Substancialmente menor em volume (menos ruído)
  • 100% dentro das fontes configuradas
  • Direcionado pro caso de uso (no meu, documentos de empresa)

Se voltarem resultados fora das fontes configuradas, uma regra de inclusão está errada. Volte e revise.

Como configurar Search Features avançadas (Query Enhancement)

Search Features no painel do PSE inclui Refinamentos, Promoções, Query Enhancement, Autocompletar e Restrição de termos. A feature mais poderosa pra investigação é Query Enhancement.

Query Enhancement adiciona automaticamente termos à query do usuário. Vou dar exemplo prático: meu buscador busca-docs-empresa foca em documentos. Quando o investigador busca "Petrobras", eu quero que ele receba apenas PDFs, DOCXs e XLSX — não páginas web. Configuro Query Enhancement com filetype:pdf OR doc OR xls OR txt OR csv OR ppt. O usuário busca "Petrobras". O Google recebe Petrobras filetype:pdf OR doc OR xls.... Resultado: só documentos.

Quando usar Query Enhancement vs Refinement

Diferença prática:

  • Query Enhancement adiciona termo a TODAS as buscas
  • Refinement cria botões clicáveis no buscador (ex: "PDF apenas", "Vídeos", "Imagens")

Pra fluxo automatizado e API, Query Enhancement é melhor. Pra interface visual onde usuário escolhe filtro, Refinement é melhor. No busca-docs-empresa, uso Query Enhancement direto. No buscador de redes sociais que mantenho separado, uso Refinement com botões "Instagram", "TikTok", "LinkedIn", "Twitter".

Configurar restrições de idioma e região

Pra OSINT brasileiro, sempre configure:

  • Idioma: Português
  • Região: Brasil

Se você não restringe, Google traz resultados globais e termos em inglês predominam. Restringido para Brasil, prioridade é dada a sites brasileiros e conteúdo em português. E dá pra escolher entre "restringir totalmente" (só Brasil) ou "favorecer" (Brasil primeiro, mas com resultado global como fallback).

E se você está geograficamente fora do Brasil (eu trabalho da Coreia), restrição de região do PSE é forma de acessar Google Brasil sem VPN. Configura uma vez, esquece.

Como criar um buscador de vazamentos de código

Buscador de vazamentos é um dos casos de uso mais valiosos do PSE. No aulão, criei busca-vazamentos-codigo com 5 sites: GitHub, Pastebin, AnonFiles, Bitbucket e AWS S3. Em segundos, dá pra checar se nome de empresa ou chave API aparece publicamente em qualquer desses 5 lugares.

As fontes específicas pra leak de código são:

  • github.com — repositórios públicos onde devs commitam credencial por engano
  • pastebin.com — paste público de texto/código (alvo clássico)
  • anonfiles.com — upload anônimo (frequentemente vinculado a leak)
  • bitbucket.org — alternativa ao GitHub
  • s3.amazonaws.com — buckets AWS expostos publicamente

E o Query Enhancement pra esse buscador é diferente. Não filtro filetype, porque código vem em N formatos. Em vez disso, deixo a query bruta e adiciono palavras-chave por contexto: password OR api_key OR secret OR private_key OR access_token quando estou caçando credencial específica.

Caso real: detecção de "Descomplica" + password

Demonstrei ao vivo busca por Descomplica password no buscador. Resultado: pastes em Pastebin com termo Descomplica em arquivos de configuração contendo password (geralmente material de aluno do curso, não vazamento real, mas a lógica fica clara). Em casos reais com empresas que sofreram leak, esse buscador pega vazamento minutos depois de virar público.

E é exatamente assim que minha equipe monitora cliente. Tenho buscadores configurados pra cada cliente importante. Cron rodando a cada 5 minutos. Se aparece resultado novo, alerta dispara. Detecção precoce de vazamento muda completamente a janela de resposta.

Por que S3 buckets continuam vazando em volume

S3 da Amazon é configuração padrão pra storage corporativo. E quando dev configura bucket como público pra testar acesso e esquece de fechar, qualquer pessoa com query site:s3.amazonaws.com filetype:pdf "confidential" encontra. Não é ataque sofisticado. É descuido em escala.

Mostrei ao vivo no aulão dork buscando documentos top secret em S3 — resultado retornou dezenas de PDFs reais, mais de 20 marcados confidencial. Empresas grandes. Esse problema não desapareceu — só piorou conforme adoção de cloud aumentou.

Como integrar a API do Google PSE com 10.000 queries gratuitas por dia

A Custom Search JSON API do Google PSE oferece 10.000 queries por dia gratuitas (com plano de Cloud habilitado), suficiente pra automação contínua de monitoramento. Cada query retorna JSON estruturado com até 10 resultados.

O plano gratuito básico é de 100 queries por dia (limite original). Pra subir para 10.000, você ativa Cloud project e configura billing — mas só paga se ultrapassar 10.000 (US$ 5 por 1.000 queries adicionais). Pra 95% dos casos de OSINT, 10.000 cobrem.

O que a API retorna

Cada query devolve JSON com:

  • Lista de resultados (título, URL, snippet)
  • Total de matches encontrados
  • Imagens (se ativado)
  • Pagetokens pra paginar resultado adicional
  • Metadados (idioma detectado, tipo de site, dados estruturados)

Você consome via curl, Python (requests + json), Node.js (fetch), ou ferramenta tipo Postman. Eu uso Python no dia a dia porque torna direto integrar com Google Alerts, banco de dados e Slack pra notificação.

Como construir monitoramento contínuo com PSE + cron

A receita pra monitoramento empresarial via PSE é:

  1. Crie buscador específico pro cliente (ex: busca-cliente-acme)
  2. Ative Cloud project e copie a API key
  3. Escreva script Python que consome a API com 5 a 10 termos relevantes (nome da empresa, CNPJ, dirigentes, produtos)
  4. Compare resultado com cache anterior — só processa novidade
  5. Notifica via Slack/email se aparecer resultado novo
  6. Roda via cron a cada 5 minutos

Isso vira sistema de detecção de menção, vazamento e exposição em tempo quase-real. Em monitoramento real de cliente médio (faturamento R$ 50M/ano), esse setup pega cerca de 2 a 4 menções relevantes por semana — material que sem PSE só seria descoberto por acaso.

Buscadores customizados prontos da comunidade OSINT

A comunidade OSINT mantém centenas de buscadores customizados prontos pra usar. O repositório principal é Dorks Collections (cipher387), que agrega CSEs por categoria.

Categorias mais úteis na coleção:

  • Currículos: filetype:pdf "CV" OR "resumir" OR "Vitae" em LinkedIn, SlideShare, sites pessoais
  • Telegram: site:t.me com termos específicos pra encontrar grupos e canais
  • Encurtadores de URL: bitly, tinyurl, cutt.ly pra rastrear URLs encurtadas
  • Código: GitHub, Bitbucket, Pastebin pra buscar leaks
  • Marketplaces: OLX, Mercado Livre, Facebook Marketplace pra investigar produtos roubados
  • Sites de encontro: Tinder, Bumble, Badoo pra OSINT social

E você não precisa criar tudo do zero. Pega um buscador da comunidade que se aproxima do seu caso, copia configurações, customiza pro seu contexto. Em 30 minutos você tem 5 buscadores funcionando.

E essa comunidade evolui rápido. Repositório recebe contribuição mensal com novos CSEs. Vale acompanhar — buscador novo aparece toda semana cobrindo nicho que você nem sabia que existia (ex: CSE pra buscar imagens de uniforme militar específico, CSE pra rastrear encurtadores em phishing, CSE pra buscar código fonte vazado em fóruns russos).

PSE substitui ferramentas pagas de OSINT?

PSE substitui Hunter, Maltego ou Spiderfoot? Resposta direta: parcialmente. PSE cobre busca em fontes públicas indexadas pelo Google. Não cobre vazamentos privados, deep web ou enriquecimento de dados estruturados (email → telefone → CPF).

Para casos onde sua investigação depende exclusivamente de fontes públicas indexáveis (gov.br, redes sociais públicas, sites de empresa), PSE substitui 80% do uso de ferramentas pagas. E o custo é zero ou US$ 5 por 1.000 queries acima do limite gratuito.

E quando você precisa cruzar dados privados — vazamentos não públicos, leaks de credencial específica, enriquecimento de email para telefone — aí Hunter, Maltego e Spiderfoot voltam ao cenário. PSE complementa, não anula.

E Bruno tem opinião forte aqui: comece com PSE antes de comprar ferramenta paga. Aprenda a configurar buscador, integrar API, montar pipeline de monitoramento. Em 2 semanas você descobre se realmente precisa de Hunter ou Maltego, ou se PSE resolve seu caso. Investidor inteligente testa o gratuito poderoso antes de gastar.

E Maltego serve mais quando você precisa de visualização gráfica de relacionamento — pra investigação tipo "quem conhece quem". PSE serve para coleta e monitoramento. Os 2 trabalham juntos quando você usa PSE pra alimentar Maltego com dados frescos.

Mas vale ressaltar: cliente paga pelo resultado, não pela ferramenta. Se PSE entrega o que cliente precisa em 1 hora, é melhor que Maltego entregando em 4 horas pelo dobro do custo. Vale a pena pagar Maltego? Depende do caso.

Mas se Maltego abrevia trabalho complexo de pivotagem em 3 horas vs 12 horas no PSE manual, vale o investimento. Você decide caso a caso.

Mas existe um cenário onde PSE simplesmente vence: monitoramento contínuo. 10.000 queries/dia gratuitas via API permitem rodar verificação a cada 5 minutos sem custo. Maltego cobra por execução. Spiderfoot exige infraestrutura própria. PSE só funciona. Funciona pra todos os casos? Não — fontes não indexadas escapam. Mas pra 80% dos casos OSINT, é suficiente.

Aplicações práticas: quando usar Google PSE no dia a dia

Casos reais onde Google PSE economiza horas de trabalho:

Background check de empresa: configurar buscador com gov.br + JusBrasil + Escavador + Casa dos Dados + LinkedIn entrega histórico jurídico, fiscal e estrutura societária em queries únicas. Trabalho que levaria 4 horas vira 15 minutos. É exatamente o tipo de fluxo que cobri em Aulão #046 — Inteligência de Mercado com OSINT Empresarial.

Monitoramento de marca: criar buscador focado em redes sociais + pastes + imprensa, rodar via API a cada hora. Detecta menção negativa, vazamento ou crise antes de escalar.

Remoção de conteúdo: cliente quer mapear todo conteúdo difamatório sobre ele. Buscador customizado em sites de denúncia, blogs de fofoca, fóruns + Query Enhancement com nome do cliente. Em 1 query, lista completa pra notificação extrajudicial.

Investigação de pessoa: buscador focado em redes sociais + JusBrasil + LinkedIn + Escavador. Pesquisar "João Silva CPF 123" entrega histórico judicial, profissional e social.

OSINT de evento: criar buscador focado em sites de notícia, Twitter, fóruns para acompanhar evento em tempo real. Cobertura jornalística virou trivial com PSE.

E o tipo de trabalho de investigação ativa que demonstrei em Aulão #051 — HI SPY usa PSE como camada base pra varredura de fontes.

Ferramentas Utilizadas Neste Aulão

FerramentaFinalidadeLink
Google Programmable Search EngineCriar buscador customizado oficial do Googleprogrammablesearchengine.google.com
Custom Search JSON APIAPI REST pra integração programática (10.000 queries/dia grátis)developers.google.com/custom-search
EscavadorPesquisa de processos judiciais brasileirosescavador.com
JusBrasilMaior plataforma de processos judiciais do Brasiljusbrasil.com.br
Casa dos DadosConsulta CNPJ e dados de empresas brasileirascasadosdados.com.br
PastebinPlataforma de paste de texto - alvo de vazamentospastebin.com
GitHubRepositório de código - alvo de vazamentos acidentaisgithub.com
BitbucketRepositório de código alternativobitbucket.org
Google AlertsMonitoramento contínuo de termos no Googlegoogle.com/alerts
Dorks Collections (cipher387)Repositório comunitário com CSEs prontosgithub.com/cipher387/Dorks-collections-list

Perguntas Frequentes

O que é Google Programmable Search Engine?

Google Programmable Search Engine (PSE) é recurso oficial do Google que permite criar buscador customizado usando a base completa do Google. Você define quais sites busca, exclusões, file type e Query Enhancement. Antigamente chamado Custom Search Engine (CSE) — as 2 siglas referem ao mesmo produto.

Qual a diferença entre PSE e CSE?

Não há diferença prática. CSE (Custom Search Engine) é o nome antigo. PSE (Programmable Search Engine) é o nome atual. Documentação migrou para PSE há mais de 4 anos, mas API ainda usa CSE no namespace. Comunidade usa as 2 siglas indistintamente.

Google PSE é gratuito?

Interface web é gratuita e ilimitada. API tem 100 queries/dia grátis no plano básico, e até 10.000 queries/dia gratuitas com Cloud project ativado (US$ 5 por 1.000 queries adicionais). Pra 95% dos casos de OSINT, 10.000 cobrem.

Como criar um Google Custom Search Engine passo a passo?

Acesse programmablesearchengine.google.com com conta Google, clique em "Adicionar", defina nome, adicione fontes (sites a buscar), configure exclusões e Query Enhancement. Salve e teste. Processo completo leva menos de 5 minutos.

Quais sites incluir num buscador customizado de empresas?

Pra investigação de empresas brasileiras: gov.br, escavador.com, jusbrasil.com.br, casadosdados.com.br, linkedin.com, docs.google.com e s3.amazonaws.com. Esse conjunto cobre dados judiciais, fiscais, societários e documentos públicos.

Como integrar Google PSE com Python?

Ative Cloud project, gere API key, instale google-api-python-client e use service.cse().list(q='termo', cx='SEU_CSE_ID').execute(). Resultado vem em JSON estruturado com até 10 resultados por query. Eu uso esse setup em sistema de monitoramento contínuo.

Google PSE substitui scraping?

Não totalmente. PSE depende da indexação do Google — sites bloqueados de robots.txt ou recém-publicados não aparecem. Pra OSINT generalizado, PSE cobre 80% dos casos. Pra fontes que escapam (Telegram privado, deep web, sites com anti-bot), você ainda precisa de scraping direto ou ferramentas dedicadas.

Como monitorar marca com Google PSE e Google Alerts?

Crie buscador customizado focado em redes sociais e imprensa. Configure Google Alerts com termos da marca direcionados ao link do PSE. Rodar via API a cada 1 hora pega menção em tempo quase-real. Eu uso esse setup pra cliente médio — pega 2 a 4 menções relevantes por semana.

Referências e Recursos

Conteudo Relacionado