kalil0321/reverse-api-engineer

The agent that turns websites into APIs!

Reverse API Engineer – Webサイトをすぐに使えるAPIクライアントに変換

機能

  • Webページを指定してやりたいことを伝えるだけです(例:Appleの求人情報をすべて取得する)。
  • ブラウザが開き、手動で操作するか、AI駆動の「エージェント」がナビゲーションを行います。
  • ページ読み込み中にすべてのネットワークリクエストをHAR (HTTP Archive) ファイルに記録します。
  • 言語モデル(Claude、OpenCode、Ollama、Copilotなど)がそのトラフィックを読み取り、選択した言語(Python、JavaScript/TypeScript、Go、Java、C#、PHP、Ruby、またはC)で型安全なクライアントライブラリを作成します。
  • 生成されたクライアントは、READMEとサンプルスクリプトと共にフォルダに保存され、すぐにコードへインポートできます。

重要性

  • 「DevToolsを開く → cURLをコピー → リクエストを手動作成」という面倒なループを回避します。
  • 文書化されていないJSONエンドポイントを公開しているサイトでも、適切なAPIのように扱うことができます。
  • インタラクティブなキャプチャ(手動クリック)と、ログインやクリック、スクロールなどが可能なAIエージェントによる全自動キャプチャの両方をサポートしています。

インストール

# uv (推奨) または pip を使用
uv tool install reverse-api-engineer   # または pip install reverse-api-engineer
  • エージェントモード (デフォルト) はコアパッケージのみで動作します。
  • 手動モード はオプションの [manual] エクストラと Playwright Chromium のインストールが必要です:
uv tool install "reverse-api-engineer[manual]"
playwright install chromium

クイックスタート

reverse-api-engineer
> fetch all apple jobs from their careers page
# ブラウザウィンドウが開きます – ナビゲート、操作し、閉じる
# 生成されたコードが ./scripts/apple_jobs_api/ に保存されます

Shift+Tab でいつでもモードを切り替えられます。

モード

モード 仕組み
manual ユーザーがブラウザを操作し、キャプチャ後にAIがクライアントを生成します。
agent AIエージェントがブラウザを自動操作します (Playwright MCP, Chrome-MCP, または Vercelの agent-browser)。
engineer 保存済みのHARキャプチャから再生成を行います。
collector エージェントがWeb検索とフェッチを組み合わせて構造化データ (JSON/CSV) を抽出します。

設定

  • 設定は ~/.reverse-api/config.json に保存され、CLI内の /settings コマンドで編集可能です。
  • LLMプロバイダー (claude, opencode, cursor, copilot) とモデル(例:claude-sonnet-4-6)を選択できます。
  • 出力言語を選択可能です (python, javascript, typescript, go, java, csharp, php, ruby, c)。
  • ローカルのOllamaやOpenCodeサーバーを自動起動したり、既存のサーバーに接続したりできます。

CLIの基本

  • /settings – モデル、SDK、エージェントプロバイダー、出力言語などを編集。
  • /history – タイムスタンプ、トークン使用量、コストを含む過去の実行履歴を表示。
  • /messages <run_id> – 実行時のモデルとの全会話を表示。
  • /help – 全コマンドを表示。
  • 非インタラクティブ/スクリプト利用:--json および --no-interactive フラグを使用し、jq で処理しやすいJSON出力が可能。

出力

  • 永続的な実行データ:~/.reverse-api/runs/scripts/<run_id>/
  • プロジェクト内のコピー:./scripts/<descriptive_name>/
  • コレクター結果:./collected/<folder>/items.json, items.csv, README が含まれます。

注意点

  • 生成されたコードは言語モデルによるものです。実行前に必ず確認してください。
  • ボットを厳しくブロックするサイトでは、手動操作や追加の回避策が必要になる場合があります。

開発

git clone https://github.com/kalil0321/reverse-api-engineer.git
cd reverse-api-engineer
uv sync
uv run reverse-api-engineer
  • ビルドスクリプト:./scripts/clean_build.sh
  • Python 3.11+、選択したLLMのAPIキー、および(手動モードの場合)Playwright Chromiumが必要です。

ライセンス – MIT。


結論:Reverse API Engineerは、Webサイトのネットワークトラフィックをキャプチャし、大規模言語モデルに渡して、主要なプログラミング言語で利用可能な型安全なAPIクライアントを生成するPythonベースのCLIです。WebスクレイピングとAPI利用のギャップを埋め、最新のLLMを活用してリバースエンジニアリングのステップを自動化します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト