Как превратить любой сайт в готовый API клиент без ручного разбора DevTools

16 авг 2026
1,154
101
11
1 месяц
Reverse API Engineer Banner

Каждый, кто хоть раз вытаскивал данные с закрытого сервиса, знает эту рутину. Открываешь вкладку Network в инструментах разработчика, ищешь нужный запрос, жмешь «Copy as cURL», несешь это добро в Postman или пишешь обертку на requests. Если эндпоинтов десяток, задача превращается в унылую механическую работу.

Проект reverse-api-engineer автоматизирует эту цепочку целиком. Вы просто говорите утилите, какие данные нужны, а она перехватывает сетевой трафик и отдает готовый типизированный SDK на выбранном языке программирования.


Как это устроено под капотом

Идея проекта строится вокруг перехвата HAR-файлов (HTTP Archive) и скормливания их языковым моделям.

Схема работы выглядит так:

  1. Запускается браузер под управлением Playwright или реальный Chrome через Chrome DevTools MCP.
  2. Сессия проходит нужные шаги: вы можете кликать по страницам сами или доверить навигацию автономному агенту.
  3. Весь сетевой трафик браузера аккуратно сохраняется в формате HAR.
  4. Нейросеть читает логи запросов, отсеивает статику, находит нужные эндпоинты с полезной нагрузкой и генерирует готовый клиент.
Agent Mode Demo
Автономный режим работы агента

Вместо парсинга DOM-дерева через селекторы, которые ломаются при малейшем обновлении фронтенда, инструмент работает напрямую с внутренними API сервисов. Если сайт подгружает данные через JSON, на выходе вы получите чистый код для работы с этим JSON.

Реклама

Режимы работы

В консольном интерфейсе переключение режимов происходит по нажатию Shift+Tab. Доступны четыре основных сценария:

  • agent — автономный агент сам открывает браузер, ищет нужные кнопки, переходит по страницам и собирает сетевые логи под вашу текстовую задачу.
  • manual — браузер открывается для вас. Вы сами авторизуетесь, нажимаете нужные фильтры, проходите капчу и закрываете окно, когда закончили.
  • engineer — повторный запуск кодогенерации на базе уже сохраненного ранее перехвата без повторного открытия браузера.
  • collector — режим сбора структурированных данных (в форматы JSON или CSV) напрямую без написания кода клиента.
Manual Mode Demo
Ручной режим с самостоятельным управлением браузером

Для агентского режима утилита умеет подключаться к вашему повседневному Google Chrome через Chrome MCP. Это спасает, когда сайт требует сложной авторизации или хранит сессионные куки, переносить которые в чистый браузер слишком долго.


Установка и быстрый старт

Проект написан на Python и распространяется через PyPI. Быстрее всего поставить его через uv или обычный pip:

uv tool install reverse-api-engineer

Если планируете использовать ручной режим с локальным управлением через Playwright, лучше сразу доустановить зависимости браузера:

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

После установки запускаем CLI и передаем задачу:

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

Браузер откроется, выполнит действия и сложит результат в отдельную папку:

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

Внутри будет готовый класс с методами, типизацией параметров, правильными заголовками и примером вызова.


Выбор моделей и языков

Инструмент не привязан намертво к одному провайдеру LLM. Настройки хранятся в файле ~/.reverse-api/config.json, менять их можно прямо в терминале через команду /settings.

Поддерживаются следующие стеки:

  • Claude (по умолчанию используются Sonnet 4.6 или Opus 4.6);
  • OpenCode со встроенной поддержкой бесплатных моделей;
  • Ollama для тех, кто предпочитает крутить модели локально на собственном железе;
  • Cursor и GitHub Copilot.

Что касается выходного кода, генератор умеет писать не только на Python. В конфиге можно выставить TypeScript, JavaScript, Go, Java, C#, PHP, Ruby или чистый C (с генерацией кода под libcurl).


Автоматизация и работа через скрипты

Утилиту можно встраивать в пайплайны благодаря поддержке JSON-вывода и флага --no-interactive:

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

Команда вернет структурированный объект со статусом выполнения, путем к HAR-файлу, сгенерированному скрипту и статистикой расхода токенов.


Ограничения и нюансы

Перед тем как бросаться автоматизировать все подряд, нужно держать в голове несколько практических моментов.

Агрессивная защита от ботов вроде Cloudflare Turnstile или Akamai может заблокировать агентский режим. В таких случаях спасает ручной режим (manual) или подключение к живому профилю Chrome через chrome-mcp.

Генерируемый код выполняется локально. Всегда проверяйте, что именно написала нейросеть в api_client.py, прежде чем запускать скрипт с боевыми учетными записями.

Сессионные токены и заголовки со временем протухают. Если сервис использует временные подписи запросов, сгенерированный скрипт придется периодически обновлять повторным прогоном.


Кому пригодится

Проект экономит уйму времени, если вам часто приходится вытаскивать данные из веб-сервисов без публичного API, писать интеграции на скорую руку или собирать датасеты. Вместо рутинного ковыряния во вкладке Network вы получаете готовый SDK за пару минут. Попробовать точно стоит, особенно если у вас уже настроен доступ к Claude или локальной Ollama.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.