Reverse API Engineer CLI

A CLI that records a site's traffic into HAR and writes a ready API client from it in Python, TypeScript, Go and seven other languages

  • 2,062 ★ on the repository
  • Last commit
  • MIT
CLI

Broad access

Why this level

  • Drives a browser, and with the `chrome-mcp` provider works in your real Chrome with saved sessions and cookies
  • Has a model write a client and runs it on your machine, and may install `agent-browser` globally through npm
  • Sends the captured traffic, which can hold tokens and personal data, to the provider of the chosen model
All reasons and checks

kalil0321/reverse-api-engineer

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/reverse-api-engineer

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Drives a browser, and with the `chrome-mcp` provider works in your real Chrome with saved sessions and cookies
  • Has a model write a client and runs it on your machine, and may install `agent-browser` globally through npm
  • Sends the captured traffic, which can hold tokens and personal data, to the provider of the chosen model

This is third-party code. Review the repository files before installing.

What it does

Reverse API Engineer installs from PyPI and starts with the `reverse-api-engineer` command. You state the goal in plain words, for example "fetch all apple jobs from their careers page". A browser opens and all network traffic of the page is saved to a HAR file. A model reads that file, finds the requests the site itself uses to get its data and writes a client for them. The `./scripts/<name>/` folder receives `api_client.py`, a description and a usage example. Modes cycle with Shift+Tab. In `manual` you drive the browser, in `agent` an AI agent opens the pages through Playwright MCP, Chrome MCP or Vercel's agent-browser CLI. The `engineer` mode regenerates a client from an earlier capture, and `collector` gathers structured data into JSON and CSV through web search and page fetches. The client language is set in the settings: Python, JavaScript, TypeScript, Go, Java, C#, PHP, Ruby, C or PowerShell. For scripts there are the `agent`, `list`, `show` and `run` subcommands. With `--no-interactive` and `--json` they ask nothing and print one JSON document with the run id, paths to the HAR and the client, and token usage. A permanent copy of each run lives in `~/.reverse-api/runs/scripts/`.

Who it is for. For developers and analysts who need programmatic access to a site's data when it has no public API: job listings, ads, catalogs. It suits people who work in Claude Code, Cursor, OpenCode or Copilot and are ready to review generated code.

Good fit when

  • You need to pull jobs, listings or products from a site that makes internal server requests but has no documented API
  • You are building a client for your own site or account and do not want to copy requests from DevTools by hand
  • You want the same client in Python for a script and in TypeScript for an app: the language is a setting
  • You want client generation inside your own pipeline: `reverse-api-engineer agent --prompt ... --url ... --json` prints the result as one JSON
  • You need a data table from several pages at once, and the `collector` mode builds it as `items.json` and `items.csv`

Not a fit when

  • The site or data belongs to someone else, and the site's terms or the law forbid automated collection: the tool does not check data rights
  • The service has an official documented API: using it is simpler and steadier
  • You are on Intel macOS or 32-bit Windows: the cryptography dependency dropped support for these platforms
  • You need a client for a mobile app: the tool captures browser traffic, while APK analysis belongs to the separate `android-reverse-engineering-api-extraction` skill

Example request

Open the jobs page on our site, capture the server requests and write a Python client that exports all jobs with a city filter

Limitations

The project is in beta and needs Python 3.11 or newer. The generated client runs on your machine, so read the code before running it.

Sites with strong bot protection may block capture or require manual steps. Use the tool only on sites and data you have permission to access.

The `agent` mode needs an API key for the chosen SDK (`claude`, `opencode`, `cursor` or `copilot`). The Anthropic API is unavailable from Russia, so availability depends on the model provider you pick. The `manual` mode needs the `[manual]` extra and `playwright install chromium`.

C clients need a compiler and libcurl headers, PowerShell clients need `pwsh` 7 or newer. The `chrome-mcp` provider requires Chrome version 146 or newer and Node.js 20.19 or newer.

