Raw events
Newest first; name keeps one event name.
An API token from POST /v2/tokens (at_live_...), or a project's secret key (sk_...) for server-side ingest.
In: header
Path Parameters
The project id, as listed by GET /v2/projects.
1 <= lengthQuery Parameters
Start of the range; send with to.
date-timeEnd of the range, exclusive.
date-timeA range ending at the start of today in UTC (24h ends at the start of this hour). Ignored when from and to are sent; 30d by default.
Value in
- "24h"
- "7d"
- "30d"
- "90d"
- "12mo"
- "all"
Which traffic is counted. human (the default) leaves out bot scores of 50 and up, your own visits and localhost; bots keeps only scores of 50 and up; internal keeps only your own visits; all keeps everything.
Value in
- "human"
- "bots"
- "internal"
- "all"
production (the default) leaves preview deployments out, preview keeps only them, all keeps both.
Value in
- "production"
- "preview"
- "all"
Sent as filter[<dimension>]=value, or !value to exclude; repeatable across dimensions.
Keep one event name.
1 <= lengthRows per page, 1 to 100 (default 20), or up to 1000 with format.
1 <= value <= 1000The opaque nextCursor of the previous page.
1 <= lengthReturns every row as one download instead of a page, up to 1,000,000 rows: csv with a header row and nested fields as dotted columns, json as the normal answer with all rows in data, sql as CREATE TABLE and INSERT statements for Postgres or SQLite. Accept: text/csv also asks for CSV.
Value in
- "csv"
- "json"
- "sql"
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v2/projects/string/events"{ "data": [ { "id": "01928c3e-7a4c-7a02-8b11-3c8d2f6e9b22", "name": "signup", "ts": "2026-09-27T16:39:59.901Z", "visitor": "8c4e1f0a-2b3c-4d5e-8f60-718293a4b5c6", "session": "f1a2b3c4-d5e6-4f70-8a91-b2c3d4e5f607", "page": { "path": "/blog/rebuilding-analytics", "route": null, "title": null, "referrer": "https://news.ycombinator.com/" }, "props": { "plan": "pro" }, "groups": { "company": "acme" }, "geo": { "country": "NL", "region": "Friesland", "city": "Leeuwarden", "postalCode": null, "timezone": null, "latitude": null, "longitude": null }, "device": { "type": "desktop", "browser": "Firefox", "browserVersion": "143", "os": "Linux", "osVersion": null, "screen": null, "viewport": null, "language": null, "connection": null }, "bot": { "score": 0, "reasons": [] }, "isInternal": false } ], "nextCursor": "eyJ0cyI6IjIwMjYtMDktMjdUMTY6Mzk6NTkuOTAxWiJ9"}