sd416/cloudflare-worker-stats
sd416/cloudflare-worker-stats has 38 GitHub stars and 30 forks. Star changes are not measured yet. Last checked 2026-11-14 03:49 UTC. Last push 2026-10-16.
What you can do
- Fetches the last 7-30 days of request data from the Cloudflare GraphQL Analytics API (?days=N)
- Displays total requests in compact format (e.g. 2.14M)
- Shows avg/day and peak day stats on every theme
- Shows bandwidth (data served) and unique visitors (zone mode) when available
Crecimiento de estrellas medido
- in 24h
- Recopilando historial
- in 7 days
- Recopilando historial
- in 15 days
- Recopilando historial
- in 1 month
- Recopilando historial
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
Acerca de
Generate beautiful, live SVG badges for your GitHub profile, project README, or dashboard using Cloudflare Workers. Track website traffic, worker requests, API usage, and custom metrics with automatic updates.
DatosREADME.md
Originalcloudflare-worker-stats
A Cloudflare Worker that generates a dynamic SVG bar chart showing the last 7-30 days of traffic from the Cloudflare Analytics API. Designed for embedding in a GitHub profile README.
Supports two modes:
- Zone mode - tracks HTTP requests for a specific domain using
CF_ZONE_ID - Worker mode - tracks Worker invocations across your account using
CF_ACCOUNT_ID(ideal for Workers on*.workers.devor unbound from a specific zone)
Theme Options
Choose a theme by appending the theme name to your worker URL. The default theme is Neon Terminal.
| Theme | Path | Description |
|---|---|---|
| Neon Terminal | / or /neon |
Dark terminal aesthetic with vertical bar chart, dot grid, glow effects, and Cloudflare Orange |
| Minimal | /minimal |
Clean card with full-width sparkline area chart and emerald accents |
| Gradient | /gradient |
Vibrant gradient background with horizontal daily breakdown bars (cyan-to-purple) |
| Dashboard | /dashboard |
Stat tile grid (avg/day, peak, bandwidth, visitors) with sparkline and indigo accents |
| Badge | /badge |
Compact shields.io-style pill (~28px tall) with label and total, ideal inline in a README |
| Heatmap | /heatmap |
GitHub contribution-graph style grid of daily cells, best with ?days=30 |
| Ticker | /ticker |
Stock-market candlestick style with green/red daily bars, change %, and HI/LO/VOL |
Neon Terminal (/neon, default)
Vertical bar chart with a terminal/hacker aesthetic. Monospace fonts, dot grid background, glow effects.
Minimal (/minimal)
Full-width sparkline area chart with a clean, lightweight card design. Green accent line with shaded area fill.
Gradient (/gradient)
Horizontal daily breakdown bars with day-of-week labels and per-day request counts. Gradient background with cyan-to-purple bar fills.
Dashboard (/dashboard)
Stat tile grid showing average requests/day, peak day, bandwidth, and unique visitors alongside the total and a sparkline.
Badge (/badge)
Compact shields.io-style pill showing the label and total, perfect inline next to other badges.
Heatmap (/heatmap)
GitHub contribution-graph style grid where each cell is a day, colored by traffic intensity. Pairs well with ?days=30.
Ticker (/ticker)
Stock-market candlestick aesthetic with green/red daily bars vs. the previous day, change %, and HI/LO/VOL stats.
All themes automatically adapt to light/dark mode via the prefers-color-scheme media query.
Options
Append query parameters to any theme URL:
| Parameter | Description |
|---|---|
?days=N |
Number of days to chart (1-30, default 7). Charts and labels adapt automatically. |
?refresh |
Bypass the 1-hour cache. |

Features
- Fetches the last 7-30 days of request data from the Cloudflare GraphQL Analytics API (
?days=N) - Displays total requests in compact format (e.g.
2.14M) - Shows avg/day and peak day stats on every theme
- Shows bandwidth (data served) and unique visitors (zone mode) when available
- Renders a 480×160 SVG chart
- Seven distinct UI themes: Neon Terminal, Minimal, Gradient, Dashboard, Badge, Heatmap, and Ticker
- Automatically adapts to light/dark theme via
prefers-color-schememedia query - One-click deploy via the button above
Quick Start
1. Deploy
Click the Deploy to Cloudflare Workers button above, or deploy manually:
npm install
npm run deploy
2. Configure Secrets
After deploying, set the required secrets. See Generating Secrets below for how to obtain these values.
npx wrangler secret put CF_API_TOKEN
# Then set ONE of the following:
npx wrangler secret put CF_ZONE_ID # for zone-level HTTP traffic
npx wrangler secret put CF_ACCOUNT_ID # for account-level Worker events
If both
CF_ZONE_IDandCF_ACCOUNT_IDare set, zone mode takes precedence.
3. Embed
Add the worker URL to your GitHub profile README (or anywhere that renders Markdown).
Default theme (Neon Terminal):

