---
title: "datawebot CLI (dtwb): ecommerce data extraction from a terminal"
url: https://www.datawebot.com/cli
description: "dtwb, the datawebot CLI: sign in by email, find a store's endpoints, run extraction Jobs and read the results as JSON, from a terminal, a script or any agent that can run commands."
author: datawebot team
---

Resources · CLI

# Store data from your terminal.

dtwb runs extraction Jobs from a terminal, a script or any agent that can run commands. It prints one JSON document on stdout, so its output pipes straight into the next step.

Install and sign in

```
npm install --global @datawebot/cli
dtwb login you@example.com
```

Commands

## Find an endpoint. Run it. Read the records.

Every command answers in JSON. Progress, recovery IDs and errors go to stderr, so stdout stays clean.

| Command | What it does |
| --- | --- |
| `dtwb login ` | Sign in by email approval and save a key. Also dtwb register. |
| `dtwb discover [query]` | Find endpoints across every store by store, domain or operation. --blueprint-id for one exact endpoint. |
| `dtwb extract ` | Run an endpoint on a URL, keyword or ASIN and wait for the first page of results. --async returns at once. |
| `dtwb status ` | A Job's status, read once. Never submits work. |
| `dtwb retrieve ` | One page of a Job's results; --wait until it finishes, --cursor for the next page. |
| `dtwb jobs` | Your Jobs, newest first. |
| `dtwb credits` | Your account and credits. |

First run

## One search page as JSON.

A keyword uses amazon.com; give a full URL for another marketplace. A Job that is interrupted keeps running on the server: `dtwb retrieve --wait` picks it up again.

Run

Terminal

```
dtwb discover amazon
dtwb extract amazon.search "coffee beans"
dtwb extract amazon.search_items "https://www.amazon.co.uk/s?k=coffee"
```

No install

Terminal

```
npx --yes --package=@datawebot/cli dtwb --help
```

Or let your agent drive it:

Give this to your agent

```
Use the datawebot CLI (dtwb) to search Amazon US for Nintendo Switch. Run dtwb --help first.
```

In scripts

## Exit codes a script can act on.

0 means success. 1 means an API, network or local failure, or a failed Job. 2 means bad input, or a Job that finished partly: read the JSON. 130 and 143 mean you interrupted it; the Job keeps running on the server.

[REST API](https://www.datawebot.com/api) · [Stores and their endpoints](https://www.datawebot.com/scraper) · [@datawebot/cli on npm ↗](https://www.npmjs.com/package/@datawebot/cli)

FAQ

## A few useful answers.

What does the CLI do today?

It runs extraction Jobs: find a store's endpoint, run it on a URL or keyword, and read the records. For product search across shops and every seller's price, use the MCP server or the REST API.

What do I need?

Node 22.12 or newer, and an email address to sign in. No card, no password.

Where is my key kept?

In ~/.datawebot/credentials, readable only by you, the same file an agent's setup uses. The CLI never prints it. On a server, set DATAWEBOT_API_KEY instead.

What does it cost?

The same credits as everywhere else: by default 5 credits per search or catalogue page and 1 per product page. Failed or empty Jobs are free. Every account starts with 200 free credits.
