Metadata-Version: 2.4
Name: agentweb-cli
Version: 0.34.0
Summary: Turn websites into fast, structured commands for coding agents
Author: AgentWeb contributors
License-Expression: MIT
Project-URL: Homepage, https://github.com/AnayGarodia/agentweb
Project-URL: Documentation, https://github.com/AnayGarodia/agentweb#readme
Project-URL: Issues, https://github.com/AnayGarodia/agentweb/issues
Keywords: agents,cli,web,automation,mcp
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: WWW/HTTP
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: beautifulsoup4>=4.12
Requires-Dist: websocket-client>=1.8
Provides-Extra: impersonate
Requires-Dist: curl-cffi>=0.15; extra == "impersonate"
Provides-Extra: registry
Requires-Dist: cryptography>=45; extra == "registry"
Provides-Extra: all
Requires-Dist: curl-cffi>=0.15; extra == "all"
Requires-Dist: cryptography>=45; extra == "all"
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: curl-cffi>=0.15; extra == "dev"
Requires-Dist: cryptography>=45; extra == "dev"
Requires-Dist: pytest>=9; extra == "dev"
Requires-Dist: pytest-cov>=5; extra == "dev"
Requires-Dist: ruff>=0.12; extra == "dev"
Requires-Dist: mypy>=1.11; extra == "dev"
Dynamic: license-file

<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/AnayGarodia/agentweb/main/docs/assets/logo-dark.svg">
    <img alt="AgentWeb" width="280" src="https://raw.githubusercontent.com/AnayGarodia/agentweb/main/docs/assets/logo-light.svg">
  </picture>
</p>

<p align="center">
  <a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-blue.svg"></a>
  <a href="https://pypi.org/project/agentweb-cli/"><img alt="PyPI" src="https://img.shields.io/pypi/v/agentweb-cli.svg"></a>
</p>

**AgentWeb lets your coding agent read and act on real websites — GitHub,
Amazon, Spotify, Wikipedia, and more — with a plain command instead of
clicking around a browser page.**

Reads are the easy part; a search engine can do that. The reason to use
AgentWeb is the other half: it can add to a cart, post a comment, or follow
an artist on an account that's actually yours, and it tells you exactly
what it's about to do before it does it.

## Install

```bash
pipx install agentweb-cli   # or: pip install agentweb-cli
```

Want it wired into Claude Code or Codex automatically too? Use the install
script instead of pip:

```bash
curl -fsSL https://github.com/AnayGarodia/agentweb/releases/latest/download/install.sh | sh
```

Windows: `irm https://github.com/AnayGarodia/agentweb/releases/latest/download/install.ps1 | iex`,
or `pip install agentweb-cli` works there too. Details, opt-outs, and every
other agent host: [agent & MCP setup](docs/AGENT_HOSTS.md).

## Watch it act

<p align="center">
  <img alt="A terminal recording: AgentWeb signs in to Hacker News once, previews favoriting a post with --dry-run, confirms it with --confirm, independently re-reads the site to prove the favorite really took, then reverses it live." width="800" src="https://raw.githubusercontent.com/AnayGarodia/agentweb/main/docs/assets/demo-action.gif">
</p>

```bash
agentweb connect news.ycombinator.com                          # once: sign in, in a real browser window
agentweb hn favorite --item-id 8863 --dry-run                  # preview only, nothing changes yet
agentweb hn favorite --item-id 8863 --confirm                  # does it, then re-reads the site to prove it
agentweb hn favorite --item-id 8863 --confirm --enabled false  # undone, the same way
```

The login is a one-time step, and it's yours: a real browser window opens,
you sign in, and AgentWeb keeps only that site's session afterward — never
your password. Every command after that is typed, not clicked.

## Try a read yourself, no login needed

```bash
agentweb find --run "find the latest version of React on npm"
agentweb npm get-version --package react
```

The first line is a plain-language goal; `find --run` resolves it to the one
unambiguous read it names and executes it immediately, no login or guesswork
needed. The second line is the literal typed command underneath it — same
site, same answer, same real live JSON, reached the other way. Use whichever
fits: a goal when you don't know the command, the command directly once you
do.

## AgentWeb vs. a browser agent

A browser-driving agent gets a live, cookie-bearing browser and has to
re-read and re-guess the page on every single run. AgentWeb maps a site's
commands once, so your agent calls `hn favorite` directly instead of
finding and clicking a button, and it can't accidentally do anything else
on the page. Browser automation is still the right call for a site nobody
has mapped yet.

## What it can do

| Collection | Sites | Supports actions (not just reading) |
| --- | --- | --- |
| Developer | GitHub, npm, PyPI, MDN Web Docs, Read the Docs, Stack Overflow, Hacker News | GitHub, Stack Overflow, Hacker News |
| Shopping | Amazon, Best Buy, Walmart | Amazon |
| Music | Spotify | Spotify |
| Academic & research | arXiv, Hugging Face, Crossref | — |
| Finance & regulatory data | SEC EDGAR, World Bank, CoinGecko | — |
| India market & tax regulators | BSE, NSE, RBI, SEBI, IBBI, India Post, GST | — |
| Reference & lookup | Wikipedia, Open-Meteo, Open Library, Open Brewery DB, Nominatim, Federal Register | Wikipedia |

<!-- BEGIN GENERATED SITE SUMMARY -->30 sites today<!-- END GENERATED SITE SUMMARY -->. Full per-site operation list: [docs/SITES.md](docs/SITES.md).

## Where things stand

Coverage varies by site: some are fully mapped, others cover the common
tasks and say plainly what's left. Independent double-checking of every
write is being built next — today AgentWeb trusts a successful response
plus, where the adapter supports it, a live re-read like the one in the gif
above. A few sites also block automated traffic and need the browser-login
fallback in [security and trust](docs/SECURITY.md). Nothing here is hidden:
`agentweb sites` and `agentweb capabilities DOMAIN` show the real state of
what's installed on your machine, right now.

## Open source, closed certification

This repository — runtime, CLI, MCP server, and the full adapter catalog
above — is MIT-licensed: read it, fork it, submit an adapter for a new site.
What's closed is the toolchain that turns a working adapter into a
**certified** one (crawler, contract/evidence checks, release gates, registry
signing) — a contributed adapter is honestly labelled **community
(uncertified)** until that review signs it, and every interface (`agentweb
sites`, `agentweb describe`, and both MCP tools) says which one you have. See
[trust labels](docs/TRUST_LABELS.md) for the full mechanism, or
[build an adapter](docs/BUILDING_ADAPTERS.md) to contribute one.

## Learn more

[Docs](docs/README.md) · [Supported sites](docs/SITES.md) · [Agent & MCP setup](docs/AGENT_HOSTS.md) · [Contributing](CONTRIBUTING.md) · [Security](docs/SECURITY.md)
