Documentation

CLI Reference

seekapi-cli is the official command-line tool for the Seek API platform. Authenticate, browse the worker marketplace, and deploy workers — all without leaving the terminal.

# Install globally
npm  install -g seekapi-cli
pnpm add -g seekapi-cli
# Verify installation
seekapi-cli --version
seekapi-cli v0.1.0

First-time setup

After installing, log in once. Your API key is saved to ~/.seekapi/config.json (permissions 600) and used automatically for all subsequent commands.

seekapi-cli login
? Enter your API key: (input hidden)
✓ Saved to ~/.seekapi/config.json

# Or pass the key inline
seekapi-cli login --api-key sk_live_…

# Or use an environment variable (CI/CD)
export SEEKAPI_API_KEY=sk_live_…
seekapi-cli login   # picks up SEEKAPI_API_KEY automatically
In CI environments, set the SEEKAPI_API_KEY environment variable and run seekapi-cli login. The CLI reads the env var automatically — no interactive prompt needed.

Requirements

worker deploy — flags

All flags for the deploy command. Can be combined freely.

Flag Description
-p, --path <dir> Worker directory to deploy. Defaults to current directory.
--worker-id <id> Worker ID to deploy. Defaults to the worker_id field in worker.yaml.
--no-poll Trigger deployment and exit without waiting for completion.
--poll-interval <seconds> How often to poll deployment status. Default: 10 seconds.

Authentication

seekapi-cli login

Authenticate interactively. Prompts for your API key and saves it to ~/.seekapi/config.json (permissions 600).

$ seekapi-cli login
? Enter your API key: (input hidden)
✓ Saved to ~/.seekapi/config.json
seekapi-cli login --api-key YOUR_KEY

Authenticate non-interactively — useful for CI/CD pipelines.

$ seekapi-cli login --api-key sk_live_…
✓ Saved to ~/.seekapi/config.json
seekapi-cli login --api-key YOUR_KEY --base-url URL

Authenticate with a custom API base URL (self-hosted or staging environments).

$ seekapi-cli login --api-key sk_live_… --base-url https://api.staging.seek-api.com
✓ Saved to ~/.seekapi/config.json

Workers

seekapi-cli worker ls

List all available workers in the marketplace. Alias: seekapi-cli w ls.

$ seekapi-cli worker ls
ID                    CATEGORY   DESCRIPTION
google-maps-search    local      Search Google Maps for places
linkedin-profile      social     Scrape a LinkedIn public profile
instagram-posts       social     Latest posts from a public account

Deployment

seekapi-cli worker deploy

Deploy a worker from the current directory. Reads worker_id from worker.yaml. Zips the directory, uploads to S3 via a presigned URL, triggers the deploy, and polls until completion.

$ cd path/to/your/worker
$ seekapi-cli worker deploy
→ Zipping worker directory…
→ Uploading to S3…
→ Triggering deployment…
→ Polling… [===========] done
✓ Worker deployed successfully
seekapi-cli worker deploy --path ./my-worker --worker-id my-id

Deploy from a specific path and override the worker ID instead of reading worker.yaml.

$ seekapi-cli worker deploy --path ./my-worker --worker-id google-maps-enhanced
✓ Worker deployed successfully
seekapi-cli worker deploy --no-poll

Trigger a deployment and exit immediately without waiting for completion.

$ seekapi-cli worker deploy --no-poll
→ Deploy triggered. Run without --no-poll to watch progress.
seekapi-cli worker deploy --poll-interval 30

Deploy and poll for status every N seconds (default: 10). On failure, build logs are printed automatically.

$ seekapi-cli worker deploy --poll-interval 30
→ Polling every 30s…
✓ Worker deployed successfully

Config file

After seekapi-cli login, credentials are stored at:

# Contents of ~/.seekapi/config.json
{"}
  "apiKey":  "sk_live_…",
  "baseUrl": "https://api.seek-api.com"
}"}
Do not share this file or commit it to version control. Add ~/.seekapi/ to your .gitignore if needed.

Full workflow example

A complete end-to-end workflow: log in, browse the marketplace, write a worker, then deploy it.

# 1. Install and log in
npm install -g seekapi-cli
seekapi-cli login --api-key sk_live_…

# 2. Browse available workers
seekapi-cli worker ls
# ID                    CATEGORY   DESCRIPTION
# google-maps-search    local      Search Google Maps for places
# linkedin-profile      social     Scrape a LinkedIn public profile

# 3. Navigate to your worker directory
cd path/to/my-worker

# 4. Deploy (reads worker_id from worker.yaml)
seekapi-cli worker deploy
# → Zipping worker directory…
# → Uploading to S3…
# → Triggering deployment…
# → Polling… [===========] done
# ✓ Worker deployed successfully

# 5. Deploy with custom options
seekapi-cli worker deploy --path ./another-worker --worker-id my-worker-v2 --poll-interval 30

Keep reading