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을 활용하여 리버스 엔지니어링 단계를 자동화합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트