Getting Started
Get up and running with pbar.io in less than a minute. No account required.
Quick Start
1. Create a Progress Bar
Create your first progress bar with a simple API call:
curl -X POST https://pbar.io/api/bars \ -H "Content-Type: application/json" \ -d '{"title": "My First Progress Bar", "total": 100}'
Response includes your unique slug and URLs to view/update the progress bar.
2. Update Progress
Update your progress bar by incrementing or setting the current value:
# Increment by 10curl -X PATCH https://pbar.io/api/bars/YOUR_SLUG \ -H "Content-Type: application/json" \ -d '{"increment": 10}'
# Or set to specific valuecurl -X PATCH https://pbar.io/api/bars/YOUR_SLUG \ -H "Content-Type: application/json" \ -d '{"current": 50}'
3. View Progress
View your progress bar in multiple ways:
🌐 Web Browser
https://pbar.io/YOUR_SLUG
💻 Terminal (with colors)
curl https://pbar.io/api/bars/YOUR_SLUG
📊 JSON API
curl -H "Accept: application/json" https://pbar.io/api/bars/YOUR_SLUG
Language-Specific Installation
Python
Install the Python package and use it as a drop-in replacement for tqdm:
pip install pbar-io
# Use it in your codefrom pbar_io import tqdm
for item in tqdm(range(100), desc="Processing"): # Your code here process(item)
JavaScript/Node.js
Use the REST API directly with fetch or your preferred HTTP client:
// Create a progress barconst response = await fetch('https://pbar.io/api/bars', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ title: 'Processing files', total: files.length })})const { slug } = await response.json()
// Update progress in your loopfor (const file of files) { await processFile(file) // Increment the progress bar await fetch(`https://pbar.io/api/bars/${slug}`, { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ increment: 1 }) })}
Shell Scripts
Use pbar.io directly in your shell scripts:
#!/bin/bash
# Create progress bar and extract slugRESPONSE=$(curl -s -X POST https://pbar.io/api/bars \ -H "Content-Type: application/json" \ -d '{"title": "Backup Progress", "total": 100}') SLUG=$(echo $RESPONSE | jq -r .slug)echo "Track progress at: https://pbar.io/$SLUG"
# Update progress in your loopfor i in {1..10}; do # Do some work sleep 1 # Update progress curl -s -X PATCH https://pbar.io/api/bars/$SLUG \ -H "Content-Type: application/json" \ -d '{"increment": 10}' > /dev/nulldone
Key Features
🚀 No Authentication Required
Start using pbar.io immediately without signing up. Free tier bars expire after 30 days.
🔄 Real-time Updates
Progress updates appear instantly in all connected browsers and terminals via WebSockets.
🎨 Beautiful Rendering
Automatic format detection serves beautiful progress bars in browsers, terminals, and APIs.
📊 Hierarchical Progress
Create parent-child relationships between progress bars for complex multi-step processes.