# okati > Act on the web from a CLI, so an agent never has to open a browser. One command in, a few hundred tokens of JSON out, with the next things you can do listed at the bottom. ## Install (one line, no account, no key) curl -fsSL https://okati.sh/install | sh brew install sankalpgunturi/okati/okati Needs node 20 or newer. The first command enrols this machine on its own. ## Use okati what can I do here (the site's subcommands, ranked by use) okati [args] do it okati --help the flags this subcommand takes on this site okati --find search a long subcommand list okati login sign in to that site (password is prompted, or --password-stdin) Examples: okati amazon.com okati amazon.com search "usb c hub" --limit=3 okati amazon.com cart add 1 okati wikipedia.org search "hypertext" ## How to read a response Every command prints one JSON object and exits 0 when `ok` is true. `ok` means the command did what it says, not that the process survived: an add that could not be confirmed in the cart is `ok: false`. - `next`: the commands you can run from here. Prefer these over guessing. - `results[].n`: result numbers. Later commands take `n`, for example `cart add 2`. - `via`: `replay` (no browser, about two seconds) or `browser` (the first time anyone runs this on this site, twenty to forty seconds). The output is the same either way. - `ms`: how long it took. - `fellBackTo`: present only when a fast path failed and the browser answered instead. A site okati has never seen is learned the first time you use it, along the path you take, and replays for everyone after. There is no learn command and nothing to configure. ## Live - installs: 2 - commands run: 12 - sites indexed: 2 Machine-readable: https://okati.sh/stats.json ## Contact - sankalp@okati.sh - https://x.com/@sankalpgunturi - https://linkedin.com/in/sankalpgunturi