Reports answer the common questions. When you need something they don't show — a figure for a board meeting, a join against your own data, a chart your finance team wants in their format — you take the data out.
Some report pages have an export action — the team report among them — which gives you what's on screen as a file. That's the quickest route when the report already shows what you want and you only need it elsewhere.
For anything beyond that there's a raw statistics endpoint that returns the underlying event rows rather than a computed figure. You can bound it by date, page through it, and group it by an interval — hour, day, month or year.
This is what you want when you're building your own dashboard, or checking a number in a report against the events behind it.
type parameter is rejected with a 400 — raw events have no such column, and the message kind lives inside the row's own data instead. And timezone is ignored here: raw rows always carry UTC timestamps, so convert on your side.That second point matters when you compare an export against a report. Reports are shown in your timezone and raw data is not, so a day boundary can shift a handful of events and make two correct numbers look inconsistent.
Survey results are available through the API as well, both as individual responses and as a summary. Individual responses are the ones worth pulling — an average score tells you where you stand, and the free-text answers tell you why.
Reconcile once. Pull a single day, compute one figure yourself, and check it against the same figure in the report. If they differ, the cause is nearly always the timezone or a definition that counts something differently than you assumed — and it's much cheaper to find that now than after a dashboard has been quoted in a meeting.