Export raw view data
Raw view exports give you every view FastPix captured, as a CSV file you can load into your own database or data warehouse. FastPix generates one export per UTC day, containing every view that completed on that date, and returns a time-limited URL to download it. Use raw exports when you want to run your own analysis, join view data with other datasets, or archive it beyond the dashboard.
Choose an export method
FastPix delivers raw view data three ways. All three carry the same per-view fields, so pick the one that matches how you consume the data.
- Daily CSV export, described on this page. One file per UTC day, pulled on your own schedule. Best for batch loads and archival.
- Amazon Kinesis, a streaming export that writes each view to a Kinesis data stream in your AWS account in near real time.
- Google Cloud Pub/Sub, a streaming export that publishes each view to a Pub/Sub topic in your Google Cloud project in near real time.
The two streaming methods deliver a byte-for-byte identical record envelope, so a pipeline you build for one keeps working if you switch clouds.
Here is how the daily CSV and the streaming methods compare:
The methods are independent. Run one, the other, or both. The CSV covers the same views whether or not streaming is on, which is why it is the fallback if a streaming destination stops.
Before you begin
Make sure you have the following:
- A FastPix account on a paid plan. Raw view exports aren’t available on the free plan.
- Your Access Token ID and Secret Key for the FastPix API. See Activate your account.
How raw view exports work
- One file per day. A scheduled job runs once a day and produces a single CSV covering the whole previous UTC day, including views that completed earlier that day.
- Retained for 7 days. Each export is available for 7 days, then the file is deleted and its download URL stops working.
- Enabled two ways. Turn on daily CSV exports from Data Exports > CSV exports in your dashboard, or call the list endpoint, since the first call enables exports automatically. That first request returns an empty list and a
messagenaming the date your first file will cover; your first file is produced by the next scheduled run. - No backfill. Only dates on or after the day you enabled exports are available. Earlier dates are never generated.
To turn exports on from the dashboard, go to Data Exports > CSV exports and switch on Daily CSV exports.
Once enabled, a banner confirms the date your first file will cover and the daily run time.
List available exports
Call the List raw view exports endpoint to see which daily exports are ready and get a download URL for each.
The timespan[] query parameter accepts a duration string from 1:days to 7:days. Because exports are retained for 7 days, that’s the widest window available. If you omit it, the full 7-day window is returned.
The key fields in each export record are:
Example response
An export with status EMPTY still returns a valid file whose rowCount is 0 (the CSV contains only the header row). This example is truncated to three days; a full response lists every day in the requested window, most recent first.
Example response (first request)
On the first request that enables exports for your workspace, the data array is empty and a message names the date your first file will cover.
Download an export
The download is a plain CSV saved as views_{date}.csv. Most HTTP clients, including Python requests and httpx and JavaScript fetch, handle it automatically.
The file is compressed in transit to save bandwidth. Clients that don’t request compression, such as curl, wget, and Java’s HttpClient, receive the compressed bytes instead of the CSV. With curl, ask for decompression explicitly:
Exports can be large. A busy day of roughly 200,000 views produces several hundred megabytes of CSV, so stream the file to disk and parse it row by row rather than loading it into memory, and use a database or data warehouse rather than a spreadsheet on high-volume days.
What’s in the export
Each row is one view, and each column is a field FastPix captured for that view, such as asnId, avgBitrate, browserName, country, viewStart, and watchTime. New columns are appended over time, so parse by column name, never by position. For the full field reference, see What Video Data do we capture.
The export includes the following columns, one per captured field, listed in the order they appear in the CSV.
Fields in the export
To see the format before you integrate, download a sample export:
Best practices
- Parse by column name, not position. New columns are appended over time.
- Replace by date, don’t append. If you download the same date more than once, replace that date’s rows rather than adding duplicates.
- Handle
EMPTYdays. A day with no views returnsEMPTYwith arowCountof 0 and a valid file containing only the header row. This is a success, not an error, and needs no retry. - Don’t store or share download URLs. Each one grants direct access to your view data and stays valid until the file expires. Fetch a fresh URL from the list endpoint when you need to download again.
Frequently asked questions
How far back can I export raw view data?
Exports are retained for 7 days, so you can download any daily file from the last 7 days. Dates before you enabled exports are never generated, and older files are deleted once they pass the 7-day window.
Why did my first request return an empty list?
The first call to the list endpoint enables exports for your workspace. It returns an empty list and a message naming the date your first file will cover. That file is produced by the next scheduled run.
Why did curl download a compressed file instead of a CSV?
Exports are compressed in transit. Clients that don’t request compression (curl, wget, Java’s HttpClient) receive the compressed bytes. Pass --compressed to curl to get the decoded CSV.
How do I decode the columns in the export?
Each column is a per-view field. See What Video Data do we capture for the full list of fields and their definitions.
Are raw view exports available on the free plan?
No. Raw view exports are available on paid plans. The first request to the list endpoint checks your plan; if your organization isn’t eligible, it returns a 403 and nothing is enabled.
If your plan changes
Moving to a free plan stops daily CSV exports. Existing files stay downloadable until they expire, and returning to a paid plan resumes generation with nothing to set up again.
What’s next
- What Video Data do we capture for the full field reference.
- Analyze viewer drop-off with ClickHouse to load exports into a warehouse and query them.
- List raw view exports API reference.