Data API

Anonymized aggregates for researchers, journalists, and companies.

ResearchersJournalistsCompanies

What it is

A read-only API that returns aggregates only—no event IDs, no raw context, no individual timestamps. Use it to answer questions like “Are we in our domain?” or to study where people register preferring human decision.

Phrases and tags are k-anonymized (minimum counts). No authentication; CORS enabled.

Endpoint

GET /api/transparency

ParameterTypeDescription
fromISO dateStart of range (default: 30 days before to)
toISO dateEnd of range (default: now). Max range 365 days.
granularityhour | day | monthBucket size for presses_by_period. Default: day.

Response

  • total_presses — count in range
  • presses_by_period — time-series { period, count }
  • domain_proportions — category counts and proportion (categories: Money, Health, Work, Education, Movement, Speech, Other)
  • context_phrases — k-anonymized phrase counts
  • top_tags — tags with count ≥ 5 (when present)

Example (truncated):

{
  "from": "2025-01-09T00:00:00.000Z",
  "to": "2025-02-09T00:00:00.000Z",
  "granularity": "day",
  "total_presses": 1247,
  "presses_by_period": [
    { "period": "2025-01-10", "count": 42 },
    { "period": "2025-01-11", "count": 38 }
  ],
  "domain_proportions": [
    { "category": "Health", "count": 312, "proportion": 0.28 },
    { "category": "Work", "count": 198, "proportion": 0.18 }
  ],
  "context_phrases": [
    { "phrase": "insurance claim", "count": 12 },
    { "phrase": "loan denial", "count": 8 }
  ],
  "top_tags": [{ "tag": "Acme Corp", "count": 7 }]
}

Try it

From terminal (replace with your origin):

curl -s "https://decidemeter.com/api/transparency?granularity=day"