ObadiObservatório Brasileiro de Acessibilidade Digital

Iniciativa privada e independente, sem vínculo com o poder público

O robô

ObadiBot: o que ele faz, e como impedi-lo

Esta página é para quem administra um servidor. Ela diz o que o robô lê, em que ritmo, e como barrá-lo em um minuto.

Quem é ele

O robô do Obadi se chama ObadiBot e se identifica sempre, em toda requisição que faz: na página, e também em cada folha de estilo, script, imagem e fonte que ela puxa. O User-Agent é exatamente este:

ObadiBot/0.1.1 (+https://www.obadi.com.br/robo)

O nome no robots.txt é ObadiBot. O endereço no User-Agent aponta para esta página, que é onde tudo o que ele faz está descrito.

O que ele lê

  • O robots.txt, sempre, antes de qualquer outra coisa. Se ele não puder ser lido, o robô não entra: sem esse arquivo não há como saber o que o site autoriza.
  • Uma amostra de 10 a 25 páginas por site, uma vez por trimestre. A amostra é sorteada entre os tipos de página que a metodologia define (página inicial, busca, contato, ouvidoria, transparência, acessibilidade, mapa do site e um serviço), e o sorteio é reproduzível a partir do código do IBGE e do período.
  • A página inicial, uma vez por mês, só para atualizar o estado do site. Essa leitura mensal é uma página, não uma amostra, e ainda não começou a rodar.

Ele examina no máximo 200 links por entidade para montar a amostra, e não vai além de dois cliques de distância da página inicial. Nada do que ele lê é republicado: o HTML coletado fica guardado em privado, e o que sai em público é o resultado da medição.

Como ele se comporta

  • Respeita Disallow integralmente, inclusive na página inicial.
  • Respeita crawl-delay. Quando o robots.txt declara um valor, é ele que manda, por maior que seja.
  • Uma entidade por vez por bloco de endereços: /24 em IPv4, /48 em IPv6. Se vários sites que ele mede respondem da mesma infraestrutura, mesmo em endereços diferentes, eles entram em fila, não em paralelo.
  • Pausa mínima de 2 segundos entre duas entidades do mesmo bloco, além do crawl-delay.
  • Nunca envia formulário, nunca faz login, nunca clica em botão que altere alguma coisa.
  • Nunca segue link para fora do domínio da entidade.
  • Não executa nada que dependa de sessão, cookie ou identificação: cada entidade é visitada em um contexto novo, jogado fora ao terminar.

Se a coleta de um site estiver incomodando, um pedido por e-mail suspende a coleta daquela entidade em até 24 horas, sem que você precise mexer em nada no servidor.

Como bloquear

Basta o robots.txt. Estas duas linhas barram o robô por completo, e ele obedece já na próxima visita:

User-agent: ObadiBot
Disallow: /

É importante saber o que acontece depois, porque não é uma nota de rodapé: a entidade continua na tabela e passa a aparecer publicamente com o status “Coleta não autorizada pelo próprio site”, com a data em que o bloqueio começou e há quantos dias ele dura. Não existe índice, não existe faixa, e não existe punição. Existe o registro de que o site não autorizou a medição.

Ou seja: bloquear não tira a entidade do Obadi, e não é tratado como falha dela. É tratado como uma decisão do site, dita com todas as letras na página pública.

Como pedir outra janela ou outro limite

Se o problema não é a medição e sim o horário ou o ritmo, escreva para contato@obadi.com.br. Combinamos janela de horário, taxa acima do crawl-delay público, ou os dois, e o robô passa a obedecer o combinado para o seu servidor. Um pedido de suspensão temporária também vale, e é atendido em até 24 horas.

Se você hospeda muitos sites do poder público no mesmo servidor, esse contato é especialmente bem-vindo. É o caso em que o ritmo do robô importa mais, e é o caso em que a gente já errou.

O que já deu errado

Em 06 de setembro de 2026 o ObadiBot sobrecarregou um provedor de Santa Catarina. A política de polidez do robô era escrita por domínio: uma página por vez em cada site, quatro sites em paralelo. Só que 156 dos 235 municípios do estado respondem de um único servidor, e quatro sites em paralelo eram, para aquela máquina, quatro robôs de uma vez. Ela respondeu 403 e depois parou de responder. Cento e cinquenta e quatro entidades ficaram sem medição naquele dia por causa disso, e o problema foi nosso, não delas.

O limite de uma entidade por vez por bloco de endereços, e a pausa de 2 segundos entre elas, existem por causa desse dia. O nome de um site não é o servidor que o atende, e um limite de taxa que não conta por onde o servidor realmente está não é um limite de taxa. Depois disso ainda encontramos um provedor que dá um endereço diferente a cada cliente, o que faria a mesma infraestrutura parecer trinta e sete servidores. Por isso a conta é por bloco, e não por endereço. O episódio está registrado por escrito, com os números, no registro público de incidentes do projeto.