by kalil0321
The agent that turns websites into APIs!
# Add to your Claude Code skills
git clone https://github.com/kalil0321/reverse-api-engineerGuides for using ai agents skills like reverse-api-engineer.
Last scanned: 5/9/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-09T06:18:21.083Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}reverse-api-engineer is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by kalil0321. The agent that turns websites into APIs!. It has 775 GitHub stars.
Yes. reverse-api-engineer passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/kalil0321/reverse-api-engineer" and add it to your Claude Code skills directory (see the Installation section above).
reverse-api-engineer is primarily written in Python. It is open-source under kalil0321 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh reverse-api-engineer against similar tools.
No comments yet. Be the first to share your thoughts!
Turn websites into APIs. Browse (or let an agent browse), and get a clean, typed client for the endpoints the site actually uses.
No more manually opening DevTools, copying cURL commands, and gluing together a client.
uv tool install reverse-api-engineer # or: pip install reverse-api-engineer
playwright install chromium
reverse-api-engineer
> fetch all apple jobs from their careers page
# Browser opens. Navigate, interact, close when done.
# → ./scripts/apple_jobs_api/ (api_client.py, README.md, example_usage.py)
Cycle modes with Shift+Tab:
| Mode | What it does |
|---|---|
manual |
You drive the browser; AI generates the client from captured traffic. |
agent |
An AI agent drives capture autonomously (Playwright or Chrome MCP, or Vercel agent-browser CLI). |
engineer |
Re-run generation on a previous capture (engineer <run_id>). |
collector |
Agent collects structured data (JSON/CSV) using web search + fetch. |
Agent mode providers:
agent-browser is already on PATH, otherwise runs npm install -g <pin> (same pin as config / RAE_AGENT_BROWSER_PACKAGE), prints a yellow notice, validates with --help, and only then falls back to npx -y <pin> if npm cannot install. Prompts embed the resolved shell prefix alongside skills get core --full, skills list, HAR phases, cloud notes from agent_browser_notes. Tune with agent_browser_npx_package (optional), env RAE_AGENT_BROWSER_*. First Chromium fetch: agent-browser install (add --with-deps on trimmed Linux).Optional sanity checks:
agent-browser doctor --offline --quick || true
agent-browser skills list >/dev/null
Settings live in ~/.reverse-api/config.json and can be edited via /settings in the CLI:
{
"agent_provider": "auto",
"agent_browser_npx_package": "agent-browser@0",
"agent_browser_notes": "",
"claude_code_model": "claude-sonnet-4-6",
"collector_model": "claude-sonnet-4-6",
"opencode_model": "claude-sonnet-4-6",
"opencode_provider": "anthropic",
"copilot_model": "gpt-5",
"cursor_model": "composer-2.5",
"output_dir": null,
"output_language": "python",
"real_time_sync": true,
"sdk": "claude"
}
claude (default), opencode, cursor, or copilot (GitHub Copilot).python, javascript, or typescript.Slash commands inside the CLI:
/settings: configure model, SDK, agent provider, and sync settings./history: list past runs with timestamps, costs, and status./messages <run_id>: view detailed message logs for a run./help (alias: /commands): show the command list./exit (alias: /quit): leave the CLI.Scriptable subcommands (pipe to jq):
reverse-api-engineer agent --prompt "capture the public jobs api" \
--url https://example.com/jobs --json | jq
reverse-api-engineer list --json
reverse-api-engineer show <run_id> --json
reverse-api-engineer run <run_id> --file api_client.py \
--no-interactive --auto-install -- --org acme
Pass --no-interactive (and/or --json) to skip prompts. With --json, stdout is one JSON document and logs go to stderr.
agent --json schema| Field | Type | Notes |
|---|---|---|
schema_version |
int |
Currently 1. |
status |
"ok" | "error" |
Top-level result. |
run_id |
string | null |
Use with show / engineer / run. |
prompt |
string |
|
url |
string | null |
|
mode |
string | null |
"auto", "chrome-mcp", or "agent-browser". |
har_path |
string | null |
Captured HAR. |
script_path |
string | null |
Generated client. |
usage |
object |
{input_tokens, output_tokens, total_cost}. |
error |
string | null |
When status == "error". |
| Code | Meaning |
|---|---|
0 |
Success. |
1 |
Runtime error. |
2 |
Missing required arg under --no-interactive / --json. |
For run, the exit code is the underlying script's return code on success, 1 if no script was found, or non-zero if --no-interactive would have had to prompt.
~/.reverse-api/runs/scripts/{run_id}/: permanent storage./scripts/{descriptive_name}/: local copy with a readable name./collected/{folder_name}/ (items.json, items.csv, README.md)git clone https://github.com/kalil0321/reverse-api-engineer.git
cd reverse-api-engineer
uv sync
uv run reverse-api-engineer
Build: ./scripts/clean_build.sh. Requires Python 3.11+, Playwright browsers, and an API key for agent mode.
MIT. See LICENSE.