The reports endpoint enables you to combine data from many services in a single report. Request installs, revenue, ad spend, and SKAdNetwork data divided by day, app, and ad network.
Fetch JSON report
GET https://automate.adjust.com/reports-service/reportReturns filtered data from the report service in JSON format.
Filters
| Filter | Type | Description | Example | 
|---|---|---|---|
| dimensions* | String | Comma-separated values used to group parameters. See the dimensions table below for more information. | dimensions=app,os_name,week,campaign_id_network | 
| metrics* | String | Comma-separated KPIs. See the metrics table below for more information. | metrics=cost,installs,ecpi_network | 
| date_period* | String | Start and end dates for the report with 3 supported formats: 
 | 
 | 
| cohort_maturity | String | 
 | cohort_maturity=immature | 
| utc_offset | String | The timezone used in the report. | utc_offset=+01:00 | 
| attribution_types | String | The type of engagement the attribution awards. 
 | attribution_types=click,engaged_ad | 
| attribution_source | String | Whether in-app activity is assigned to the user’s install source ( first) or divided among the install source and subsequent sources of reattribution (dynamic). Defaults todynamic. | attribution_source=first | 
| reattributed | String | Filter for reattributed users only. Reattribution is when a user who has already installed your app returns to it through a new Adjust-measured source. 
 | reattributed=false | 
| iap_revenue_mode | String | The percentage of gross ad revenue returned by the endpoint. Available options are: 
 | iap_revenue_mode=GROSS_70 | 
| ad_revenue_sources | String | Comma-separated list of ad revenue sources. | ad_revenue_sources=unknown | 
| os_names | String | Comma-separated list of operating system names. | os_names=ios,android | 
| ad_spend_mode | String | Determines the ad spend source applied in calculations. See How ad spend source affects your data for more information. 
 | ad_spend_mode=network | 
| sandbox | Boolean | Whether to use sandbox data or production data. Defaults to false. | sandbox=true | 
| sort | String | Comma-separated list of metrics/dimensions to sort the report by. Use -to order descending. | sort=-clicks,installs | 
| index | String | Comma-separated list of dimensions used to index the report. | index=network,campaign,adgroup | 
| format_dates | Boolean | If set to false, all date dimensions are returned in ISO format. | format_dates=false | 
| period_over_period | String | The period for comparing report data. | period_over_period=previous_week | 
| currency | String | Currency used for conversion of money related metrics. | currency=USD | 
| [dimension]__in | String | Comma-separated list of values to filter dimension’s values (exact match) for any dimension. | campaign__in=abc,def | 
| [dimension]__not_in | String | Comma-separated list of values to filter dimension’s values (exclude exact match) for any dimension | campaign__not_in=abc,def | 
| [dimension]__contains | String | Substring search in dimension’s values (case insensitive) for any dimension. | campaign__contains=ios | 
| [dimension]__exclude | String | Excluding substring search in dimension’s values (case insensitive) for any dimension. | campaign__exclude=ios | 
| [dimension]__starts_with | String | Substring search matching dimensions starting with specified prefix (case insensitive). | campaign__starts_with=ios | 
| [dimension]__not_starts_with | String | Substring search matching dimensions not starting with specified prefix (case insensitive). | campaign__not_starts_with=ios | 
| [dimension]__ends_with | String | Substring search matching dimensions ending with specified suffix (case insensitive). | campaign__ends_with=ios | 
| [dimension]__not_ends_with | String | Substring search matching dimensions not ending with specified suffix (case insensitive). | campaign__not_ends_with=ios | 
| [metric]__lt | String | ”Less than” filter for metric’s values any metric. | skad_installs__lt=100 | 
| [metric]__lte | String | ”Less than or equal” filter for metric’s values for any metric. | skad_installs__lte=100 | 
| [metric]__gt | String | ”Greater than” filter for metric’s values for any metric. | skad_installs__gt=100 | 
| [metric]__gte | String | ”Greater than or equal” filter for metric’s values for any metric. | skad_installs__gte=100 | 
| [metric]__eq | String | ”Equal” filter for metric’s values for any metric. | skad_installs__eq=100 | 
| [metric]__ne | String | ”Not equal” filter for values relating to any metric. | skad_installs__ne=100 | 
Dimensions
Dimensions allow a user to break down metrics into groups using one or several parameters. For example, the number of installs by date, country and network.
| Dimension | Data type | Description | Example | 
|---|---|---|---|
| hour | Date | Use format_dates=falseto return the value in ISO format.YYYY-MM-DDTHH:MM:SS | 2021-05-11T17:00:45 | 
| day | Date | Use format_dates=falseto return the value in ISO format.YYYY-MM-DD | 2021-05-11 | 
| week | Date | Use format_dates=falseto return the value in ISO format.YYYY-MM-DD - YYYY-MM-DD | 2021-05-09 - 2021-05-15 | 
| month | Date | Use format_dates=falseto return the value in ISO format.YYYY-MM | 2021-05 | 
| year | Date | Use format_dates=falseto return the value in ISO format.YYYY | 2021 | 
| quarter | String | Use format_dates=falseto return the value in ISO format.Q<quarter_number> YYYY | Q2 2021 | 
| os_name | String | Possible values: 
 | |
