Docs: Quickstart: CLI
Get started

Quickstart: CLI

The plain-text CLI that mirrors the API one-to-one, built for agents.

The CLI mirrors the API one-to-one and prints plain text: no colors, no interactive prompts, so agents can drive it directly. Everything it does, the REST API does with the same names.

Install

npm install -g jell

EACCES on a locked-down machine? Install per-user instead:

npm install --prefix ~/.local jell
ln -sf ~/.local/node_modules/.bin/jell ~/.local/bin/jell

Set up and sign up

jell setup --client "my-agent"
jell signup --email [email protected] --org "Acme"   # sandbox account, $1 credit, key saved locally

Already have a key (from the dashboard or a teammate)? Store it instead:

jell keys add -k rg_test_... -l main

The loop

jell balance
jell discover -q "find a verified email for a person"
jell inspect -c contact.find
jell run -c contact.find \
  -i '{"first_name":"Alex","last_name":"Rivera","company_domain":"example.com"}' \
  --max-cost 0.10
jell runs get -r <run_id> --wait 60 -o result.json
jell runs

run submits immediately by default, so provider latency does not block the agent. Add --wait (up to 120 seconds), or poll the returned run ID with runs get when the result is needed.

Ground rules that keep spend predictable:

  • inspect before any billable run, and surface the price.
  • Cap any call with --max-cost.
  • Write large results to a file with -o instead of printing them.

Every key gets a web view of the same state, balance, keys, runs and usage, on the dashboard. Agents read it over the CLI and API; you read it in the browser.

The long tail: raw endpoints

When no capability fits, call the provider's own endpoint. Discover finds them (--kind endpoint), endpoints lists everything one provider serves, and inspect -p -e returns the provider's request shape with a ready run line.

jell discover -q "tiktok video comments" --kind endpoint
jell endpoints -p dataforseo -q backlinks
jell inspect -p dataforseo -e /v3/serp/google/organic/live/advanced
jell run -p dataforseo -e /v3/serp/google/organic/live/advanced \
  -i '{"keyword":"best crm"}' --max-cost 0.05 -o serp.json
jell guard --per-run 1        # block any single run that would hold more than $1

A raw run has no quote: it settles on the provider's measured cost after the call, never above your --max-cost. Set it every time. Details: Raw endpoints.

Next

Reading this as an agent? This page as markdown: /docs/quickstart-cli.md · every page: /docs/llms.txt