---
url: https://simpledatalogs.com/docs/guide/public-counters.md
description: >-
  Publish one number from your events, like app installs all time or screenshots
  taken in the last 7 days, as JSON or an embeddable badge.
---

# Public counters

Show one number on your own site or README: "app installs, all time" or "screenshots taken in the last 7 days". Nothing else about your events or users is shown.

## Publish a counter

Owners publish on an environment's **Counters** tab. Click **Publish a counter**, then pick:

* **Event:** any event name the environment has seen. Start typing to search.
* **Window:** All time, Last 7 days, Last 30 days or Today.
* **Public label:** filled in from the event and window, e.g. "screenshot taken in the last 7 days". Change it to anything up to 60 characters.

The dialog previews the badge with the current count. Each environment can publish 10 counters.

Days follow the project's time zone, as on the dashboard. **Last 7 days** is today and the 6 days before it; **Today** starts at local midnight. The count is the same number the dashboard shows for that range.

**Edit** changes a counter's window and label; the event and link stay the same. **Unpublish** stops the link and badge within a minute.

Members and viewers see the counters but can't publish, edit or unpublish them.

## JSON

`GET https://simpledatalogs.com/c/<token>`

```json
{
  "label": "screenshots taken in the last 7 days",
  "window": "7d",
  "count": 1204,
  "display": "1.2K",
  "as_of": "2026-10-20T09:15:00Z",
  "powered_by": "simpledatalogs",
  "powered_by_url": "https://simpledatalogs.com/?ref=counter"
}
```

`window` is one of `all_time`, `7d`, `30d` or `today`. `display` is the short form the badge uses, rounded down.

## Badge

`GET https://simpledatalogs.com/c/<token>/badge.svg` draws `[label | 1.2K | simpledatalogs]`. The Counters tab has the HTML to paste, linking back to simpledatalogs.

## Caching and limits

* Any site may fetch both URLs (`Access-Control-Allow-Origin: *`).
* Answers are cached for 60 seconds, so the number refreshes once a minute.
* Each address may make 300 requests a minute; more answer `429` with `Retry-After`.
* An unknown or unpublished token answers `404`.
