datawebot-cli
Agent-friendly datawebot CLI built with Commander.js (iethes/datawebot#93)
Install / Use
claude mcp add datawebot -- npx -y github:datawebot/datawebot-cliIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of datawebot-cli
datawebot-cli scores 78/100 on our quality scale, 3658th of 4,587 Development & Engineering skills we index.
Its MCP Server is 9.6 KB long, well organised into 15 sections with 6 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 3 days ago, so datawebot-cli is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 87/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
datawebot-cli compared with similar skills
All 4 of these similar skills score higher than datawebot-cli; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| datawebot-cli (this skill)by datawebot | 78 | 3 | 3d ago | MCP Server |
| taste-skillby Leonxlnx | 100 | 102.1k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 101.9k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 77.7k | today | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 65.0k | 4d ago | CLAUDE.md |
Frequently asked questions
- How do I install datawebot-cli?
- Run
claude mcp add datawebot -- npx -y github:datawebot/datawebot-cli. The install tabs above show the steps for each supported agent. - Which AI agents does datawebot-cli work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is datawebot-cli safe to use?
- It is MIT-licensed and scores 87/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is datawebot-cli still maintained?
- The repository was last updated 3 days ago, so datawebot-cli is actively maintained.
Skill content
View source on GitHubdatawebot CLI
Agent-friendly API wrapper for datawebot, built with Commander.js. Executable: dtwb.
Initial 0.x preview. Node 22.12+ is required. No build step. Source availability and npm installation do not grant access to restricted blueprints.
Install
Published on npm: @datawebot/cli.
npm install --global @datawebot/cli@0.1.2
dtwb --version
dtwb --help
Or run without a global install:
npx --yes --package=@datawebot/cli@0.1.2 dtwb --help
Develop / install locally
npm ci
npm test
npm link
# Or without a global link:
node bin/dtwb.js --help
Sign in and discover
dtwb register you@example.com
dtwb discover
dtwb discover amazon
dtwb discover based.com
dtwb man --blueprint-id amazon.product_details
dtwb discover --page-size 30 --cursor 'NEXT_CURSOR_FROM_DISCOVERY'
dtwb credits
dtwb jobs
dtwb jobs --page-size 25 --cursor 'NEXT_CURSOR_FROM_PREVIOUS_JOBS_PAGE'
jobs lists this account’s active and past Jobs, newest first, returning one
unchanged API page. Use its next_cursor to continue; the CLI does not filter
statuses, combine pages, or substitute machine-local history. Listing uses
GET /v1/jobs with your customer key. Availability and access are determined by
the API; the CLI does not bypass permissions or maintenance.
Discovery searches all public stores through GET /v1/job-blueprints?q=...;
there is no separate Shopify catalog to select. It returns blueprints, total
and next_cursor, with full input/output contracts, current price and configured
availability. With no query it returns the first page (30 contracts by default,
maximum 100); keep the same query when following next_cursor. Use
--blueprint-id alone for one exact contract. IDs are opaque: use the ID returned
by discovery rather than constructing it. Registration does not prove a store's
extraction has passed production acceptance; follow the qualification caveat.
Registration uses the existing email-approved device flow. Compare the code in
stderr with your approval email, then approve on the website. Opening the email
alone does not approve. The command waits, saves the key privately, and returns
only a sign-in summary, never the key. It can also sign in an existing account
(dtwb login). Signup eligibility and Jobs eligibility remain server policy;
sign-in does not bypass private-preview/maintenance gates.
Interrupted approval requests are resumed without another email. Existing keys
are validated with the issuer and reused; only an explicit issuer 401 allows a
new approval request. A different requested email is rejected rather than silently
switching accounts; use a separate DATAWEBOT_CONFIG_DIR for another account.
If starting sign-in or collecting the one-time token has an
ambiguous network outcome, stop and inspect/retry the pending request, not a new
registration. Run one registration per config directory at a time.
The CLI shares the existing agent setup file, ~/.datawebot/credentials, with
profiles indexed by issuer origin. Files must be owned regular files with mode
0600 in an owned directory with mode 0700; symlinks and unsafe permissions are
rejected. Writes replace files atomically. Pending device challenges are also
private. On Windows, POSIX mode checks are unavailable: protect this directory
with your account's filesystem ACLs. Disconnect/revoke keys on the website;
there is no pretend local-only server revocation command.
Extract
# These examples submit real work; choose your own intended target.
dtwb extract amazon.pdp B012345678
dtwb extract amazon.search 'coffee beans' --parameters '{"max_pages":1}'
# Canonical blueprint IDs and full HTTPS URLs work for any discovered blueprint.
dtwb extract amazon.search_items 'https://www.amazon.co.uk/s?k=coffee'
# Return the exact submission JSON immediately, without polling:
dtwb extract --async amazon.search 'coffee beans' --idempotency-key coffee-run-001
# Later, read without submitting more work:
dtwb status JOB_UUID
dtwb retrieve JOB_UUID
dtwb retrieve JOB_UUID --wait
dtwb retrieve JOB_UUID --page-size 100 --cursor 'NEXT_CURSOR_FROM_PREVIOUS_PAGE'
amazon.pdp and amazon.search are aliases for the API IDs
amazon.product_details and amazon.search_items. An ASIN or search keyword
uses amazon.com; use a full URL for another supported marketplace. Parameters and
blueprint versions are not hardcoded: inspect the live catalog. Source validation,
maintenance, authorization and limits remain the server's responsibility.
By default, extraction submits once, waits according to ETA, poll guidance and
HTTP Retry-After, then returns one unchanged API result page. Stdout is one
JSON document, not a CLI envelope. Use next_cursor to fetch further pages,
with the same page size. The CLI does not concatenate pages and misrepresent
that as an unchanged API response. Discovery filters and paginates on the server,
not against a partial local list. Extraction resolves the exact blueprint's live
contract, so operations outside the first discovery page work too. This requires
the unified-discovery Jobs API rollout before releasing the updated CLI; an older
API is not silently treated as an empty search result.
retrieve without --wait performs one result read (pending jobs return
metadata). status reads metadata. Neither submits work. Failed, partial and
unavailable outcomes are terminal and are never automatically resubmitted.
Idempotency keys and accepted Job IDs are written to stderr even with --quiet.
Retain them. Submission POSTs are not automatically retried. After an ambiguous
submission, replay the original command with the same inputs and
--idempotency-key; after an accepted submission, resume with retrieve --wait.
Read-only requests retry HTTP 429/502/503/504 at most twice. A timeout or Ctrl-C
stops waiting, does not cancel a server Job, and preserves recovery details.
Output / exit codes
- stdout: one JSON response on success; help/version are plain text.
- stderr: progress, approval instructions, recovery IDs, and structured JSON
errors.
--quiethides routine progress;--verboseincludes read retries. - 0: successful command, pending one-shot read, or accepted async submission.
- 1: API/network/local failure, or FAILED/UNAVAILABLE extraction/retrieval.
- 2: invalid CLI input, or PARTIAL_COMPLETE extraction/retrieval (inspect JSON).
- 130 / 143: interrupted by SIGINT / SIGTERM. Server work is retained.
A successful status read exits 0 even if the Job itself failed; inspect
status in its JSON. Error objects may include job_id,
idempotency_key and resume. Known credentials are redacted from errors.
Configuration
| Option / variable | Default |
| --- | --- |
| --api-url / DATAWEBOT_API_URL | https://api.datawebot.com |
| --auth-url / DATAWEBOT_AUTH_URL | https://mcp.datawebot.com |
| DATAWEBOT_API_KEY | Saved issuer profile key |
| DATAWEBOT_CONFIG_DIR | ~/.datawebot |
| --timeout | 600 seconds total, including requests/polling/retrieval |
Supply keys using your shell/tool's secret environment mechanism, never command arguments or chat. Explicit environment keys are sent to the API origin you select: only select trusted hosts. Saved keys are bound to their API/issuer pair; legacy agent-setup profiles work only with the default production pair. Local or staging targets require their own sign-in/profile or an explicit environment key. Only HTTPS origins (no path/query/userinfo) are accepted; HTTP is allowed on loopback for local tests. Redirects are rejected to avoid forwarding secrets. No credentials are read for help/version.
Current API limitations
See the public API quickstart
and agent guide. Use dtwb discover for
the current blueprint versions, input schemas and availability.
- Account-wide listing requires a valid customer key and Jobs access. Live listing through this CLI has not been independently verified.
creditsreturnsGET /v1/accountunchanged. Its current synthetic, unbilled allowance is not a real wallet balance or pricing policy.- Live availability comes from discovery and API responses, not these examples.
- Tests use synthetic HTTP/device fixtures, not live email, paid data extraction or deployed acceptance. No server deployment is part of this repository.
Maintainer release checks
The npm package is @datawebot/cli, exposing dtwb. Package contents
are allowlisted to bin/ and src/ plus npm's package/README/LICENSE defaults.
Commander.js is the only runtime dependency; npm is the sole package manager in
this standalone repo. CI checks Node 22/24 on Linux and Windows and installs a
packed tarball to verify the actual executable.
npm ci
npm test
npm audit --omit=dev
npm pack --dry-run
npm run test:package
# Inspect the archive before an authorized release.
The CLI is MIT licensed. This license covers the CLI code; use of the hosted service is governed by the datawebot terms.
Each release requires owner approval of the version, scope and verification
limits. Verify publishing rights to the @datawebot npm scope; GitHub org
membership does not grant npm access. Configure npm authentication/2FA or trusted
publishing outside this repository—never commit credentials.
prepack runs the offline test suite. npm publish --access public is the manual
release step; publishing is not automated by CI. Verify registry metadata and a
fresh registry installation afterward. No server deployment or live extraction
is implied by publishing the CLI.
Related Skills
taste-skill
102.1kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
101.9kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
77.7kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
65.0kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
