noticias
noticias
5 min de leitura
5 de novembro de 2026

Seu Agente IA É Bloqueado? Site Do Cliente Não Deixa

Site do cliente detecta agente IA = bloqueia = cliente não consegue usar = você perde receita. Como contornar detection.

Equipe OpenClaw

Equipe OpenClaw · Time de Engenharia & Produto

A Equipe OpenClaw é formada por engenheiros, designers e especialistas em IA dedicados a construir a melhor plataforma de agentes conversacionais para negócios brasileiros. Combinamos expertise…


Seu Agente IA É Bloqueado? Site Do Cliente Não Deixa

Você deployou agente IA.

Agente acessa site do cliente pra extrair dados.

1 minuto depois:

Error 403: Forbidden.

Ou pior:

Cloudflare Challenge: "Are you human?"

Agente não consegue resolver.

Agente falha.

Cliente vê erro.

Cliente pensa: "Agente é inútil."

Você perde cliente.

Mas o problema?

Não é seu agente.

É que o site do cliente detectou seu agente como bot.

E decidiu bloquear.

Há 3 formas que website trata agente IA diferente de usuário humano.

E se website implementou qualquer uma?

Seu agente está morto.

Vamos decompor:

1. Os 3 Jeitos Que Website Bloqueia Seu Agente

Forma 1: User-Agent Detection (Mais Comum)

Website olha pra header HTTP chamado "User-Agent".

Header esse que identifica quem você é.

Como Funciona

Quando você acessa website normal:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

Website lê isso.

Pensa: "É browser normal. Deixo passar."

Quando seu agente acessa:

User-Agent: python-requests/2.31.0

Ou:

User-Agent: curl/7.68.0

Website lê.

Pensa: "É bot. Bloqueia."

403 Forbidden.

Exemplo Real

Agente precisa acessar site pra puxar preço de produto.

python import requests

response = requests.get('https://loja.com.br/produto/123') print(response.status_code)

Output: 403

Por quê 403?

Porque requests envia User-Agent genérico.

Website bloqueia.

Solução

python import requests

headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' }

response = requests.get('https://loja.com.br/produto/123', headers=headers) print(response.status_code)

Output: 200

Agora funcionou.

Agente "finge" ser browser.

Website deixa passar.

Forma 2: Behavior Analysis (Mais Sofisticada)

Website não olha só User-Agent.

Olha como você acessa.

Humano = padrão específico.

Bot = padrão diferente.

Comportamento Humano
  • Clica em links (não acessa direto URL)
  • Vê imagens antes de conteúdo
  • Scrolls pra baixo (vê página inteira)
  • Pausa entre clicks (2-5 segundos)
  • Mouse movement
  • Keyboard input
  • Ignora alguns recursos (CSS, JS, imagens desnecessárias)
Comportamento Bot
  • Acessa URL direta (sem link)
  • Não renderiza imagens
  • Não scrolls
  • Requisições instantâneas (milissegundos)
  • Sem mouse/keyboard
  • Pega tudo (HTML, CSS, JS, imagens)
  • Padrão repetitivo
Como Website Detecta

Website monitora:

python if ( request_rate > 100_per_minute or time_between_requests < 100_ms or no_javascript_execution or no_cookie_handling or headers_suspiciously_generic or same_user_agent_1000_requests ): block_request()

Bot detectado. Bloqueado.

Exemplo Real

Agente acessa 1.000 produtos em 5 minutos.

Humano consegue? Não.

Humano clica, espera, lê, scroll.

5 minutos = 1-2 produtos max.

Website vê 1.000 em 5 min.

Pensa: "É bot."

Rate limited (429 Too Many Requests) ou bloqueado.

Solução

python import time import random

for product_id in product_list: # Simula behavior humano time.sleep(random.uniform(2, 5)) # Espera entre 2-5 segundos

response = requests.get(
    f'https://loja.com.br/produto/{product_id}',
    headers={'User-Agent': 'Mozilla/...'}  # Browser real
)

# Simula processing (humano lê página)
time.sleep(random.uniform(1, 3))

process_data(response)

Agora parece humano.

Website deixa passar.

Forma 3: IP Reputation & Fingerprinting (Mais Avançada)

Website não é apenas local.

Usa serviço de cloud (Cloudflare, Akamai).

Serviço tem histórico de IPs.

Como Funciona

Cloudflare (exemplo):

  • Mantém lista de IPs maliciosos
  • Mantém lista de data centers (onde bots vivem)
  • Mantém lista de VPNs/proxies
  • Monitora patterns suspeitos

Seu agente:

  • Roda em AWS/Google Cloud
  • IP é de data center
  • Cloudflare reconhece: "Esse IP é data center"
  • Cloudflare pensa: "Provavelmente bot"
  • Cloudflare mostra: "Prove que é humano" (CAPTCHA)
Exemplo Real

Você deployou agente em AWS.

Agente acessa site protegido por Cloudflare.

Request from: 52.1.2.3 (AWS IP) Cloudflare: "Reconheço esse IP como data center" Cloudflare: "Talvez seja bot" Cloudflare: CAPTCHA challenge

Agente não consegue resolver CAPTCHA.

Agente falha.

Solução

Usar serviço que simula browser real:

  • Bright Data / Luminati: proxy network com IPs residenciais
  • Browserless: headless browser com IP real
  • Puppeteer + Proxy Residencial: combina browser rendering com IP real

python from browserless import Client

client = Client()

Renderiza página em browser real

Com IP residencial

response = client.screenshot('https://loja.com.br/produto/123')