How to disable. Remove the package with `uv tool uninstall reverse-api-engineer` (or `pip uninstall reverse-api-engineer`). Settings live in `~/.reverse-api/config.json` and saved runs and clients in `~/.reverse-api/runs/`: delete those folders by hand. If the tool installed the global `agent-browser` package itself, remove it with `npm uninstall -g agent-browser`.

FAQ

How do I make an API client from a site's traffic?

Run `reverse-api-engineer` and state the goal, for example "export all jobs". The browser opens, traffic is recorded to HAR and the model writes a client into `./scripts/<name>/`. For a result with no prompts use `reverse-api-engineer agent --prompt ... --url ... --json`.

Which languages does Reverse API Engineer write the client in?

Python, JavaScript, TypeScript, Go, Java, C#, PHP, Ruby, C and PowerShell. The language is the `output_language` setting in `~/.reverse-api/config.json` or the `/settings` command inside the CLI.

How does agent mode differ from manual?

In `manual` you browse the site yourself in a local Playwright browser and the model then reads the captured traffic. In `agent` an AI agent drives the browser: through Playwright MCP, through your real Chrome (`chrome-mcp`, with your cookies and sessions) or through the agent-browser CLI.

Can I work without a paid Anthropic key?

Yes. With the `opencode` SDK the tool starts OpenCode through `npx` itself, and a fresh configuration defaults to the free `opencode/big-pickle` model. Local models can be connected through Ollama and OpenCode, which needs installed models with tool calling and a context of 64k tokens or more.

How do I run Reverse API Engineer from a script or pipeline?

The `agent`, `list`, `show` and `run` subcommands with `--no-interactive` and `--json` ask nothing and print one JSON document, with logs going to stderr. Exit code 0 means success; 1 means a runtime error; 2 means a missing required argument.

Where do I find the results of earlier runs?

A readable copy lives in `./scripts/<name>/` and a permanent one in `~/.reverse-api/runs/scripts/<run_id>/`. `/history` in the CLI or `reverse-api-engineer list --json` lists runs with time and cost, and `engineer <run_id>` regenerates a client from a captured run.

Discussion

No questions or reviews yet.

CLI tools

Empryo is a coding agent for desktop, terminal and CI that maps your repository, edits code by symbol name and runs its own checks

CLIBroad access1.5KRepository stars

Eleven Claude Code skills that rebuild an app's features from scratch: recon, build, tests, review analysis, rebranding and deploy

SkillBroad access6.3KRepository stars

A Claude Code plugin that extracts behavioral specs, test vectors and acceptance criteria from a codebase, with a provenance trail

PluginBroad access296Repository stars

A Python terminal coding agent in the manner of Claude Code: reads the repository, edits files, runs commands, with memory, sub-agents and MCP

CLIBroad access1KRepository stars

Shep runs several coding agents in parallel, each in its own git worktree, and takes every task through to a draft pull request

CLIBroad access269Repository stars

An autonomous iteration skill for agents: modify, verify, revert failed changes, and repeat the loop toward a target metric

SkillBroad access6.8KRepository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialAuthenticationRepository starsMain difference
Reverse API Engineer (this entry)no2,062
Android Reverse Engineering & API Extractionno8,347a skill that decompiles APKs to find a mobile app's endpoints and does not record site traffic
Chrome DevTools MCPyesnot required54,368the official MCP server lets an agent read the network and console of a live Chrome, and does not write an API client

README in short

The repository holds a Python package with modules for each mode and SDK, a folder of per-language model prompts, tests and a generation validation script. The `examples` directory shows ready clients for Apple, Uber, IKEA, AutoScout24, Ashby and Mintlify sites. The front page walks from install through quick start, settings, subcommands, the JSON schema and exit codes. A changelog and release rules sit in separate files.

README badge

Report a problem

Foxx AIReverse API Engineer
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.