---
title: "Daily Exports API Overview"
slug: "daily-exports-api"
updated: 2026-02-03T15:25:44Z
published: 2026-02-03T15:25:44Z
canonical: "help.branch.io/daily-exports-api"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://help.branch.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Daily Exports API Overview

## Overview

### Benefits of Daily Exports API

Branch’s Daily Exports pull granular Branch event data directly. You can do so either via the [Daily Exports section in your Branch Dashboard](/v1/docs/dashboard-daily-exports) OR this API directly.

### API Limitations

| Limitation | Details |
| --- | --- |
| Data Availability | Daily Export data is processed every 24 hours. The API retrieves downloadable files processed by job that runs at 4:00 UTC. Typically, the full day’s data is available by about 7:00 UTC. However, it may take until 20:00 UTC for your full day’s files to be available in Branch’s S3 bucket. |
| Max number of days that can be queried at a time | 7 Days. |
| Export Window | Rolling 7 day window |
| Data Visibility | The data will not be visible prior to your whitelisting date. After you sign up, data will be generated for the next UTC day or the following UTC day. |
| Data Visibility for Keys | The data will only be visible for your live key (not your test key). |
| Click data related to SANs (e.g. Google Ads) | Can be found at the campaign level rather than device level. |
| Data Purge | Branch will purge last-attributed data after 60 days |
| Data Hashing | Many fields are hashed, including IP address and advertising identifiers, after 7 days. See [Data Hashing](/v1-api/apidocs/daily-exports-api#data-hashing) for further details. |
| File Limitations | Multiple files are expected with 200K rows per file when using Daily Exports. If your export has less than 200K rows, there will only be one file. |

## Get started

### Prerequisites

- You must have a **Data Feeds** subscription.
- Toggle on the **Data Export API** using the slider on the **Data Feeds Manager page**.
- To access the API, you must have [**Admin**](/v1/docs/add-manage-users-roles-permissions-access) access.

### Third Party API Access

Any user with access to an account’s API keys will be able to access Branch’s Daily Export API (and thus unfiltered, log-level data). As a result, we would recommend against providing third parties (agencies and ad partners) with the permissions required to view API keys - Sensitive Data and App-Level Settings - during the invitation process.

### Authentication

For calls to the Daily Exports API, you will need your Branch Key and Branch Secret.

**Legacy Branch**

To retrieve your credentials in the [legacy Branch experience](/marketer-hub/docs/branch-dashboard-overview):

1. Navigate to the **Account → Settings → Profile** [tab](https://dashboard.branch.io/account-settings/profile).
2. Use the **copy icons** to copy your Branch Key and Branch Secret.

**New Branch**

To retrieve your credentials in the [new Branch experience](/account-hub/docs/credentials):

1. Navigate to the **Configuration → Security & Access → Credentials** [tab](https://branchdocs.app.link/apis-to-credentials).
2. Use the **copy icons** to copy your Branch Key and Branch Secret.

Visit our [Credentials guide](https://help.branch.io/docs/credentials-new) to learn more about managing your Branch credentials.

## Usage

### Daily Exports Request

```http
POST
        https://api2.branch.io/v3/export
        Headers:
        Content-Type: application/json
        Body: JSON parameters
        Host: api2.branch.io
```

### Request Headers:

| Header | Description | Required |
| --- | --- | --- |
| Content-Type | application/json | **Yes** |

### Request Body Parameters:

| Parameter | Description | Required |
| --- | --- | --- |
| branch_key | The Branch key of the originating app. | **Yes** |
| branch_secret | The Branch secret key of the originating app. | **Yes** |
| export_date | The UTC date of the requested data export. | **Yes** |

### Response Body Parameters:

| Parameter | Type | Human Readable Name |
| --- | --- | --- |
| eo_branch_cta_view | Array of Strings | CTA Views |
| eo_click | Array of Strings | Clicks |
| eo_commerce_event | Array of Strings | Commerce Events |
| eo_content_event | Array of Strings | Content Events |
| eo_custom_event | Array of Strings | Custom Events |
| eo_impression | Array of Strings | Impressions |
| eo_install | Array of Strings | Installs |
| eo_open | Array of Strings | Opens |
| eo_pageview | Array of Strings | Pageviews |
| eo_reinstall | Array of Strings | Reinstalls |
| eo_sms_sent | Array of Strings | SMS Sent |
| eo_user_lifecycle_event | Array of Strings | User Lifecycle Events |
| eo_web_session_start | Array of Strings | Web Session Starts |
| eo_dismissal | Array of Strings | Dismissal |

#### Example Request/Response:

Request (cURL)Response (JSON)

```cURL
curl --request POST \
                    --url https://api2.branch.io/v3/export \
                    --header 'Accept: application/json' \
                    --header 'Content-Type: application/json' \
                    --data '
                    {
                    "branch_key": "key_live_xxxxxxxxxxxx",
                    "branch_secret": "secret_live_xxxxxxxxxx",
                    "export_date": "2022-06-01"
                    }
```

```json
{
                    "eo_branch_cta_view": <Array of String(s)>,
                    "eo_click": <Array of String(s)>,
                    "eo_commerce_event": <Array of String(s)>,
                    "eo_content_event": <Array of String(s)>,
                    "eo_custom_event": <Array of String(s)>,
                    "eo_impression": <Array of String(s)>,
                    "eo_install": <Array of String(s)>,
                    "eo_open": <Array of String(s)>,
                    "eo_pageview": <Array of String(s)>,
                    "eo_reinstall": <Array of String(s)>,
                    "eo_sms_sent": <Array of String(s)>,
                    "eo_user_lifecycle_event": <Array of String(s)>,
                    "eo_web_session_start": <Array of String(s)>,
                    "eo_web_to_app_auto_redirect": <Array of String(s)>,
                    "eo_dismissal": <Array of String(s)>
                    }
```

> [!NOTE]
> **Note**
> 
> If you are trying to run this curl command in Command Prompt on a machine running Windows, you will need to change ' to " and escape the " in curly brackets with a . Here is a final example:
> 
> ```plaintext
> curl --request POST \
>             --url https://api2.branch.io/v3/export \
>             --header "Accept: application/json" \
>             --header "Content-Type: application/json" \
>             --data "
>             {\"branch_key\": \"key_live_xxxxxxxxxxxx\",\"branch_secret\": \"secret_live_xxxxxxxxxx\",\"export_date\": \"2022-06-01\"}"
> ```

The response payload will be in JSON format and for each export, it will have an array of paths to files on S3 to download.

- Note that there may be multiple files (depending on the size of the day's export) and that each CSV file will be gzipped.
- Each of the keys in the example above may not be present in the response depending on if you had any events for that topic for the specified day.

All exports via Data Feeds are powered by Branch's People-Based Attribution. For an exhaustive list of events included in these exports and more detailed definitions of each event, please see the [Event Ontology Data Schema](https://help.branch.io/developers-hub/docs/branch-event-ontology?highlight=event%20ontology).

### Response Codes:

| Response Code | Description |
| --- | --- |
| 200 | Status of aggregate export |
| 400 | Authentication Failed |

## Appendix

### Data Hashing

In accordance with our internal policies related to GDPR and other data protection laws, we hash many fields, including IP address and advertising identifiers, after 7 days.

This means that if you want to export data beyond 7 days, either via the Dashboard's CSV Exports or by requesting a manual data dump, these fields will no longer contain the original values.

For this reason, we highly recommend you always export raw data within 7 days.

### Daily Download Availability

Daily Export data is processed every 24 hours and typically the full day’s data is available by about 7:00 UTC. However, it may take until 20:00 UTC for your full day’s files to be available in Branch’s S3 bucket.

If the data does not exist or the job has not finished, the API will return an empty array. Therefore, it is recommended that you schedule any ETLs for the previous day with the above SLA in mind.

### IP Discrepancies

Geographic data, such as country and city, may not be available for a very small percentage of events where the IP cannot be resolved to a location.

### Time Limits

Data will be available through the API only for 6 months after the date it's posted. If you need a record of your data for longer than 6 months, please set up a recurring export and store data in your systems.

### Exporting beyond 7 days

In accordance with our internal policies related to GDPR and other data protection laws, we hash many fields, including IP address and advertising identifiers, after 7 days. This means that if you want to export data beyond 7 days, either via the Dashboard's CSV Exports or by requesting a manual data dump, these fields will no longer contain the original values. For this reason, we highly recommend you always export raw data within 7 days.

> [!NOTE]
> **Note**
> 
> Due to the resources required to complete a manual data dump, this service is available to Branch Enterprise tier clients only.

### Daily Exports Fields

Core DataLast Attributed Touch DataLast CTA View DataUser DataEvent Data

```plaintext
id
                    origin
                    name
                    timestamp
                    timestamp_iso
                    event_timestamp
                    store_install_begin_timestamp
                    referrer_click_timestamp
                    days_from_install_to_opt_in
                    days_from_last_attributed_touch_to_event
                    hours_from_last_attributed_touch_to_event
                    minutes_from_last_attributed_touch_to_event
                    seconds_from_last_attributed_touch_to_event
                    deep_linked
                    first_event_for_user
                    customer_event_alias
                    di_match_click_token
                    hash_version
                    request_id
                    match_guaranteed
                    custom_data
                
```

```plaintext
last_attributed_touch_type
                    last_attributed_touch_timestamp
                    last_attributed_touch_timestamp_iso
                    last_attributed_touch_data_tilde_id
                    last_attributed_touch_data_tilde_campaign
                    last_attributed_touch_data_tilde_campaign_id
                    last_attributed_touch_data_tilde_channel
                    last_attributed_touch_data_tilde_feature
                    last_attributed_touch_data_tilde_stage
                    last_attributed_touch_data_tilde_tags
                    last_attributed_touch_data_tilde_advertising_partner_name
                    last_attributed_touch_data_tilde_secondary_publisher
                    last_attributed_touch_data_tilde_creative_name
                    last_attributed_touch_data_tilde_creative_id
                    last_attributed_touch_data_tilde_ad_set_name
                    last_attributed_touch_data_tilde_ad_set_id
                    last_attributed_touch_data_tilde_ad_name
                    last_attributed_touch_data_tilde_ad_id
                    last_attributed_touch_data_tilde_branch_ad_format
                    last_attributed_touch_data_tilde_technology_partner
                    last_attributed_touch_data_tilde_banner_dimensions
                    last_attributed_touch_data_tilde_placement
                    last_attributed_touch_data_tilde_keyword_id
                    last_attributed_touch_data_tilde_agency
                    last_attributed_touch_data_tilde_optimization_model
                    last_attributed_touch_data_tilde_secondary_ad_format
                    last_attributed_touch_data_tilde_journey_name
                    last_attributed_touch_data_tilde_journey_id
                    last_attributed_touch_data_tilde_view_name
                    last_attributed_touch_data_tilde_view_id
                    last_attributed_touch_data_plus_current_feature
                    last_attributed_touch_data_plus_via_features
                    last_attributed_touch_data_dollar_3p
                    last_attributed_touch_data_plus_web_format
                    last_attributed_touch_data_custom_fields
                    last_attributed_touch_data_tilde_keyword
                    last_attributed_touch_data_tilde_customer_campaign
                    last_attributed_touch_data_tilde_campaign_type
                    last_attributed_touch_data_tilde_agency_id
                    last_attributed_touch_data_plus_touch_id
                    last_attributed_touch_data_tilde_keyword_match_type
                    last_attributed_touch_data_tilde_organic_search_url
                    last_attributed_touch_data_dollar_marketing_title
```

```plaintext
last_cta_view_timestamp
                    last_cta_view_timestamp_iso
                    last_cta_view_data_tilde_id
                    last_cta_view_data_tilde_campaign
                    last_cta_view_data_tilde_campaign_id
                    last_cta_view_data_tilde_channel
                    last_cta_view_data_tilde_feature
                    last_cta_view_data_tilde_stage
                    last_cta_view_data_tilde_tags
                    last_cta_view_data_tilde_advertising_partner_name
                    last_cta_view_data_tilde_secondary_publisher
                    last_cta_view_data_tilde_creative_name
                    last_cta_view_data_tilde_creative_id
                    last_cta_view_data_tilde_ad_set_name
                    last_cta_view_data_tilde_ad_set_id
                    last_cta_view_data_tilde_ad_name
                    last_cta_view_data_tilde_ad_id
                    last_cta_view_data_tilde_branch_ad_format
                    last_cta_view_data_tilde_technology_partner
                    last_cta_view_data_tilde_banner_dimensions
                    last_cta_view_data_tilde_placement
                    last_cta_view_data_tilde_keyword_id
                    last_cta_view_data_tilde_agency
                    last_cta_view_data_tilde_optimization_model
                    last_cta_view_data_tilde_secondary_ad_format
                    last_cta_view_data_plus_via_features
                    last_cta_view_data_dollar_3p
                    last_cta_view_data_plus_web_format
                    last_cta_view_data_custom_fields
                    last_cta_view_data_plus_touch_id
                    last_cta_view_data_tilde_campaign_type
                
```

```plaintext
user_data_os
                    user_data_os_version
                    user_data_model
                    user_data_browser
                    user_data_geo_country_code
                    user_data_app_version
                    user_data_sdk_version
                    user_data_geo_dma_code
                    user_data_environment
                    user_data_platform
                    user_data_aaid
                    user_data_idfa
                    user_data_idfv
                    user_data_android_id
                    user_data_limit_ad_tracking
                    user_data_user_agent
                    user_data_ip
                    user_data_developer_identity
                    user_data_language
                    user_data_brand
                    user_data_cross_platform_id
                    user_data_past_cross_platform_ids
                    user_data_prob_cross_platform_ids
                    user_data_os_version_android
                    user_data_geo_city_code
                    user_data_geo_city_en
                    user_data_http_referrer
                    user_data_installer_package_name
                    user_data_cpu_type
                    user_data_screen_width
                    user_data_screen_height
                    user_data_build
                    user_data_internet_connection_type
                    user_data_opted_in
                    user_data_opted_in_status
                    user_data_oaid
```

```plaintext
event_data_revenue_in_usd
                    event_data_exchange_rate
                    event_data_transaction_id
                    event_data_revenue
                    event_data_currency
                    event_data_shipping
                    event_data_tax
                    event_data_coupon
                    event_data_affiliation
                    event_data_search_query
                    event_data_description
                    event_custom_param_1
                    event_custom_param_2
                    event_custom_param_3
```

## FAQs

****I am setting the Identity ID through the SDK code. How can I view it in Branch?****

You can utilize Branch's Live Feature to see data flow to Branch Servers via the SDK to verify the recording of particular App Install/Open and see the corresponding attribution for your identity id as well.

Furthermore, you can also export the data using the [Daily Exports API](https://help.branch.io/v1-api/apidocs/daily-exports-api) and check for the developer's identity column there.

****Why are AAIDs in invalidly formatted in exports?****

You are observing this since the AAIDs are hashed.

Below are the parameters/device Identifiers that get hashed after 7 days on the Branch system:

- AAID
- Android ID
- IDFA
- IDFV
- Users IP
- Developer Identity
