We just launched Databox CLI - pipe any JSON straight into Databox
https://www.producthunt.com/products/databox?launch=databox-cli
You have data in your own API, a script, or a nightly job. Getting it into your analytics tool usually means a CSV export, a manual upload, or a custom integration someone has to maintain.
We just made that one command.
Databox CLI brings Databox into your terminal. If it prints JSON, you can pipe it straight into a Databox dataset. You get a clear result back every time: how many rows came in, what was added, what was updated, and what was rejected.
What you can do:
Push data from scripts, cron jobs, and CI pipelines
Create datasets and metrics without opening the app
Manage your whole account, from users to connections to billing
Let coding agents like Claude Code and Cursor work with your Databox data, with 10 agent skills built in

91 commands, MIT licensed, and available on every Databox plan. Any user role can create an API key and start using it.
What's the first thing you'd pipe into Databox? Let us know in the comments.
We're in the comments all day - questions, feedback, and pushback all welcome.


Replies
The ingestion check is a useful detail. A successful command and a complete dataset aren’t always the same thing.
@vijay_navaluri Exactly right, Vijay. Ingestion runs async, so dataset ingest only confirms the request was accepted. The agent then checks dataset ingestion until it returns success or failed, and a failed run lists each rejected record. That way an agent never reports “done” on data that didn’t land. And if an ingest times out, it can check dataset ingestions and retry with the same --idempotency-key, so rows never get sent twice.
@zigapotocnik i like that developers can manage datasets without leaving the terminal. Does the CLI also support automatic retries when a pipeline fails halfway through?
@venasa_joko2 Thanks Venasa! Not built in - the CLI doesn’t retry on its own. Instead, it makes retries safe and easy to script. Every command returns a clear exit code (0 ok, 1 API error, 2 bad input or network), so your pipeline knows exactly what failed. Ingests take an --idempotency-key, so re-running a failed step can’t load the same rows twice. Since ingests go in batches of up to 500 records, a pipeline that stops halfway only needs to resend the batches that didn’t land. dataset ingestions shows which ones did.