Skip to main content
The Nimble CLI lets you run extractions, searches, crawls, and agents directly from your terminal — no code required.

Installation

The CLI requires Go 1.22+.
go install 'github.com/Nimbleway/nimble-cli/cmd/nimble@latest'
The binary installs to $HOME/go/bin. Add it to your PATH if needed:
export PATH="$PATH:$(go env GOPATH)/bin"
Verify the installation:
nimble --version

Authentication

Set your API key as an environment variable:
export NIMBLE_API_KEY="your-api-key"
Get your API key from Account Settings.

Command Structure

All commands follow a resource-based pattern:
nimble [resource] <command> [flags...]
Run nimble --help to list all resources, or nimble [resource] --help for resource-specific usage.

Core Commands

Extract

Extract clean content from any URL:
nimble extract --url "https://www.example.com"
With JavaScript rendering and geo-targeting:
nimble extract \
  --url "https://www.example.com" \
  --render true \
  --country US
Perform a real-time web search:
nimble search --query "best web scraping tools" --country US

Map

Discover all URLs in a domain:
nimble map --url "https://www.example.com" --sitemap only

Crawl

Crawl an entire website:
nimble crawl run --url "https://www.example.com" --limit 100

Agents

Run a pre-built agent:
nimble agent run --agent amazon_pdp --params '{"asin": "B08N5WRWNW"}'

Output Formats

Control response formatting with the --format flag:
FormatDescription
autoAutomatic (default)
prettyPretty-printed JSON
jsonCompact JSON
jsonlJSON Lines (one object per line)
yamlYAML output
rawRaw API response body
exploreInteractive explorer view
nimble extract --url "https://www.example.com" --format pretty

Transforming Output

Use --transform with GJSON syntax to extract specific fields:
# Extract just the task_id
nimble extract --url "https://www.example.com" --transform "task_id"

# Extract a nested field
nimble extract --url "https://www.example.com" --transform "data.html"

File Arguments

Pass file contents as argument values using @filename syntax:
# Pass a JSON schema file
nimble extract --url "https://www.example.com" --parsing-schema @schema.json

# Pass a file inside a JSON structure
nimble extract --options '{"parsing_schema": "@schema.json"}'
Use @file://filename for plain text or @data://filename for base64-encoded content.

Global Flags

FlagDescription
--helpShow help for any command
--debugEnable debug logging with full HTTP details
--version, -vDisplay the CLI version
--base-urlOverride the API base URL
--formatSet output format
--format-errorSet error output format
--transformTransform output using GJSON syntax
--transform-errorTransform error output using GJSON syntax

Debug Mode

Enable --debug to inspect the full HTTP request and response — useful for troubleshooting:
nimble extract --url "https://www.example.com" --debug

Next Steps