>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
Python

Transforme Qualquer Website em um Cliente de API Pronto para Uso Sem Precisar Analisar Manualmente o DevTools

Reverse API Engineer Banner

Qualquer pessoa que já extraiu dados de um serviço fechado conhece essa rotina. Você abre a aba Network nas ferramentas de desenvolvedor, encontra a requisição que precisa, clica em "Copy as cURL", leva isso para o Postman ou escreve um wrapper em requests. Se houver uma dúzia de endpoints, a tarefa se torna um trabalho mecânico tedioso.

O projeto reverse-api-engineer automatiza toda essa cadeia. Você simplesmente diz à ferramenta quais dados precisa, e ela intercepta o tráfego de rede e entrega um SDK tipado e pronto para uso na linguagem de programação que escolher.


Como funciona nos bastidores

A ideia do projeto gira em torno de interceptar arquivos HAR (HTTP Archive) e alimentá-los com modelos de linguagem.

O fluxo de trabalho funciona assim:

  1. Um navegador é iniciado sob controle do Playwright ou Chrome real via Chrome DevTools MCP.
  2. A sessão passa pelas etapas necessárias: você pode navegar pelas páginas sozinho ou delegar a navegação a um agente autônomo.
  3. Todo o tráfego de rede do navegador é salvo em formato HAR.
  4. A rede neural lê os logs de requisição, filtra conteúdo estático, encontra os endpoints relevantes com payloads e gera um cliente pronto para uso.
Agent Mode Demo
Modo de operação com agente autônomo

Em vez de analisar a árvore DOM através de seletores que se quebram com qualquer atualização no frontend, a ferramenta trabalha diretamente com as APIs internas dos serviços. Se um site carrega dados via JSON, você obterá código limpo para trabalhar com esse JSON.


Modos de operação

Na interface do console, os modos são alternados pressionando Shift+Tab. Quatro cenários principais estão disponíveis:

  • agent — um agente autônomo abre o navegador sozinho, encontra os botões necessários, navega pelas páginas e coleta logs de rede com base na sua tarefa em texto.
  • manual — o navegador abre para você. Você mesmo gerencia a autenticação, aplica os filtros necessários, completa qualquer captcha e fecha a janela quando terminar.
  • engineer — reexecuta a geração de código com base em uma captura salva anteriormente sem reabrir o navegador.
  • collector — coleta dados estruturados (em formatos JSON ou CSV) diretamente sem escrever código de cliente.
Manual Mode Demo
Modo manual com controle do navegador por conta própria

Para o modo agent, a ferramenta pode se conectar ao seu Google Chrome do dia a dia através do Chrome MCP. Isso ajuda quando um site requer autenticação complexa ou armazena cookies de sessão que levariam tempo demais para transferir para um navegador novo.


Instalação e início rápido

O projeto é escrito em Python e distribuído via PyPI. A forma mais rápida de instalar é via uv ou pip normal pip:

uv tool install reverse-api-engineer

Se você planeja usar o modo manual com controle local através do Playwright, é melhor instalar as dependências do navegador imediatamente:

uv tool install "reverse-api-engineer[manual]"
playwright install chromium

Após a instalação, inicie o CLI e passe uma tarefa:

reverse-api-engineer
> fetch all apple jobs from their careers page

O navegador vai abrir, executar as ações e colocar o resultado em uma pasta separada:

./scripts/apple_jobs_api/
├── api_client.py
├── example_usage.py
└── README.md

Lá dentro você encontrará uma classe pronta com métodos, tipagem de parâmetros, headers corretos e um exemplo de uso.


Escolhendo modelos e linguagens

A ferramenta não está presa a um único provedor de LLM. As configurações ficam armazenadas no arquivo ~/.reverse-api/config.json, e você pode alterá-las diretamente no terminal via comando /settings.

As seguintes pilhas são suportadas:

  • Claude (Sonnet 4.6 ou Opus 4.6 são usados por padrão);
  • OpenCode com suporte integrado para modelos gratuitos;
  • Ollama para quem prefere executar modelos localmente no próprio hardware;
  • Cursor e GitHub Copilot.

Quanto ao código de saída, o gerador pode escrever em mais do que apenas Python. O config permite definir TypeScript, JavaScript, Go, Java, C#, PHP, Ruby ou C simples (com geração de código para libcurl).


Automação e scripting

A ferramenta pode ser integrada em pipelines graças ao suporte de saída JSON e à flag --no-interactive:

reverse-api-engineer agent \
  --prompt "capture the public jobs api" \
  --url https://example.com/jobs \
  --json | jq .

O comando retornará um objeto estruturado com status de execução, o caminho para o arquivo HAR, o script gerado e estatísticas de uso de tokens.


Limitações e nuances

Antes de correr para automatizar tudo, há várias considerações práticas a ter em mente.

Proteção contra bots agressiva como Cloudflare Turnstile ou Akamai pode bloquear o modo agent. Nesses casos, o modo manual (manual) ou conectar a um perfil Chrome ao vivo via chrome-mcp ajuda.

O código gerado é executado localmente. Sempre verifique o que a rede neural escreveu em api_client.py antes de executar o script com contas de produção.

Tokens de sessão e headers expiram com o tempo. Se o serviço usa assinaturas de requisição temporárias, você precisará atualizar periodicamente o script gerado executando-o novamente.


Para quem será útil

O projeto economiza muito tempo se você precisa frequentemente extrair dados de serviços web sem API pública, escrever integrações rápidas ou construir datasets. Em vez da rotina de vasculhar a aba Network, você obtém um SDK pronto em poucos minutos. Definitivamente vale a pena experimentar, especialmente se você já tem acesso a Claude ou uma instância Ollama local.

Projetos relacionados