form2api
/install form2api
Form2API
All you need to do: send me the form URL, then submit the form once manually. I'll handle the rest.
What it does:
- Injects a network interceptor into the page to capture real API requests on form submission
- Analyzes the request structure, annotating which fields are user input vs fixed values vs auto-generated
- Generates complete API documentation with curl and Python examples
- Enables batch/automated operations without manual form filling
Typical use cases:
- Internal system forms are tedious — you want to create data in bulk via script
- You need to automate a workflow but there's no official API documentation
- You want to understand what APIs a form is actually calling under the hood
How to trigger: Send me the form page URL and say something like "reverse this form" / "find the API for this form" / "I want to automate this form".
Workflow (Agent execution steps)
Step 1: Inject interceptor
After opening the target page, inject the interceptor script via the browser tool's evaluate action:
Read script content from:
\x3Cskill_dir>/scripts/inject_interceptor.js
Then execute it via browser(action=act) evaluate to inject into the page.
On success returns { status: 'injected' }. Returns already_active if already injected.
Step 2: Prompt user to submit the form
Tell the user:
"Interceptor is ready. Please fill out and submit the form normally in the browser, then let me know when done."
Step 3: Read captured results
After user submits, run evaluate to read captured requests:
JSON.stringify(window.__capturedRequests)
Save the result to /tmp/form_api_raw.json.
Step 4: Analyze requests
python3 \x3Cskill_dir>/scripts/analyze_requests.py /tmp/form_api_raw.json
Outputs a ranked list of candidate API requests. Structured result saved to /tmp/form_api_analysis.json.
Step 5: Extract cookies
COOKIE=$(python3 \x3Cskill_dir>/scripts/extract_cookies.py \x3Ctarget_url>)
echo $COOKIE
Cookies are auto-cached in /tmp/form_api_cookies/ for 1 hour. Repeated calls reuse the cache.
Step 6: Generate API documentation
Based on the analysis, using references/output_template.md as reference, generate complete API docs including:
- Endpoint info (URL, method, content-type)
- Request parameter table (user input / fixed value / system-generated)
- Cookie extraction command
- curl and Python call examples
Scripts
| Script | Purpose |
|---|---|
scripts/inject_interceptor.js |
Injected into page to hook fetch/XHR |
scripts/extract_cookies.py |
Standardized cookie extraction with caching |
scripts/analyze_requests.py |
Filter and annotate captured requests |
Notes
- Browser requirement: The target page must already be open and logged in within the current browser session
- Interceptor lifecycle: Interceptor is cleared on page refresh — re-inject if needed
- Multiple submissions:
window.__capturedRequestsaccumulates across submissions; analysis picks the most relevant batch - Cookie expiry: If API returns 401/403, re-extract with
--forceflag - Output format reference:
references/output_template.md
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install form2api - After installation, invoke the skill by name or use
/form2api - Provide required inputs per the skill's parameter spec and get structured output
What is form2api?
Automatically intercept and analyze login-required form submissions to generate reusable API docs and call code for automation and bulk operations. It is an AI Agent Skill for Claude Code / OpenClaw, with 238 downloads so far.
How do I install form2api?
Run "/install form2api" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is form2api free?
Yes, form2api is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does form2api support?
form2api is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created form2api?
It is built and maintained by longway-code (@longway-code); the current version is v1.0.0.