@reloadapp/deepsearch
v0.1.0
Published
Command-line interface for the DeepSearch Developer API.
Maintainers
Readme
deepsearch
Command-line client for the DeepSearch Developer API. A single self-contained package — no runtime dependencies — that shares the same scopes, wallet metering, and sandbox behavior as the REST API.
npx @reloadapp/deepsearch search "Ada Lovelace" --sandboxInstall
npm install -g @reloadapp/deepsearch # then: deepsearch --help
# or run without installing:
npx @reloadapp/deepsearch --helpRequires Node.js ≥ 20.9.
From source (this monorepo)
cd sdks && npm install && npm run build
node cli/dist/index.js search "Ada Lovelace" --sandboxAuthentication
The CLI resolves your API key in this order (highest priority first):
--api-key dsk_...DEEPSEARCH_API_KEYenvironment variable~/.deepsearch/config.json(written bydeepsearch login)
Create a key at https://deepsearch.app/developers, then store it once:
deepsearch login # prompts for the key (hidden) and base URL
deepsearch login --api-key dsk_... --base-url https://deepsearch.appThe config file is written with 0600 permissions. deepsearch config get masks the key.
The base URL resolves the same way (--base-url › DEEPSEARCH_BASE_URL › config › https://deepsearch.app).
Commands
| Command | Description |
| --- | --- |
| search <query> | Find people by name, phone, email, or username |
| dossier <name> | Build or replay a public-footprint dossier |
| chat <name> <message...> | Ask a follow-up question about a person |
| jobs create <op> | Queue an async job (search, dossier, or chat) |
| jobs list | List recent async jobs |
| jobs get <id> | Fetch one job by id |
| jobs events <id> | Replay a job's stored SSE event stream |
| status | Show developer API availability (no key required) |
| login | Save an API key and base URL to config |
| config <get\|set\|path> | Inspect or edit stored config |
Common options
| Flag | Effect |
| --- | --- |
| --json | Print the raw JSON envelope instead of formatted output |
| --sandbox | Use deterministic, unmetered Ada Lovelace fixtures |
| --stream | Stream live SSE events (search, dossier, chat) |
| --api-key <key> | Override the API key for one call |
| --base-url <url> | Override the API base URL |
| -h, --help / -v, --version | Help / version |
Examples
# Name search, formatted
deepsearch search "Ada Lovelace" --sandbox
# Username search scoped to platforms, raw JSON
deepsearch search ada --type username --platforms linkedin,github --json
# Dossier, streaming progress as it scans
deepsearch dossier "Ada Lovelace" --stream
# Ask a question
deepsearch chat "Ada Lovelace" "Summarize the public sources" --sandbox
# Async job from a payload file, with idempotency
deepsearch jobs create dossier --input @job.json --idempotency-key demo-1
deepsearch jobs get job_123 --json
# Pipe a payload in
echo '{"query":"Grace Hopper","type":"name","format":"json"}' \
| deepsearch jobs create search --input -
# One-off key without storing anything
DEEPSEARCH_API_KEY=dsk_... deepsearch search "Grace Hopper"Output & exit codes
- Default output is human-formatted; usage/metering is printed to stderr so
--json-free output stays pipe-friendly. Add--jsonfor the full typed envelope on stdout. - Exit codes:
0success,1runtime/API error (aDeepSearchErrorprints status, code, and request id),2usage error (bad flags or missing arguments).
Use --sandbox while integrating: it requires a valid scoped key but returns deterministic
fixtures and never spends wallet credits.
