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.
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.
| 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 |
# Inside Claude Code
/plugin marketplace add ItamarZand88/CLI-Anything-WEB
/plugin install cli-anything-web
/reload-plugins/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.
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) |
# 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 nvidiaEvery 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)
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:
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.
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 |
| 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 |
| 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 |
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 |
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)
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.
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.
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 |
This project is licensed under the MIT License.
Built with Claude Code · Inspired by CLI-Anything · Request a CLI