Choose a specific theme:
<!-- Neon Terminal (default) -->

<!-- Minimal Clean -->

<!-- Gradient Modern -->

<!-- Dashboard -->

<!-- Badge (compact pill) -->

<!-- Heatmap (best with 30 days) -->

<!-- Ticker -->

HTML embed (for more control):
<img src="https://your-worker.your-subdomain.workers.dev/minimal" alt="Cloudflare Usage" width="480" />
Bypass cache with ?refresh:

Chart a different time range with ?days:

Generating Secrets
CF_API_TOKEN - Cloudflare API Token
This token allows the worker to read analytics data.
- Log in to the Cloudflare dashboard.
- Click your profile icon (top-right) → My Profile.
- Select the API Tokens tab.
- Click Create Token.
- Under Custom token, click Get started.
- Configure the token:
- Token name: e.g.
cf-usage-graph-read - Permissions:
- For zone mode: select Zone → Analytics → Read
- For worker mode: select Account → Workers Scripts → Read and Account → Analytics → Read
- Zone Resources (zone mode only): choose Include → Specific zone and pick the zone you want to track (or select All zones if you prefer)
- Account Resources (worker mode only): choose Include → your account
- Token name: e.g.
- Click Continue to summary → Create Token.
- Copy the token value. You will not be able to see it again.
CF_ZONE_ID - Cloudflare Zone ID (zone mode)
The Zone ID identifies which domain's traffic data to query.
- Log in to the Cloudflare dashboard.
- Select the domain (zone) you want to track.
- On the Overview page, scroll down to the right-hand sidebar.
- Under API, copy the Zone ID value.
CF_ACCOUNT_ID - Cloudflare Account ID (worker mode)
The Account ID identifies your Cloudflare account for querying Worker invocation data. Use this when your Worker runs on a *.workers.dev subdomain or is not bound to a specific zone.
- Log in to the Cloudflare dashboard.
- On the left sidebar, select Workers & Pages.
- Your Account ID is displayed in the right-hand sidebar.
Storing the Secrets
After you have the required values, store them as Wrangler secrets so they are encrypted and available to the deployed worker:
npx wrangler secret put CF_API_TOKEN
# Paste your API token when prompted
# For zone mode:
npx wrangler secret put CF_ZONE_ID
# Paste your Zone ID when prompted
# For worker mode:
npx wrangler secret put CF_ACCOUNT_ID
# Paste your Account ID when prompted
Note: Never commit these values to source control. Wrangler secrets are encrypted at rest and injected into the worker environment at runtime.
Development
npm install # Install dependencies
npm run dev # Start local dev server
npm test # Run tests (bun test, using the Bun version installed as a devDependency)
npm run screenshots # Regenerate theme screenshots from sample data
npm run deploy # Deploy to Cloudflare Workers
Contributing
Contributions are welcome! Feel free to open an issue or submit a pull request.
License
This project is open-source. See the repository for license details.
Explorar proyectos relacionados
Asabeneh/30-Days-Of-Python
El reto de programación 30 Days of Python es una guía paso a paso para aprender el lenguaje de programación Python en 30 días. Este reto puede llevar más de 100 días. Sigue tu propio ritmo. Estos vídeos también pueden ayudarte: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,711 estrellasgrafana/grafana
Plataforma abierta y componible de observabilidad y visualización de datos. Visualiza métricas, registros y trazas de múltiples fuentes, como Prometheus, Loki, Elasticsearch, InfluxDB, Postgres y muchas más.
77,894 estrellasredis/redis
Para los desarrolladores que crean aplicaciones en tiempo real basadas en datos, Redis es la opción preferida, la más rápida y la de más funciones como caché, servidor de estructuras de datos y motor de consultas de documentos y vectores.
77,490 estrellasapache/superset
Apache Superset es una plataforma de visualización y exploración de datos.
75,522 estrellas