Chocodata
terminal

npm - macOS / Linux / Windows

CLI

CLI for one-off scrapes, scripting, and CI pipelines. Outputs JSON or NDJSON, so it pipes straight into jq or a warehouse loader.

Quick start

1. Install

# macOS, Linux and Windows
npm install -g chocodata-cli

# or run it without installing
npx chocodata-cli amazon product --query 0143127748

2. Authenticate

# Stores the key in ~/.chocodata/config.json
chocodata login asa_live_YOUR_KEY

# Or set CHOCODATA_API_KEY in your env
export CHOCODATA_API_KEY=asa_live_...

3. Scrape your first product

chocodata amazon product --query 0143127748

# Compact, one JSON object per line
chocodata amazon product --query 0143127748 --ndjson

# A different marketplace
chocodata amazon product --query 0143127748 --domain de

How-to

Run a search and pipe to jq

chocodata bing search --q "wireless earbuds" --count 10 --ndjson | jq -r '.organic_results[].url'

Bulk-scrape IDs from a file

# asins.txt: one ASIN per line
cat asins.txt | chocodata amazon product --stdin-param query --ndjson > products.ndjson

# Straight into jq
cat asins.txt | chocodata amazon product --stdin-param query --ndjson   | jq -r '[.asin, .title, .price] | @csv'

CI pipeline (GitHub Actions)

# .github/workflows/scrape.yml
name: Daily price scrape
on:
  schedule:
    - cron: "0 6 * * *"

jobs:
  scrape:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm install -g chocodata-cli
      - run: cat asins.txt | chocodata amazon product --stdin-param query --ndjson > prices-$(date +%F).ndjson
        env:
          CHOCODATA_API_KEY: ${{ secrets.CHOCODATA_API_KEY }}
      - uses: actions/upload-artifact@v4
        with:
          path: prices-*.ndjson

Available commands

chocodata <target> <resource> [--param value]   # any of 499 endpoints
chocodata login <api-key>                       # store a key
chocodata whoami                                # which key is in use, masked
chocodata --help                                # usage and examples

# flags
--ndjson                 one compact JSON object per line
--stdin-param <name>     read values from stdin into that parameter
--debug                  log every HTTP call to stderr

Why use the CLI?

One command, any endpoint

Every one of the 499 endpoints is reachable as chocodata <target> <resource>, with that endpoint's own parameters as flags.

Pipe-friendly

Pretty JSON by default, or --ndjson for one object per line. Errors go to stderr, so a partial failure still leaves a clean stream.

Built for cron and CI

Reads CHOCODATA_API_KEY from env and exits non-zero on failure, so CI runners detect it.

Batch from a file

--stdin-param reads values one per line and writes each result as it completes, so you can pipe into a database or queue without buffering the whole run.

Official resources

Pricing

Same rate across every integration. Monthly plans from $19 or pay-as-you-go at $0.90 per 1,000 successful requests. 1,000 free on signup.

Free

$0

Forever free on signup

  • check_circle1,000 requests (5,000 credits), one-time
  • check_circle10 concurrent requests
  • check_circleAll 237 targets
  • check_circleFull dashboard + analytics
  • check_circleTop-up at $0.90 / 1k
  • check_circleCommunity support
Start free
Most popular

Vibe

$19 / month

$0.70 / 1k effective

  • check_circle27,000 requests / month (135,000 credits)
  • check_circle30 concurrent requests
  • check_circleAll 237 targets + content-language
  • check_circleCountry-matched residential IPs
  • check_circlePer-API-key usage tracking
  • check_circleTop-up at $0.90 / 1k
  • check_circleEmail support (1 business day)
Get Vibe

Pro

$49 / month

$0.60 / 1k effective

  • check_circle82,000 requests / month (410,000 credits)
  • check_circle50 concurrent requests
  • check_circlePriority routing queue
  • check_circleCountry-matched residential IPs
  • check_circleTeam seats (up to 5)
  • check_circleTop-up at $0.90 / 1k
  • check_circleEmail + chat support
Get Pro

Custom

$100-$2k / month

Flat $0.50 / 1k effective at every level

  • check_circle200k - 4M+ requests / month
  • check_circle100-500+ concurrent requests
  • check_circlePriority queue (highest)
  • check_circlePremium proxy pool + SLA on request
  • check_circleUnlimited team seats
  • check_circleWire / invoice / annual PO
  • check_circleDedicated Slack channel
Pick Custom level

Pay-as-you-go top-up

$0.90 / 1,000 successful requests

Available on every plan including Free. Top up any time when included credits run out. Only 2xx responses charged. Balance never expires.

Install the CLI

1,000 free requests on signup. No credit card required.