HTTP API - Retrieving Data Export Extracts

Available for the following Plan types:

Fullstory Enterprise

Fullstory Advanced

Fullstory Business

Fullstory for Mobile Apps

Fullstory Free

Available to the following User roles:

Admin

Architect

Standard

 

Note: 
This a legacy API, and the endpoints referenced here have been deprecated and may be removed in future versions of the API. We would recommend instead using the Segment Export API to extract data captured by Fullstory.

Our Data Export feature is a powerful tool that allows you to extract the data you're capturing in Fullstory and apply it to your specific business needs. You can read more about what's included with Data Export here.

As a feature of Data Export, we provide a secure server side API to download data bundles programatically. 

Alternatives to consider

 

Endpoints

The API is served via two simple endpoints. The first is for discovering what files are available to retrieve (LIST) and the second is for retrieval of the file (GET).

All requests must supply the required API key in the form of a custom request header:

        'Authorization': 'Basic [YOUR API KEY]'

Additionally, any parameters can be provided in one of two ways. If a GET request is made, then parameters should simply be specified as URL query params. However, if a POST request is made, then parameters should be specified as JSON in the POST body.

LIST 

https://export.fullstory.com/api/v1/export/list

List endpoint returns a JSON list of completed data export bundles. Each result provides a beginning and end timestamp of the data contained within the export (in unix seconds)  as well as the unique ID of the bundle. The parameter to this endpoint is:

Param Name  (required) Type                     Description                          
 
start
int
The timestamp at which to start searching for results. Use Unix seconds (seconds since Epoch).

Calling this endpoint will return a list of the first 20 data export bundles whose end time is after the given start parameter (sorted from oldest to newest). In general, periodically calling this endpoint with the timestamp of your most recently downloaded bundle will ensure that your system is aware of all finished bundles. If you need to download more than 20 bundles, then simply repeat the call using the timestamp of the last bundle in the returned list.

GET

https://export.fullstory.com/api/v1/export/get

Get endpoint allows you to download a specific data export bundle given its ID. Our servers will respond with the bytes composing a gzipped JSON document of the request data. The parameter to this endpoint is:

Param Name  (required)                          Type                          Description
 
id
int
The id of the data export bundle to download, which was found from the response to a prior LIST request.

If your client obeys the "Content-Disposition" header, then the downloaded file will automatically be called DataExport.json.gz. Otherwise, simply ensure that the response is treated as a gzip.

The GET endpoint is rate limited at 2 downloads/minute. This endpoint will also return the number of seconds to wait until the next request in the Retry-After header.


Example

Here's a quick example of the endpoints and associated rules in action. 

LIST Request

curl -H "Authorization: Basic YOUR_API_KEY" https://export.fullstory.com/api/v1/export/list?start=1448064000

LIST Response

{"exports": [{
 "Start": 1447984800,
 "Stop": 1448071200,
 "ID": 123456789
 },{
 "Start": 1448071200,
 "Stop": 1448157600,
 "ID": 987654321
 },{
 "Start": 1448157600,
 "Stop": 1448244000,
 "ID": 456789123,
 }]
}

Using this list of the data export bundles available for download, you can begin making calls of the form:

GET Request

curl -O -J -H "Authorization: Basic YOUR_API_KEY" https://export.fullstory.com/api/v1/export/get?id=123456789

GET Response

A file named DataExport.json.gz

Note: The timestamps on our HTTP API response are in GMT. However, directly searching through the Fullstory app uses your local time. Please keep this in mind if you see differing results.

Rate Limits

Fullstory currently limits HTTP API usage for Data Export to a burst limit of 50 calls that replenishes at a rate of 2/minute.

What should I do if I see 503 or 104 errors?

This is likely due to a transient error, please attempt to retry until the request succeeds or reach out to the support team if you need further assistance.

 

What should I do if I see a message saying forbidden?

Double check your API key has Admin or Architect permissions. As noted in our developer documents for Authentication, this level is required for accessing data in this way, so a Standard API key would not work.

 

External Integrations

Need to get in touch with us?

The Fullstory Team awaits your every question.

Ask the Community Technical Support