The Raw Export API prepares raw user data, exports it to Insider One’s AWS S3 bucket, and sends a download link to your specified webhook endpoint. You can then access and transfer the data into your own systems.
What the export includes
- All requested attributes for each user.
- A list of events with their associated event parameters.
- You can filter the user set (e.g., only users who made a purchase yesterday).
- You can export attributes and events together, choosing which attributes to attach to each event entry.
Workflow
You should provide a webhook endpoint in the request to be notified when the export link is ready. After sending a request, your webhook endpoint receives an export link, allowing you to access the raw user data.
https://insider-data-export.useinsider.com/{partner name}/p/{file name}
You can export raw user data to analyze user information using a business intelligence (BI) tool and sync the data that you want via daily jobs.
To add our IP addresses to your approved list for whitelisting, reach out to the Insider One team.
If an event was timestamped three days ago but sent today, it will appear in S3 Export based on the current transmission timeframe, like the last hour.
Endpoint and Headers
Visit our Postman collection to test this request.
Headers
| Header | Sample Value | Description |
|---|---|---|
| X-PARTNER-NAME | mybrand | This is your partner name. Navigate to Inone > Inone Settings > Account Settings to copy your partner name. The partner name should be lowercase. |
| X-REQUEST-TOKEN | 1a2b3c4e5d6f | This key is required to authorize your request. Refer to API Authentication Tokens to generate your token. |
| Content-Type | application/json | This header specifies the media type of the resource. |
Body Parameters
Before starting the implementation, make sure to share the following information with the Insider One team:
- A webhook endpoint that will be notified when the export link is ready
- A preferred format: CSV, Parquet, or JSON
- A list of attributes, events, and event parameters that you want to export
- A dynamic segment that you want to export
| Parameter | Description | Data Type | Required |
|---|---|---|---|
| segment | Segment ID of the user filter. To find your Dynamic Segment ID, navigate to Audience > Segments > Saved Segments > Dynamic Segments. Click on the Segment whose ID you want to get. You can see it both on the top right corner of the Summary and Users page. | Object | Yes |
| attributes | Array of attributes | Array (of string) | Yes (if the body does not have the events object) |
| events | Array of events | Object | Yes (if the body does not have the attributes object) |
start_date | Beginning of the date range for the wanted events | Number | Yes (if the body has the events object) |
end_date | End of the date range for the wanted events | Number | Yes (if the body has the events object) |
wanted | Object of the wanted events | Array | Yes (if the body has the events object) |
event_name | Name of the event | String | Yes (if the body has the events object) |
params | Event parameters of the event | Array (of string) | Yes (if the body has the events object) |
| filters | Event parameter filters (only one filter is allowed per event_name) | Array (of object) | No |
| key | Event parameter name to be filtered by | String | Yes (if the body has the filters object) |
| operator | Name of the operator to be applied on the values. The valid operators are eq (equals to), ne (not equals to), lt (less than), gt (greater than), lteq (less than or equal to), gteq (greater than or equal to). | String | Yes (if the body has the filters object) |
| values | Event parameter values | Array (of string or number) | Yes (if the body has the filters object) Only one of values and values_url should be provided. |
| values_url | File URL containing event parameter values (file should have one column without any headers) | String | Yes (if the body has the filters object) Only one of values and values_url should be provided. |
| format | The export format | String | Yes |
| hook | Your webhook endpoint | String | Yes |
Sample Request
The sample below displays a request to get the raw user data with all attributes.
curl --location --request POST 'https://unification.useinsider.com/api/raw/v1/export' \
--header 'X-PARTNER-NAME: mybrand' \
--header 'X-REQUEST-TOKEN: 1a2b3c4d5e6f' \
--header 'Content-Type: application/json' \
--data-raw '{
"segment": {
"segment_id": 123456789
},
"attributes":[
"*"
],
"events":{
"start_date":1606311893,
"end_date":1611582293,
"wanted":[
{
"event_name":"email_click",
"params":[
"email_campaign_id",
"timestamp"
],
"filters": [
{
"key": "email_campaign_id",
"operator": "eq",
"values": [369, 877]
}
]
},
{
"event_name":"item_added_to_cart",
"params":[
"product_id",
"name",
"timestamp"
]
},
{
"event_name":"journey_entered",
"params":[
"journey_id",
"timestamp"
]
}
]
},
"format":"parquet",
"hook":"https://xyz.test.com"
}'The sample below displays a request to get the raw user data with selected attributes.
curl --location --request POST 'https://unification.useinsider.com/api/raw/v1/export' \
--header 'X-PARTNER-NAME: mybrand' \
--header 'X-REQUEST-TOKEN: 1a2b3c4d5e6f' \
--header 'Content-Type: application/json' \
--data-raw '{
"segment": {
"segment_id": 123456789
},
"attributes": [
"last_visited_product",
"email",
"name",
"c_custom_attribute"
],
"events": {
"start_date": 1606311893,
"end_date": 1611582293,
"wanted": [
{
"event_name": "custom_event",
"params": [
"c_custom_parameter",
"timestamp"
],
"filters": [
{
"key": "email_campaign_id",
"operator": "eq",
"values": [369, 877]
}
]
},
{
"event_name": "item_added_to_cart",
"params": [
"product_id",
"name",
"timestamp"
]
},
{
"event_name": "journey_entered",
"params": [
"journey_id",
"timestamp"
]
}
]
},
"format": "parquet",
"hook": "https://xyz.test.com"
}'Sample Responses
200 OK
When the data is ready to download, you will receive the export link on your webhook URL as displayed below.
{"url":"https://insider-data-export.useinsider.com/{partner name}/p/{file name}"}429 Too Many Requests
If you exceed the rate limits, you receive an error shown below:
{
"error": "rejected: too many requests"
}- 400 Empty Partner
- 400 Empty Token
- 403 Authentication Failed
Limitations
- All functions must be executed with a simple HTTPS POST request.
- Only a response stating whether the request is successful or failed can be received via this API. No data can be inserted.
- The request token should be provided in the request header. If the token is incorrect, the operation will not be executed.
- The exported data can be in CSV, Parquet (version 1.0), or JSON formats.
- The export link expires in 24 hours after it is ready.
- The rate limit for raw export is 1 request per day. Failed requests don't count. Based on the UTC zone, the API can be called only once in 24 hours. The limitation timeline resets at UTC 00:00.
- The value of X-PARTNER-NAME header should be lowercase.
The default limit shown here is a standard baseline. If your use case requires higher capacity, feel free to reach out to the Insider One team — we can adjust it to fit your needs.