Skip to content
Browse docs
esc
  • Try "webhook signature", "chunkSize" or "rate_limited".

Ecosystem

CLI

Scrape, map, crawl and get brands from your terminal, scripts or agent with the vermin command.

The vermin command line calls the same API as the SDKs and prints the same Markdown as the MCP server. It's built for scripts and agents: results go to stdout, everything else to stderr, and exit codes tell you what went wrong.

bash
npx @vermin/cli scrape https://example.com

Or install it globally (Node.js 18.3+):

bash
npm i -g @vermin/cli

Source: github.com/reshapify/vermin-cli (MIT).

Sign in#

Create a key on the API keys page, then:

bash
vermin login               # paste the key; input is hidden
echo "$KEY" | vermin login # or pipe it in
vermin whoami              # which key is in use, and from where

vermin login checks the key against the API (free) and saves it to ~/.config/vermin/config.json (%APPDATA%\vermin\config.json on Windows), readable only by you. In CI, set VERMIN_API_KEY instead; it takes precedence over the saved key.

Commands#

CommandWhat it doesCredits
vermin scrape <url>One page as Markdown. -f picks formats (markdown,html,links,chunks,screenshot,…), -o writes a file.1, browser included
vermin map <url>Every URL on a site, one per line. --search ranks them, --include/--exclude filter paths.3 per 10 fetches
vermin crawl <url>Crawls a site and streams each page. -o dir writes one file per page; --no-wait prints the crawl id and exits.1 per page
vermin crawl status <id>Progress and pages so far.free
vermin crawl cancel <id>Stops a crawl.free
vermin brand <domain>Logo, colours, fonts and socials.5, 1 cached

Failed pages cost 0 credits. vermin <command> --help lists every flag.

bash
vermin scrape https://docs.example.com/guide -o guide.md
vermin map https://docs.example.com --search "rate limits" --limit 10
vermin crawl https://docs.example.com --limit 200 --include "/guides/**" -o ./docs
vermin brand stripe.com --json | jq .data.colors

Output#

  • stdout: the result only. Markdown by default, or the full API response with --json.
  • stderr: credits used, request id and progress. -q silences it.
  • Crawls with --json print NDJSON: one {"type":"page","data":{…}} line per page, then {"type":"done","data":{…}}.
  • Errors with --json print {"success":false,"error":{"code":…,"message":…},"exit_code":…} on stdout.

Exit codes#

CodeMeaningWhat to do
0Success
1Unexpected errorRetry once; report it with the request id if it persists.
2Bad command lineCheck vermin <command> --help.
3No key, invalid key, or the key lacks the permissionvermin login, or ask an admin to change the key's permissions.
4Out of credits, spend cap reached, or the key's budget is used upTop up, raise the cap, or wait for the budget to reset.
5Rate limited or busyWait and retry.
6The page couldn't be readBlocked, unreachable, timed out or unsupported. Try --tier render.
7Not foundCheck the crawl id.

Agents#

Give an agent its own key with a credit budget and only the permissions it needs, set it as VERMIN_API_KEY, and let it call vermin like any other tool. If your agent speaks MCP, the MCP server exposes the same operations as tools.