Agora:

  • Tem browser real (JavaScript executa)
  • Tem IP residencial (parece pessoa de verdade)
  • Cloudflare: "Okay, deixo passar"

2. O Impacto Financeiro (Onde Dói)

Cenário: Agente Scraper

Agente precisa coletar dados de 1.000 sites de clientes.

Cada site = fonte de dados críticos.

Se website bloqueia:

  • Agente falha
  • 0% dos dados
  • Cliente recebe erro
  • Cliente pensa: "Agente não funciona"
  • Cliente cancela

Se website deixa passar:

  • Agente sucesso
  • 100% dos dados
  • Cliente recebe insight
  • Cliente renovar

Números

  • 100 clientes
  • 50% de websites bloqueiam agente (User-Agent detection apenas)
  • 50 clientes com falha
  • R$ 500/mês por cliente
  • R$ 25.000/mês em receita perdida
  • R$ 300.000/ano evaporando

3. Como Detectar Se Seu Agente É Bloqueado

Passo 1: Monitor Request Status

python import requests

response = requests.get('https://example.com')

if response.status_code == 403: print("BLOCKED: 403 Forbidden") elif response.status_code == 429: print("RATE LIMITED: 429 Too Many Requests") elif 'captcha' in response.text.lower(): print("BLOCKED: CAPTCHA detected") elif len(response.text) < 100: print("SUSPICIOUS: Response suspiciously short") else: print("OK: 200 Success")

Passo 2: Check Response Headers

python response = requests.get('https://example.com')

Cloudflare

if 'cf-ray' in response.headers: print("Website uses Cloudflare")

Rate limiting

if 'retry-after' in response.headers: print(f"Rate limited. Retry after {response.headers['retry-after']} seconds")

Bot detection

if response.status_code == 403 and 'cf-ray' in response.headers: print("Cloudflare blocked request (likely bot detection)")

Passo 3: Test Different Approaches

python

Teste 1: User-Agent padrão

response1 = requests.get('https://example.com') print(f"Without headers: {response1.status_code}")

Teste 2: With browser User-Agent

headers = {'User-Agent': 'Mozilla/5.0...'} response2 = requests.get('https://example.com', headers=headers) print(f"With browser UA: {response2.status_code}")

Teste 3: With delays

time.sleep(2) response3 = requests.get('https://example.com', headers=headers) print(f"With delay: {response3.status_code}")

Teste 4: With proxy

proxies = {'http': 'http://proxy.example.com:8080'} response4 = requests.get('https://example.com', headers=headers, proxies=proxies) print(f"With proxy: {response4.status_code}")

4. Checklist: Como Evitar Ser Bloqueado

✅ Implementar Agora

  • Use real browser User-Agent (não python-requests)
  • Add delay entre requisições (2-5 segundos)
  • Set realistic headers (Referer, Accept-Language, etc)
  • Handle cookies (agente deve manter session)
  • Respect robots.txt
  • Monitor status codes (403, 429)
  • Test em staging antes de produção

✅ Implementar Esta Semana

  • Setup error alerting (quando bloqueado)
  • Implement retry logic com backoff exponencial
  • Adicione proxy rotation (se necessário)
  • Teste com diferentes browsers (Chrome, Firefox)
  • Document which websites block agents

✅ Implementar Este Mês

  • Use headless browser (Puppeteer, Playwright) em vez de requests
  • Implement residential proxy (se sites muito restritivos)
  • Monitor detection rate (quantos requests são bloqueados)
  • Setup analytics dashboard

❌ Nunca Fazer

  • Não use User-Agent genérico
  • Não ignore 403/429 responses
  • Não faça 1.000 requests em 5 minutos
  • Não ignore robots.txt
  • Não reutilize mesmo IP indefinidamente

5. Ferramentas Para Contornar Detection

DIY (Barato)

  • Requests + delays: básico mas funciona pra 80% dos sites
  • Puppeteer + Node: headless browser mais realista
  • Scrapy: framework com built-in handling de bot detection

Managed (Mais Fácil)

  • Bright Data / Luminati: R$ 100-500/mês, proxy residential
  • ScrapingBee: R$ 50-200/mês, API que tira boilerplate
  • Browserless: R$ 100-300/mês, headless browser managed

Enterprise (Mais Confiável)

  • Apify: R$ 1.000+/mês, web scraping infrastructure
  • Octoparse: R$ 500-2.000/mês, visual scraping

Conclusão: Seu Agente Funciona Se Não For Bloqueado

Agente IA?

Legal.

Mas se website bloqueia agente?

Agente é inútil.

Website pode bloquear de 3 formas:

  1. User-Agent Detection (detecta requests genéricas)
  2. Behavior Analysis (detecta padrão bot)
  3. IP Reputation (detecta data center)

Solução?

  1. Simular browser real (real User-Agent)
  2. Simular behavior humano (delays, processing)
  3. Usar IP residencial (proxy, headless browser managed)

Implementar?

Hoje.

Não fazer?

Agente falha. Cliente cancela. Receita some.

Se você precisa implementar bot evasion, setup de proxy rotation, ou integração com ferramenta de scraping enterprise, converse com a gente na OpenClaw. Fazemos deployment de agentes IA que precisam acessar websites restritivos todos os dias — e sabemos exatamente qual ferramenta funciona pra qual padrão de detection.


P.S.: Seu agente está falhando silenciosamente? Provavelmente está sendo bloqueado. Adicione logging em cada request. Veja quantos 403s estão rolando. Choquei ao descobrir que cliente tinha 70% de failure rate por isso.


Publicado em 5 de novembro de 2026