Export methods
| Method | Best For | Access |
|---|---|---|
| On-demand export | Ad-hoc analysis, specific date ranges | API or Admin Portal |
| Scheduled export | Regular data pipeline feeds | Admin Portal |
| User data export | GDPR/CCPA subject requests | API |
On-demand export
Via Admin Portal
- Go to Analytics → Export Data
- Select date range (max 30 days)
- Choose data types to include
- Select format (CSV or JSON Lines)
- Click Export
- Download when ready
Via API
Request an export:Export parameters
Start date (ISO 8601 format:
YYYY-MM-DD).End date (ISO 8601 format:
YYYY-MM-DD). Maximum 30 days from start.Data types to include:
events- Engagement events (impressions, playStart, completion, etc.)quality- Playback quality events (rebuffer, qualityChange, error)ads- Ad events (impression, completion, click)
Output format:
jsonl- JSON Lines (one event per line)csv- Comma-separated values
Optional filters:
Export formats
JSON Lines (recommended)
One JSON object per line, easy to process with streaming parsers:CSV
Tabular format for spreadsheet analysis:Exported data schema
Engagement events
| Field | Type | Description |
|---|---|---|
event | string | Event type |
contentId | string | Content identifier |
userId | string | User identifier |
timestamp | datetime | Event timestamp |
sessionId | string | Session identifier |
deviceType | string | ios, android, web |
data | object | Event-specific data |
Event-specific data
impression
impression
playStart
playStart
watchProgress
watchProgress
completion
completion
swipe
swipe
Quality events
| Field | Type | Description |
|---|---|---|
event | string | rebuffer, qualityChange, error |
contentId | string | Content identifier |
userId | string | User identifier |
timestamp | datetime | Event timestamp |
currentTime | number | Playback position |
data | object | Event-specific data |
Scheduled exports
Set up automatic recurring exports:Configure in Admin Portal
- Go to Settings → Data Export
- Enable Scheduled Exports
- Configure:
- Frequency: Daily or weekly
- Data types: Select data to include
- Format: CSV or JSON Lines
- Delivery: Webhook URL or email
Webhook delivery
When an export is ready, a POST request is sent to your webhook:User data export
For GDPR/CCPA data subject requests, export all data for a specific user:Exported user data
The export includes:- User profile (topic affinities, engagement summary)
- All engagement events attributed to the user
- Linked device IDs
- Experiment assignments
Data deletion
To delete user data (right to erasure):- User profile
- All engagement events
- Topic affinity data
- Device linkages
Data retention
| Data Type | Retention Period |
|---|---|
| Raw events | 90 days |
| Aggregated analytics | 2 years |
| User profiles | Until deletion |
| Export files | 7 days |
Best practices
Use streaming parsers for large exports
Use streaming parsers for large exports
JSON Lines format allows processing line-by-line without loading the entire file:
Schedule exports during off-peak hours
Schedule exports during off-peak hours
Large exports can take time to generate. Schedule them for low-traffic periods.
Implement incremental processing
Implement incremental processing
Rather than re-processing all data, track your last processed timestamp and export only new data.
Secure your export files
Secure your export files
Export URLs are signed and expire after 7 days. Download and secure files promptly.
