pbar.io

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 10
curl -X PATCH https://pbar.io/api/bars/YOUR_SLUG \
-H "Content-Type: application/json" \
-d '{"increment": 10}'
# Or set to specific value
curl -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 code
from 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 bar
const 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 loop
for (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 slug
RESPONSE=$(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 loop
for 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/null
done

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.

Next Steps