Num.pub - Simple, beautiful numeric data tracking via API

Simple, beautiful numeric data tracking via API

Simple
One POST
Secure
Write Keys
Beautiful
Live Charts

Recently Updated Public Dashboards

What is Num Pub?

Num Pub is a minimalist service for tracking numeric values over time. Post numbers via a simple API and visualize them with beautiful, interactive charts.

Perfect for tracking signups, active users, revenue, or any metric you want to monitor. Each num has a unique URL, a write key for security, and a clean view showing your latest value with historical trends.

Nums can be public (listed on the homepage) or private (accessible only via direct URL). Perfect for sharing public metrics or keeping sensitive data private.

Just start posting to any @:slug URL! The first POST with a write_key creates the num, and subsequent POSTs with the same write_key update it. For private nums, use a UUID or non-guessable slug (e.g., @a3f9c2e8-abc123) since anyone can access a num if they know its slug.

Quick Start

1

Create a new num

POST to any slug to create your first data point. The num will be created automatically on first POST:

curl -XPOST https://num.pub/@your-metric-name \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Daily Active Users",
    "value": 1842,
    "write_key": "your-secret-password",
    "number_format": "integer"
  }'
2

Update the value

POST again to add new data points:

curl -XPOST https://num.pub/@your-metric-name \
  -H "Content-Type: application/json" \
  -d '{
    "value": 1950,
    "write_key": "your-secret-password"
  }'
3

View your data

Visit the URL in your browser:

🔒

Security Tips

1. Protect your nums with a write_key

If you leave write_key blank, anyone can write to your num! Always set a strong password to prevent unauthorized updates.

2. Use non-guessable slugs for private nums

Anyone who knows your slug can view your num. For private/sensitive data, use a UUID or random string:

/@7f3e9a2b-c4d1-4e8f-9b3a-1c5d7e8f9a0b

Set listed: false to keep it off the homepage.

API Reference

POST /@:slug

Create or update a num with a new value

Parameters (JSON body)

name Display name (optional, can be updated later)
value Numeric value to record (required)
write_key Secret password (required, set on first POST). ⚠️ Warning: If left blank, anyone can write to your num!
timestamp Custom timestamp (optional, defaults to now)
listed Make public (true) or private (false) - public nums appear on homepage (optional, defaults to true)
number_format Format type: "integer", "float", "money", "percent" (optional, defaults to "integer")
GET /@:slug

View the num in HTML format with charts

GET /@:slug.json

Retrieve the num and values as JSON

Dashboards

Collect multiple nums on a single page to create custom dashboards with live charts

POST /dashboard/:slug

Create or update a dashboard with multiple nums

Parameters (JSON body)

name Display name for the dashboard (optional)
write_key Secret password (required, set on first POST)
num_slugs Array of num slugs to display (optional, order matters)
listed Make public (true) or private (false) - public dashboards appear on homepage (optional, defaults to true)

Example

curl -XPOST https://num.pub/dashboard/my-dashboard \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Metrics Dashboard",
    "write_key": "your-secret-password",
    "num_slugs": ["daily-users", "revenue", "signups"]
  }'
GET /dashboard/:slug

View the dashboard in HTML with all nums and charts

GET /dashboard/:slug.json

Retrieve the dashboard and all nums as JSON

Ready to track your numbers?

Just POST to your unique URL and start tracking!

No signup required