Convierte cualquier sitio web en un cliente API listo para usar sin analizar manualmente DevTools
Cualquiera que haya extraído datos de un servicio cerrado conoce esta rutina. Abres la pestaña de Red en las herramientas de desarrollo, encuentras la solicitud que necesitas, haces clic en "Copiar como cURL", la llevas a Postman o escribes un wrapper en requests. Si hay una docena de endpoints, la tarea se convierte en un trabajo mecánico tedioso.
El proyecto reverse-api-engineer automatiza toda esta cadena. Simplemente le dices a la herramienta qué datos necesitas, y esta intercepta el tráfico de red y te entrega un SDK tipado listo para usar en el lenguaje de programación que elijas.
Cómo funciona internamente
La idea del proyecto se centra en interceptar archivos HAR (HTTP Archive) y alimentarlos a modelos de lenguaje.
El flujo de trabajo es el siguiente:
- Un navegador se inicia bajo el control de Playwright o Chrome real a través de Chrome DevTools MCP.
- La sesión atraviesa los pasos necesarios: puedes navegar por las páginas tú mismo o delegar la navegación a un agente autónomo.
- Todo el tráfico de red del navegador se guarda ordenadamente en formato HAR.
- La red neuronal lee los registros de solicitudes, filtra el contenido estático, encuentra los endpoints relevantes con sus cargas útiles y genera un cliente listo para usar.
Modo de operación con agente autónomo
En lugar de analizar el árbol DOM a través de selectores que se rompen con cualquier actualización del frontend, la herramienta trabaja directamente con las APIs internas de los servicios. Si un sitio carga datos a través de JSON, obtendrás código limpio para trabajar con ese JSON.
Modos de operación
En la interfaz de consola, los modos se cambian presionando Shift+Tab. Están disponibles cuatro escenarios principales:
- agent — un agente autónomo abre el navegador por sí mismo, encuentra los botones necesarios, navega por las páginas y recopila los registros de red basándose en tu tarea en texto.
- manual — el navegador se abre para ti. Tú manejas la autenticación, aplicas los filtros necesarios, completas cualquier captcha y cierras la ventana cuando terminas.
- engineer — vuelve a ejecutar la generación de código basada en una captura guardada previamente sin reopen el navegador.
- collector — recopila datos estructurados (en formatos JSON o CSV) directamente sin escribir código de cliente.
Modo manual con control del navegador gestionado por ti
Para el modo agente, la herramienta puede conectarse a tu Google Chrome habitual a través de Chrome MCP. Esto ayuda cuando un sitio requiere autenticación compleja o almacena cookies de sesión que tardarían demasiado en transferirse a un navegador nuevo.
Instalación y inicio rápido
El proyecto está escrito en Python y se distribuye a través de PyPI. La forma más rápida de instalarlo es mediante uv o pip normal pip:
uv tool install reverse-api-engineer
Si planeas usar el modo manual con control local a través de Playwright, lo mejor es instalar las dependencias del navegador de inmediato:
uv tool install "reverse-api-engineer[manual]"
playwright install chromium
Después de la instalación, inicia la CLI y pasa una tarea:
reverse-api-engineer
> fetch all apple jobs from their careers page
El navegador se abrirá, realizará las acciones y colocará el resultado en una carpeta separada:
./scripts/apple_jobs_api/
├── api_client.py
├── example_usage.py
└── README.md
Dentro encontrarás una clase lista con métodos, tipado de parámetros, encabezados correctos y un ejemplo de uso.
Elección de modelos y lenguajes
La herramienta no está bloqueada a un solo proveedor de LLM. La configuración se almacena en el archivo ~/.reverse-api/config.json, y puedes cambiarla directamente en la terminal a través del comando /settings.
Se admiten las siguientes pilas:
- Claude (por defecto se usan Sonnet 4.6 u Opus 4.6);
- OpenCode con soporte integrado para modelos gratuitos;
- Ollama para quienes prefieren ejecutar modelos localmente en su propio hardware;
- Cursor y GitHub Copilot.
En cuanto al código de salida, el generador puede escribir en más que solo Python. La configuración permite establecer TypeScript, JavaScript, Go, Java, C#, PHP, Ruby o C plano (con generación de código para libcurl).
Automatización y scripting
La herramienta puede integrarse en pipelines gracias al soporte de salida JSON y la bandera --no-interactive:
reverse-api-engineer agent \
--prompt "capture the public jobs api" \
--url https://example.com/jobs \
--json | jq .
El comando devolverá un objeto estructurado con el estado de ejecución, la ruta al archivo HAR, el script generado y las estadísticas de uso de tokens.
Limitaciones y matices
Antes de precipitarte a automatizar todo, hay varias consideraciones prácticas que debes tener en cuenta.
La protección contra bots agresiva como Cloudflare Turnstile o Akamai puede bloquear el modo agente. En tales casos, el modo manual (manual) o conectarse a un perfil de Chrome en vivo a través de chrome-mcp ayuda.
El código generado se ejecuta localmente. Siempre verifica lo que la red neuronal escribió en api_client.py antes de ejecutar el script con cuentas de producción.
Los tokens de sesión y los encabezados caducan con el tiempo. Si el servicio usa firmas de solicitud temporales, necesitarás actualizar periódicamente el script generado ejecutándolo nuevamente.
A quién le será útil
El proyecto ahorra mucho tiempo si necesitas extraer datos frecuentemente de servicios web sin API pública, escribir integraciones rápidas o construir conjuntos de datos. En lugar de la rutina de explorar la pestaña de Red, obtienes un SDK listo para usar en un par de minutos. Definitivamente vale la pena probarlo, especialmente si ya tienes acceso a Claude o una instancia local de Ollama.
Proyectos relacionados