Turn any website into a production-grade CLI — automatically.
Quick Start • Examples • How It Works • Protocols • Registry • Roadmap • Contributing
CLI-Anything-Web is a Claude Code plugin that generates production-grade Python CLIs for any web application by capturing its live HTTP traffic. Point it at a URL, and get a fully working CLI on your PATH — with auth, REPL mode, --json output, and tests.
[!WARNING] Experimental Project — Use Responsibly
This project uses undocumented web APIs reverse-engineered from live HTTP traffic. These APIs can change without notice.
- Not affiliated with any website — This is an independent open-source project
- APIs may break — Websites can change their internal endpoints, HTML structure, or add protections at any time
- Respect rate limits — Generated CLIs include exponential backoff, but heavy usage may be throttled
- For personal use — Best suited for prototyping, automation, research, and personal productivity
Generated CLIs interact with real production services. Use them responsibly and in accordance with each website's terms of service.
💡 The Idea
Most web apps don't have public APIs. CLI-Anything-Web changes that:
No API docs needed. No reverse-engineering by hand. Just point and generate.
🚀 Quick Start
Prerequisites
| Requirement | Version | Why |
|---|---|---|
| Claude Code | With plugin support | Runs the generation pipeline |
| Node.js | 18+ | For playwright traffic capture |
| Python | 3.10+ | Generated CLIs are Python |
Install the Plugin
# Inside Claude Code
/plugin marketplace add ItamarZand88/CLI-Anything-WEB
/plugin install cli-anything-web
/reload-pluginsGenerate Your First CLI
/cli-anything-web https://your-favorite-website.comThe agent opens a browser, asks you to log in if needed, captures traffic, and generates a complete CLI. That's it.
📦 Examples
20 real CLIs generated by the plugin — shipped as reference implementations:
| CLI | Website | Protocol | Auth | Skill | Description |
|---|---|---|---|---|---|
cli-web-futbin | FUTBIN | HTML + JSON API | None | 📖 Skill | EA FC player database — search, compare, prices, market analysis, arbitrage, trading signals |
cli-web-notebooklm | Google NotebookLM | batchexecute RPC | Google SSO | 📖 Skill | Notebooks, sources, chat, 9 artifact types (audio, video, slides, quiz, mindmap) |
cli-web-gh-trending | GitHub Trending | HTML scraping | None | 📖 Skill | Trending repos & developers with language/time filters |
cli-web-producthunt | Product Hunt | Next.js RSC flight (curl_cffi) | None | 📖 Skill | Today's launches, leaderboards, product details |
cli-web-unsplash | Unsplash | REST JSON (camoufox browser) | None | 📖 Skill | Photo search, download, topics, collections, profiles |
cli-web-booking | Booking.com | GraphQL + HTML (curl_cffi) | WAF cookies | 📖 Skill | Hotel search, property details, destination resolution |
cli-web-stitch | Google Stitch | batchexecute RPC | Google SSO | 📖 Skill | AI UI design — generate mobile/web app mockups from text prompts |
cli-web-pexels | Pexels | SSR + NEXT_DATA (curl_cffi) | None | 📖 Skill | Free stock photos & videos — search, download, collections, profiles |
cli-web-reddit | REST JSON API (curl_cffi) | Optional (OAuth) | 📖 Skill | Feeds, subreddits, search, vote, comment, submit, save, inbox | |
cli-web-gai | Google AI Mode | Browser-rendered (Playwright) | None | 📖 Skill | AI-powered search with source references |
cli-web-youtube | YouTube | InnerTube REST API (httpx) | None | 📖 Skill | Search videos, video details, trending, channel info |
cli-web-hackernews | Hacker News | REST API — Firebase + Algolia (httpx) | Cookie (optional) | 📖 Skill | Stories, search, comments, users, upvote, submit, comment, favorite |
cli-web-codewiki | Google Code Wiki | batchexecute RPC | None | 📖 Skill | AI-generated repo docs, wiki sections, Gemini chat, download as .md |
cli-web-chatgpt | ChatGPT | REST API + Camoufox browser | Browser (OpenAI SSO) | 📖 Skill | Ask questions, generate/download images, conversations, models |
cli-web-airbnb | Airbnb | SSR HTML + niobeClientData (curl_cffi) | None | 📖 Skill | Search stays, listing details, amenities, host info, autocomplete locations |
cli-web-amazon | amazon.com | SSR HTML + REST JSON (curl_cffi) | None | 📖 Skill | Search products, view details, browse bestsellers |
cli-web-tripadvisor | TripAdvisor | SSR HTML + JSON-LD (curl_cffi) | None | 📖 Skill | Search locations, hotels, restaurants, and attractions |
cli-web-linkedin | GraphQL + Voyager REST (curl_cffi) | Cookie | 📖 Skill | Search, feed, profiles, jobs, posts, reactions, comments, network, messaging (26 cmds) | |
cli-web-capitoltrades | Capitol Trades | SSR HTML + BFF JSON (curl_cffi) | None | 📖 Skill | US congressional stock trades (STOCK Act) — trades, politicians, issuers, price history |
cli-web-worldcup | ESPN / FIFA World Cup 2026 | REST JSON (ESPN + The Odds API) | None | 📖 Skill | FIFA World Cup 2026 — fixtures, nations, squads, group standings, and bookmaker odds (read-only) |
Try them yourself
# Install the entire fleet (every CLI) in one command:
pip install cli-anything-web # or: uv tool install cli-anything-web
# ...or install only the CLIs you want, by name (see the table above):
pip install cli-web-futbin
uvx cli-web-futbin --help # or run it once, no install, via uvxWorking from a clone instead? Install a CLI editable with
pip install -e <app>/agent-harness(see QUICKSTART).
# Required browsers
playwright install chromium # for CLIs that require browser-based auth or rendering
python -m camoufox fetch # for CLIs that use stealth browser (anti-bot bypass)GitHub Trending — no auth, great first test
pip install cli-web-gh-trending
cli-web-gh-trending repos list --language python --since weekly --jsonFUTBIN — search EA FC players
pip install cli-web-futbin
cli-web-futbin players search --name "Messi" --jsonNotebookLM — requires Google login
pip install cli-web-notebooklm
cli-web-notebooklm auth login
cli-web-notebooklm notebooks list --jsonProduct Hunt — no auth, bypasses Cloudflare
pip install cli-web-producthunt
cli-web-producthunt posts list --jsonUnsplash — photo search
pip install cli-web-unsplash
cli-web-unsplash photos search "mountains" --jsonBooking.com — hotel search
pip install cli-web-booking
cli-web-booking auth login # required — fetches WAF browser cookies
cli-web-booking search find "Paris" --jsonGoogle Stitch — requires Google SSO login
pip install cli-web-stitch
cli-web-stitch auth login
cli-web-stitch projects list --jsonPexels — free stock photos & videos
pip install cli-web-pexels
cli-web-pexels photos search "mountains" --jsonReddit — feeds, search, vote, comment, submit
pip install cli-web-reddit
cli-web-reddit auth login # optional — required for voting, commenting, submitting
cli-web-reddit feed hot --limit 5 --jsonHacker News — stories, search, upvote, submit
pip install cli-web-hackernews
cli-web-hackernews auth login # optional — required for upvoting, submitting, commenting
cli-web-hackernews stories top -n 5 --jsonGoogle Code Wiki — AI-generated repo docs + Gemini chat
pip install cli-web-codewiki
cli-web-codewiki wiki sections excalidraw/excalidraw --json
cli-web-codewiki chat ask "How does rendering work?" --repo excalidraw/excalidraw --jsonAirbnb — search stays, get listing details
pip install cli-web-airbnb
cli-web-airbnb search stays "London, UK" --checkin 2024-06-01 --checkout 2024-06-05 --adults 2 --json
cli-web-airbnb listings get 770993223449115417 --json
cli-web-airbnb autocomplete locations "New Yor" --jsonTripAdvisor — search hotels, restaurants, and attractions (no auth, DataDome bypass)
pip install cli-web-tripadvisor
cli-web-tripadvisor hotels search "Paris" --json
cli-web-tripadvisor attractions search "London" --jsonChatGPT — ask questions, generate images
pip install cli-web-chatgpt
cli-web-chatgpt auth login # optional — required for image generation & conversations
cli-web-chatgpt chat ask "Explain quantum computing in one sentence" --json
cli-web-chatgpt chat image "A sunset over mountains" --output sunset.png --jsonGoogle AI Mode — AI-powered search (requires Playwright browser)
pip install cli-web-gai
playwright install chromium
cli-web-gai search ask "What is quantum computing" --jsonAmazon — search products, bestsellers, autocomplete (no auth required)
pip install cli-web-amazon
# Search Amazon products
cli-web-amazon search "laptop" --json
# View product details
cli-web-amazon product get B0GRZ78683 --json
# Browse Best Sellers
cli-web-amazon bestsellers electronics --jsonLinkedIn — search people/jobs/companies, feed, profiles, post, network, messaging (auth required)
pip install cli-web-linkedin
cli-web-linkedin auth login # required — browser-based LinkedIn SSO
# Search people and jobs
cli-web-linkedin search people "python developer" --limit 5 --json
cli-web-linkedin jobs search "software engineer" --json
# View feed, profile, connections
cli-web-linkedin feed --count 5 --json
cli-web-linkedin profile me --json
cli-web-linkedin network connections --limit 10 --jsonCapitol Trades — US congressional stock trades (no auth, CloudFront bypass)
pip install cli-web-capitoltrades
# Latest trades across Congress
cli-web-capitoltrades --json trades list --page-size 20
# Trades for a specific ticker
cli-web-capitoltrades --json trades by-ticker NVDA
# Top politicians by trade volume
cli-web-capitoltrades --json politicians top --by trades --page-size 10
# Rich issuer data with 1-year price history
cli-web-capitoltrades --json issuers search nvidiaAgent-Native: Claude uses the CLIs automatically
Every generated CLI comes with a skill file (.claude/skills/<app>-cli/SKILL.md) that Claude Code loads automatically. The skill tells Claude exactly how to use the CLI — every command, every option, every output format. When you ask Claude a question like "find me a hotel in Paris", it reads the booking skill and runs cli-web-booking search find "Paris" on its own.
Each skill includes:
- All available commands with arguments and options
- Output format for each command
- Auth requirements and setup instructions
- Common agent patterns (piping, filtering, chaining commands)
MCP Server Mode: every CLI is also an MCP server
Every generated CLI doubles as a Model Context Protocol server — run
cli-web-<app> mcp-serve and any MCP client (Claude Desktop, IDEs, other
agents) gets every command as a typed MCP tool, with input schemas derived
from the CLI's own options and the standard --json envelope as tool output:
// e.g. in an MCP client config
{
"mcpServers": {
"hackernews": { "command": "cli-web-hackernews", "args": ["mcp-serve"] }
}
}No extra dependencies, no separate server code — the adapter walks the Click command tree at startup, so new commands automatically become new tools.
Every CLI also ships a doctor command (cli-web-<app> doctor [--json])
that diagnoses the local setup — install, Python version, auth file and its
permissions, optional dependencies — before you ever need to open an issue.
⚙️ How It Works
The plugin runs a 4-phase pipeline, fully automated by Claude:
| Phase | What Happens |
|---|---|
| 1. Capture | Opens browser via Playwright, records all HTTP traffic while you use the site |
| 2. Analyze & Generate | Identifies protocol (REST/GraphQL/RPC/HTML), maps endpoints, generates full Python CLI |
| 3. Test | Writes unit tests (mocked) + E2E tests (live API) + subprocess tests |
| 4. Publish | pip install -e . → on your PATH → smoke tested → Claude skill generated |
🔧 What Every Generated CLI Includes
| Feature | Details |
|---|---|
| Click commands | cli-web-<app> <group> <command> [options] |
| Interactive REPL | Run with no args — history, autocomplete, branded prompt |
--json output | Machine-readable on every command — pipe into jq, scripts, or agents |
| Auth management | Python Playwright browser login → cookie extraction → auth.json |
| Error handling | Typed exceptions → structured JSON errors: {"error": true, "code": "AUTH_EXPIRED"} |
| Tests | Unit (mocked HTTP) + E2E (live API) + subprocess (_resolve_cli) |
| Installable | pip install -e . puts it on your PATH immediately |
📋 Commands
| Command | Description |
|---|---|
/cli-anything-web <url> | Full pipeline — capture, analyze, generate, publish |
/cli-anything-web:record <url> | Capture traffic only (for exploration) |
/cli-anything-web:refine <path> | Add more commands to an existing CLI |
/cli-anything-web:test <path> | Run tests and update TEST.md |
/cli-anything-web:validate <path> | Validate against 75-check quality standards |
/cli-anything-web:list | List all generated CLIs |
🌐 Supported Protocols
The plugin auto-detects and handles multiple web architectures:
| Protocol | Example Sites | How It's Handled |
|---|---|---|
| REST / JSON API | Monday.com, Dev.to | httpx client, JSON response parsing |
| Server-rendered HTML | GitHub, FUTBIN, Hacker News | BeautifulSoup4 + CSS selectors |
| Anti-bot (curl_cffi) | Product Hunt, Reddit, Amazon | curl_cffi with Chrome TLS impersonation |
| JS proof-of-work challenge | Unsplash, ChatGPT | camoufox (stealth headless Firefox) solves the challenge |
| GraphQL | Shopify, GitHub API v4 | Query abstraction into CLI commands |
| GraphQL + AWS WAF | Booking.com | curl_cffi + WAF cookie bypass |
| Google batchexecute | NotebookLM, Google Docs, Keep | Custom RPC encoder/decoder |
| Browser-rendered (Playwright) | Google AI Mode | Headless browser rendering + content extraction |
🏗️ Repository Structure
CLI-Anything-WEB/
├── cli-anything-web-plugin/ # 🔌 The installable Claude Code plugin
│ ├── commands/ # Slash command definitions
│ ├── skills/ # 4-phase pipeline skills
│ │ ├── capture/ # Phase 1: browser + traffic capture
│ │ ├── methodology/ # Phase 2: analysis + code generation
│ │ ├── testing/ # Phase 3: test generation
│ │ └── standards/ # Phase 4: validation + publishing
│ ├── scripts/ # Shared utilities
│ └── HARNESS.md # Complete methodology SOP
│
├── stitch/ # 🎨 Google Stitch (batchexecute RPC)
├── reddit/ # 💬 Reddit (REST JSON API)
├── booking/ # 🏨 Booking.com (GraphQL + AWS WAF)
├── gai/ # 🤖 Google AI Mode (Browser-rendered)
├── notebooklm/ # 📓 NotebookLM (Google batchexecute)
├── pexels/ # 📸 Pexels (SSR + __NEXT_DATA__)
├── unsplash/ # 📷 Unsplash (REST JSON + camoufox)
├── producthunt/ # 🚀 Product Hunt (Next.js RSC + curl_cffi)
├── futbin/ # 🎮 FUTBIN (HTML + JSON)
├── gh-trending/ # 📈 GitHub Trending (HTML scraping)
├── youtube/ # 🎬 YouTube (InnerTube REST API)
├── hackernews/ # 📰 Hacker News (Firebase + Algolia API)
├── codewiki/ # 📚 Google Code Wiki (batchexecute RPC)
├── chatgpt/ # 🤖 ChatGPT (REST API + Camoufox)
├── airbnb/ # 🏠 Airbnb (SSR HTML + niobeClientData)
├── amazon/ # 🛒 Amazon (SSR HTML + REST JSON)
├── tripadvisor/ # 🌍 TripAdvisor (SSR HTML + JSON-LD, curl_cffi)
├── linkedin/ # 💼 LinkedIn (GraphQL + Voyager REST, curl_cffi)
└── capitoltrades/ # 🏛️ Capitol Trades (SSR HTML + BFF JSON, curl_cffi)
🔗 Inspiration
This project is directly inspired by CLI-Anything by HKUDS — a Claude Code plugin that makes desktop software (GIMP, Blender, LibreOffice, OBS Studio) agent-native by analyzing source code and generating CLI wrappers.
CLI-Anything-Web extends the same vision to the web — where there's no source code to analyze, only live HTTP traffic to capture.
| CLI-Anything | CLI-Anything-Web | |
|---|---|---|
| Target | Desktop apps (GIMP, Blender, OBS) | Web apps (NotebookLM, Booking.com, any website) |
| Input | Source code, GUI APIs, plugin systems | Live HTTP traffic from browser |
| Analysis | Static code analysis + API mapping | Network traffic capture + protocol detection |
| Auth | N/A (local software) | Browser login, cookies, WAF bypass, API keys |
| Output | Click CLI + REPL + --json + tests | Click CLI + REPL + --json + tests |
Together they cover the full spectrum: CLI-Anything for desktop, CLI-Anything-Web for the web.
🗺️ What's Next
We're actively building more CLIs and improving the plugin:
- 🎯 More CLIs — Jira, Notion, Monday.com, Spotify
- 🎵 Content generation — Suno, ElevenLabs, Midjourney
- 🧠 Smarter analysis — Auto-detect auth flows, pagination, WebSocket streams
- 🔄 CI/CD integration — Run CLIs in GitHub Actions with env-var auth
- 📦 Community registry — Share and install CLIs built by other users
Want a specific website? Open an issue with the URL — we'll prioritize the most requested ones.
🤝 Contributing
We'd love your help! See CONTRIBUTING.md for the full guide.
The quickest ways to contribute:
| What | How |
|---|---|
| Build a new CLI | Run /cli-anything-web <url> on any website, submit a PR |
| Improve the plugin | Add patterns to cli-anything-web-plugin/skills/ |
| Report bugs | Open an issue with --json output |
| Fix a broken CLI | Website changed? Update the scraper/client |
📄 License
This project is licensed under the MIT License.
Built with Claude Code · Inspired by CLI-Anything · Request a CLI