kalil0321/reverse-api-engineer

The agent that turns websites into APIs!

Reverse API Engineer – 웹사이트를 즉시 사용 가능한 API 클라이언트로 변환

기능

  • 웹 페이지를 지정하고 원하는 작업을 입력합니다(예: 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 에이전트가 웹 검색과 페치를 결합하여 구조화된 데이터 (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는 웹사이트의 네트워크 트래픽을 캡처하여 대규모 언어 모델에 전달하고, 여러 인기 프로그래밍 언어로 즉시 사용 가능한 타입 지정 API 클라이언트를 생성하는 Python 기반 CLI입니다. 웹 스크래핑과 적절한 API 사용 사이의 간극을 메우고, 최신 LLM을 활용하여 리버스 엔지니어링 단계를 자동화합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트