{
  "added_at": "2026-11-03",
  "additional_evidence_urls": [
    "https://github.com/kalil0321/reverse-api-engineer/blob/4e150176ec7c50c960d23e35bd3d2c5b82931528/pyproject.toml",
    "https://github.com/kalil0321/reverse-api-engineer/blob/4e150176ec7c50c960d23e35bd3d2c5b82931528/CHANGELOG.md",
    "https://github.com/kalil0321/reverse-api-engineer/blob/4e150176ec7c50c960d23e35bd3d2c5b82931528/LICENSE",
    "https://github.com/kalil0321/reverse-api-engineer/blob/4e150176ec7c50c960d23e35bd3d2c5b82931528/src/reverse_api/prompts/engineer/system.md",
    "https://github.com/kalil0321/reverse-api-engineer/blob/4e150176ec7c50c960d23e35bd3d2c5b82931528/.github/workflows/ci.yml",
    "https://github.com/kalil0321/reverse-api-engineer/blob/4e150176ec7c50c960d23e35bd3d2c5b82931528/scripts/validation/README.md",
    "https://github.com/kalil0321/reverse-api-engineer/tree/4e150176ec7c50c960d23e35bd3d2c5b82931528/examples",
    "https://github.com/kalil0321/reverse-api-engineer/releases/tag/v0.14.0",
    "https://pypi.org/project/reverse-api-engineer/0.14.0/"
  ],
  "category": "agent-workflows",
  "description_en": "Python CLI that turns the HTTP traffic a website actually produces into a typed API client. A browser session, driven by the user through Playwright or by an AI agent through Playwright or Chrome DevTools MCP servers or Vercel's agent-browser CLI, is recorded to a HAR file; a coding agent run through the Claude Agent SDK, OpenCode, Cursor or GitHub Copilot then reads the capture and writes a client, README and usage example in one of ten languages. A separate collector mode gathers structured JSON/CSV data with web search and fetch.",
  "description_zh": "把网站实际产生的 HTTP 流量转换为带类型 API 客户端的 Python 命令行工具。浏览器会话可由用户通过 Playwright 操作，也可由 AI 智能体借助 Playwright 或 Chrome DevTools MCP 服务、或 Vercel 的 agent-browser 命令行来驱动，并记录为 HAR 文件；随后由经 Claude Agent SDK、OpenCode、Cursor 或 GitHub Copilot 运行的编码智能体读取该记录，以十种语言之一编写客户端、README 和用法示例。另有独立的 collector 模式，借助网页搜索与抓取收集 JSON/CSV 结构化数据。",
  "entry_url": "https://awesomerea.org/resources/reverse-api-engineer/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/reverse-api-engineer/",
  "evidence_url": "https://github.com/kalil0321/reverse-api-engineer/blob/4e150176ec7c50c960d23e35bd3d2c5b82931528/README.md",
  "group": "agents",
  "id": "reverse-api-engineer",
  "json_url": "https://awesomerea.org/resources/reverse-api-engineer/record.json",
  "kind": "integration",
  "markdown_url": "https://awesomerea.org/resources/reverse-api-engineer/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/reverse-api-engineer/index.md",
  "name": "Reverse API Engineer",
  "name_zh": "Reverse API Engineer 网站 API 客户端生成智能体",
  "record_type": "resource",
  "relationship": "independent-agent-integration",
  "requirements": [
    "Reviewed at main commit 4e15017 (2026-10-26). The latest release is v0.14.0, published on GitHub and PyPI on 2026-09-23; the changelog's unreleased section adds security dependency updates. pyproject marks the project beta and requires Python 3.11+, the README supports Linux, Apple Silicon macOS and 64-bit Windows because of its cryptography dependency, and CI runs ruff, mypy and pytest on Linux, macOS and Windows with Python 3.11 to 3.13.",
    "Agent mode launches its browser tooling through npx, so it needs Node.js; the chrome-mcp provider drives the user's real Chrome with existing sessions and cookies and needs Chrome 146+ and Node.js 20.19+. Manual mode needs the [manual] extra and a Playwright Chromium. Generation needs a model backend: the default SDK is the Claude Agent SDK with Sonnet 4.6, and the README asks for an API key for agent mode, while OpenCode starts with a free default model and can use locally installed Ollama models that support tool calling and a 64k+ context.",
    "The input is traffic from sites the user browses. The engineer prompt tells the model to hardcode every credential, cookie, token and session value found in the HAR, so captures and generated clients must be handled as secrets. The README warns that generated code runs locally and should be reviewed before it is executed, and that sites with aggressive bot detection may block capture; generated clients call undocumented internal endpoints that can change, and their use stays subject to each site's terms.",
    "The examples directory holds generated clients for public endpoints of Apple and Uber careers, Ashby job boards, AutoScout24 listings, IKEA's catalog and Mintlify's documentation assistant. An optional local check generates a client for a fixture website and verifies it against changed live responses. MIT license. Its RAE abbreviation stands for Reverse API Engineer."
  ],
  "requirements_zh": [
    "审阅对象为 main 分支提交 4e15017（2026-10-26）。最新版本为 v0.14.0，于 2026-09-23 同时发布在 GitHub 和 PyPI；更新日志的未发布部分新增了若干安全相关的依赖升级。pyproject 将项目标为 beta，要求 Python 3.11+；由于 cryptography 依赖的限制，README 只支持 Linux、Apple Silicon macOS 和 64 位 Windows。CI 在 Linux、macOS 和 Windows 上以 Python 3.11 至 3.13 运行 ruff、mypy 和 pytest。",
    "智能体模式通过 npx 启动浏览器工具，因此需要 Node.js；chrome-mcp 方式会驱动用户真实的 Chrome，沿用已有会话和 Cookie，需要 Chrome 146+ 和 Node.js 20.19+。手动模式需要安装 [manual] 扩展和 Playwright Chromium。生成代码需要模型后端：默认 SDK 为 Claude Agent SDK，默认模型为 Sonnet 4.6，README 说明智能体模式需要 API 密钥；OpenCode 默认使用一个免费模型，也可使用本地已安装、支持工具调用且上下文不少于 64k 的 Ollama 模型。",
    "输入是用户所浏览网站产生的流量。engineer 提示词要求模型把 HAR 中出现的所有凭据、Cookie、令牌和会话数据直接写入代码，因此抓包文件和生成的客户端都必须当作机密处理。README 提醒生成的代码在本地运行，执行前应先审阅，并指出反爬虫检测严格的网站可能阻止抓取；生成的客户端调用的是可能随时变化的未公开内部接口，使用时仍须遵守各网站的条款。",
    "examples 目录收录了针对 Apple 与 Uber 招聘页面、Ashby 职位看板、AutoScout24 车源列表、IKEA 商品目录和 Mintlify 文档助手公开接口生成的客户端。另有一项可选的本地检查：为一个测试网站生成客户端，并在服务器响应改变后验证其结果。采用 MIT 许可证。其缩写 RAE 指 Reverse API Engineer。"
  ],
  "targets": [
    "website"
  ],
  "url": "https://github.com/kalil0321/reverse-api-engineer",
  "verification": "source-reviewed",
  "verified_at": "2026-10-27"
}