| device_type | String | Possible values: 
 | |
| app | String | Name of the app. | |
| app_token | String | App ID in the Adjust system. | |
| ad_account_id | String | The ID of the advertising account. | |
| store_id | String | Store App ID. | com.random.app | 
| store_type | String | Store from where the app was installed. | google_play | 
| currency | String | Currency name. | Euro | 
| currency_code | String | 3-character value ISO 4217. | EUR | 
| network | String | The name of the advertising network. | Organic, AppLovin, Facebook Installs, Instagram Installs. | 
| campaign | String | Link sub-level 1. String value usually contains campaign name and id. | |
| campaign_network | String | Campaign name from the network. | |
| campaign_id_network | String | Campaign ID from the network. | |
| adgroup | String | Link sub-level 2. String value usually contains adgroup name and id. | |
| adgroup_network | String | Adgroup name from the network. | |
| adgroup_id_network | String | Adgroup ID from the network. | |
| source_network | String | Name of the source network. Optional value dependent on the network. | |
| source_id_network | String | ID of the source network. | |
| creative | String | Link sub-level 3. String value usually contains creative name and id. | |
| creative_network | String | Creative name from the network. | |
| creative_id_network | String | Creative ID from the network. | |
| country | String | Country name. | United States of America | 
| country_code | String | 2-character value ISO 3166. | US | 
| region | String | Business region. | APAC | 
| partner_name | String | Partner’s name in the Adjust system. | AppLovin | 
| partner_id | String | Partner’s id in the Adjust system. | 34 | 
| partner | String | The unique slug of the partner. | applovin | 
| channel | String | A combination of partner_nameandnetwork. | |
| platform | String | The device platform type, e.g. mobile_app,weborundefined. | mobile_app | 
Metrics
Metrics are used to assess and compare the performance of campaigns you run and measure with Adjust.
At least 1 metric is required in each request. The most common metrics are:
- installs
- clicks
- impressions
A full list of metrics is available in the Datascape metrics glossary. You can also use the Filters Data endpoint to search for metrics.
Response format
{   "rows": [      {         "attr_dependency": {},         "app": "App Name",         "partner_name": "AppLovin",         "campaign": "Campaign Name (Campaign ID)",         "campaign_id_network": "Campaign ID",         "campaign_network": "Campaign Name",         "installs": "64",         "cost": "1000"      }   ],   "totals": {      "installs": 64,      "cost": 1000   },   "warnings": []}Response codes
This endpoint returns the following responses:
| Response | Description | Notes | 
|---|---|---|
| 200 | Success | Returns report information | 
| 204 | No content | Returned if the response object is empty | 
| 400 | Bad request | Returned if your request is malformed or contains unsupported parameters | 
| 401 | Unauthorized | Returned if your credentials are incorrect or absent | 
| 403 | Forbidden | Returned if you try to access information you don’t have permission to view | 
| 429 | Too many requests | Returned if you exceed 50 simultaneous requests | 
| 503 | Service unavailable | Returned if the server can’t be reached | 
| 504 | Gateway timeout | Returned if the query takes too long to return a response | 
Example
$ curl \--header 'Authorization: Bearer <adjust_api_token>' \--location --request GET 'https://automate.adjust.com/reports-service/report?ad_spend_mode=network&app_token__in={app_token1},{app_token2}&date_period=2021-05-01:2021-05-02&dimensions=app,partner_name,campaign,campaign_id_network,campaign_network&metrics=installs,network_installs,network_cost,network_ecpi'{   "rows": [      {         "attr_dependency": {            "campaign_id_network": "unknown",            "partner_id": "-300",            "partner": "Organic"         },         "app": "Test app",         "partner_name": "Organic",         "campaign": "unknown",         "campaign_id_network": "unknown",         "campaign_network": "unknown",         "installs": "10",         "network_installs": "0",         "network_cost": "0.0",         "network_ecpi": "0.0"      }   ],   "totals": {      "installs": 10.0,      "network_installs": 0.0,      "network_cost": 0.0,      "network_ecpi": 0.0   },   "warnings": [],   "pagination": null}