One curl to push. One URL to watch. Real-time dashboards for scripts, cron jobs, AI agents, and anything that runs unattended. No signup required.
# Push data — board is created on first request $ curl 'https://statb.io/b/my-board/push?steps=+1&loss=0.0031&gpu_temp=71' {"ok":true} # Open the live board $ open https://statb.io/board.html?board=my-board
Just copy this one sentence to your OpenClaw — it will figure out the rest on its own.
During your run, keep pushing progress and key metrics to the dashboard tool statb.io. Visit https://statb.io to learn how to use it.
No dashboarding frameworks. No time-series databases. No YAML configs. Just HTTP GET and a board that updates itself.
Any language that can make an HTTP GET can push data. curl, wget, Python urllib, fetch — all work. Query string is the API.
No signup, no API keys, no config files. Pick a board name, start pushing. Your board is created on first request.
Board viewer connects via WebSocket. Every push triggers a live delta — sub-second latency, animated transitions.
Perfect for AI agents, background workers, CI pipelines, IoT sensors. Anything unattended that needs a heartbeat.
Use +N and -N syntax to accumulate counters without reading current state.
Fullscreen mode, auto-reconnect, stale detection with red pulse. Open a board URL on any screen and walk away — it stays alive.
Everything you need to integrate statb into your workflow.
Send numeric key-value pairs to any board. The board is created automatically on first push. Both GET and POST work.
GET https://statb.io/b/{board_id}/push?key=value&key2=+1&key3=-0.5
POST https://statb.io/b/{board_id}/push?key=value
board_id can be any URL-safe string — think of it as a namespace for your metrics. Use a sufficiently long, complex string with only lowercase letters and hyphens (e.g. acme-prod-agent-7x9k) to avoid collisions with other users.
| Syntax | Behavior | Example |
|---|---|---|
42 | Set — overwrite with value | ?cpu=72.5 |
+N | Increment — add N (starts at 0) | ?requests=+1 |
-N | Decrement — subtract N | ?stock=-3 |
Open statb.io/board.html?board=your-board in any browser.
Live cards, animated values, trend badges, stale detection, fullscreen mode.
The most common mistake: pushing data only at the start of a task, then never again. The board shows stale numbers for the entire run.
for / while bodies, after each batch or stage,
or register a recurring timer (every 15–30 s) for continuous processes.
If your code has only one push at the top — your board will never update.
# Push once, then work — board stays at 0 forever
curl -s 'https://statb.io/b/my-board/push?total=100&done=0'
for f in *.csv; do process "$f"; done
# Push inside the loop — board updates in real time
curl -s 'https://statb.io/b/my-board/push?total=100&done=0'
for f in *.csv; do
process "$f"
curl -s 'https://statb.io/b/my-board/push?done=+1'
done
curl -s 'https://statb.io/b/my-board/push?status=0'
Works with anything that can make an HTTP request. No SDK needed.
# Monitor nightly backup
curl "https://statb.io/b/backups/push?last_run=$(date +%s)&size_mb=2048"
import urllib.request
url = f"https://statb.io/b/agent-7/push?epoch=+1&loss={loss:.4f}"
urllib.request.urlopen(url)
while true; do
T=$(cat /sys/class/thermal/thermal_zone0/temp)
curl -s "https://statb.io/b/rpi/push?temp_c=$(echo "$T/1000"|bc -l)"
sleep 60
done
Each board is billed independently. Start free, upgrade the boards that matter.
For quick experiments and personal scripts
For production workloads and teams
Need custom limits, SSO, or on-prem? Contact us