WidgetDash

Your data. Your widget. Any source.

Push any number from any service to your iPhone Home Screen or Lock Screen. Write a small collector script, send an HTTP request, and watch it appear. The server does not care what you push. You define it.


See It in Action

Home Screen widgets, Lock Screen widgets, real-time Live Activities, and a setup flow that takes seconds.

WidgetDash home screen widget
WidgetDash app configuration
WidgetDash lock screen widget
Live Activity updating in real time on the Lock Screen

How It Works

Three steps. Nothing to learn.

1

Create Account

Register with a single API call. You get a read key and a write key in return.

2

Push Data

Write a small collector that pulls numbers from your service and sends them to the API.

3

See It

Your data shows up on the widget automatically. Add it to your Home Screen and you are done. On Pro you can even go live: real-time updates on the Lock Screen and Dynamic Island.


Architecture

Decoupled by design. Easy to extend.

Your Services
Collector Scripts
WidgetDash API
iOS Widget

The server is fully generic. It stores whatever you push. Collectors are independent scripts you write and run yourself, so anyone can build one for any service.


Quick Start

Live in minutes. Three commands.

1. Create an account

# Create an account and get your API keys
curl -X POST https://api.widgetdash.app/api/v1/users \
  -H "Content-Type: application/json" \
  -d '{"name": "your-name"}'

2. Push data (use your write key)

curl -X PUT https://api.widgetdash.app/api/v1/data/my-source \
  -H "Authorization: Bearer YOUR_WRITE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "display_name": "My Service",
    "icon": "chart.bar.fill",
    "category": "monitoring",
    "metrics": [
      {"label": "Users Online", "value": "42", "type": "number", "color": "green"},
      {"label": "Status", "value": "Healthy", "type": "status", "color": "green"}
    ]
  }'

3. Read data (use your read key)

curl https://api.widgetdash.app/api/v1/widget \
  -H "Authorization: Bearer YOUR_READ_KEY"

API Reference

Every endpoint, in one place.

MethodEndpointAuthDescription
POST /api/v1/users None Create account, get API keys
GET /api/v1/users/me Read Get account info
PUT /api/v1/data/{source_key} Write Push data from collector
GET /api/v1/widget Read Get all widget data
GET /api/v1/data/{source_key} Read Get specific source data
POST /api/v1/sources Write Register data source
GET /api/v1/sources Read List data sources
DELETE /api/v1/sources/{source_key} Write Delete data source
GET /health None Health check
GET /api/v1/version None Version info

Metric Types

Every metric carries a type. The type decides how the widget renders it.

number

A large, bold number. Use it for counts, totals, and headline figures.

1,284

text

A plain string. Use it for labels, names, descriptions, or any short value.

us-east-1

status

A colored badge. Ideal for health checks, states, and alerts.

Healthy

progress

A bar for values from 0-100. Great for utilization, quotas, and completion.

72%

Available Colors

green
red
yellow
blue
gray

Writing a Collector

A collector is any script that pushes data to WidgetDash on a schedule.

How collectors work

Tip: Push only when something changes. Hash your payload, compare it to the last push, and skip the write if nothing moved.

Example: Python collector

import httpx, os, time

API_KEY = os.environ["WIDGET_API_KEY"]
SERVER = "https://api.widgetdash.app"

while True:
    # Fetch your data (replace with your own logic)
    users_online = get_users_count()

    httpx.put(f"{SERVER}/api/v1/data/my-app",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={
            "display_name": "My App",
            "icon": "person.3.fill",
            "category": "app",
            "metrics": [
                {"label": "Online", "value": str(users_online), "type": "number", "color": "green"}
            ]
        })
    time.sleep(60)

Simple, Transparent Pricing

Start free. Upgrade only when you need more.

FREE
$0
forever
  • 5 data sources
  • All widget sizes
  • 15-minute refresh
  • Community support
Get Started
MOST POPULAR
PRO
$4.90
/month or $29.90/year
  • Unlimited data sources
  • All widget sizes
  • 5-minute refresh
  • ⚡ Live Activities (real-time Lock Screen + Dynamic Island)
  • Priority support
Start Free, Upgrade Anytime

Quick Setup

Scan a QR code and the app configures itself.

1

Create Account

Register through the API and get your read and write keys.

2

Scan QR Code

Open the WidgetDash app and scan the code below, or the one on your dashboard.

3

Done

The settings apply at once. Your widgets start showing data right away.

Generate your setup QR code



iOS Widget

Your data at a glance, right on your Home Screen.

1

Download

Grab the WidgetDash companion app from the App Store (coming soon).

2

Connect

Enter your server URL and read API key in the app settings.

3

Add Widget

Long-press your Home Screen and add the WidgetDash widget. It comes in small, medium, and large sizes.


Terms of Service

Last updated: March 2026


Privacy Policy

Last updated: March 2026


Disclaimer

Read this before you use the Service.