Note:
- Earliest date is the day before yesterday.
- The report involves third-party data. It is recommended to pull yesterday's data again around 10 p.m. (third-party data may continue to be updated). Under normal circumstances, the data will be complete at this time.
1. Request URL
https://api.toponad.net/v3/ltvreport
2. Request Method
POST
3. Request params
params | type | required | notes | sample |
---|---|---|---|---|
start_date | Int | Y | Start date, format: YYYYmmdd | 20190501 |
end_date | Int | Y | End date, format: YYYYmmdd | 20190506 |
appid_list | Array[String] | N | App ID list | ["a600e6fbeac98c"] |
area_list | Array[String] | N | Country Short Code list | ["US"] |
channel_list | Array[String] | N | Channel list | [“MyChannel”] |
time_zone | String | N | Report Timezone, UTC+8, UTC+0, UTC-8, default UTC+8 | UTC+0 |
start | Int | Y | Offset, default 0 | 0 |
limit | Int | Y | Limit row number. default 1000. [1,1000] | default 1000 |
metric | Array[String] | Y |
The requested metrics, where ltv_day_xx represents the revenue from all new users on the Nth day (distinction from the backend: the backend represents the average revenue from new users, e.g.: ltv_day_60 (60th day ltv) |
["ltv_day_11","ltv_day_12","ltv_day_13"] |
group_by | Array[String] | Y | Group by dimension. The default date and app dimensions are fixed. Only iOS apps support the device dimension. If the developer submits both iOS and Android apps, only iOS app data will be returned: date (Date, default value), app (Application), area (Country Short Code), channel (Channel), device (Device Type) |
["date","app","area","channel","device"] |
4. Return data
fields | type | required | notes |
---|---|---|---|
records | Array[Object] | Y | Record, object array. The structure of each record is shown in the records element structure below. It is empty when there is no data. |
count | Int | Y | Count of the row numbers |
time_zone | String | Y | UTC+8, UTC+0, UTC-8 |
currency | string | Y | Returned according to the developer account currency |
records:
fields | type | required | notes |
---|---|---|---|
app | Object | Y | App |
app.app_id | String | Y | App ID |
app.name | String | Y | App name |
app.platform | Int | Y | App platform |
date | Int32 | Y | Date,format:YYYYmmdd. Return if in param 'group_by' |
area | String | N | Country Short Code, response by group_by select channel |
channel | String | N | Channel, response by group_by select channel |
device | String | N | Device Type, response by group_by select channel |
new_user | Int | Y | New User Count |
ltv_day_xx | Float | Y | ltv_day_(num) (1-60) |
5. Sample
Request sample:
curl --location --request POST 'https://api.toponad.net/v3/ltvreport' \
--header 'X-Up-Key: 877f8ae9c6e9ca82c0==5b5fff594c373axxx' \
--header 'X-Up-Signature: CE12B506DBCD868C2C6F09E08C139CBC' \
--header 'X-Up-Timestamp: 1626161553000' \
--header 'Content-Type: application/json' \
--data-raw '{
"start_date": 20200301,
"end_date": 20200301,
"appid_list":["a5c41a9ed1679c"],
"group_by":["date","area"],
"start": 0,
"limit": 30,
"metric": ["all"]
}'
Return data sample:
{
"records": [
{
"app": {
"app_id": 67,
"name": "aabbcc",
"platform": 2
},
"date": 20200424,
"ltv_day_1": 19.563598,
"ltv_day_10": 0,
"ltv_day_11": 0,
"ltv_day_12": 0,
"ltv_day_13": 0,
"ltv_day_14": 0,
"ltv_day_15": 0,
"ltv_day_16": 0,
"ltv_day_17": 0,
"ltv_day_18": 0,
"ltv_day_19": 0,
"ltv_day_2": 0,
"ltv_day_20": 0,
"ltv_day_21": 0,
"ltv_day_22": 0,
"ltv_day_23": 0,
"ltv_day_24": 0,
"ltv_day_25": 0,
"ltv_day_26": 0,
"ltv_day_27": 0,
"ltv_day_28": 0,
"ltv_day_29": 0,
"ltv_day_3": 0,
"ltv_day_30": 0,
"ltv_day_31": 0,
"ltv_day_32": 0,
"ltv_day_33": 0,
"ltv_day_34": 0,
"ltv_day_35": 0,
"ltv_day_36": 0,
"ltv_day_37": 0,
"ltv_day_38": 0,
"ltv_day_39": 0,
"ltv_day_4": 0,
"ltv_day_40": 0,
"ltv_day_41": 0,
"ltv_day_42": 0,
"ltv_day_43": 0,
"ltv_day_44": 0,
"ltv_day_45": 0,
"ltv_day_46": 0,
"ltv_day_47": 0,
"ltv_day_48": 0,
"ltv_day_49": 0,
"ltv_day_5": 0,
"ltv_day_50": 0,
"ltv_day_51": 0,
"ltv_day_52": 0,
"ltv_day_53": 0,
"ltv_day_54": 0,
"ltv_day_55": 0,
"ltv_day_56": 0,
"ltv_day_57": 0,
"ltv_day_58": 0,
"ltv_day_59": 0,
"ltv_day_6": 0,
"ltv_day_60": 0,
"ltv_day_7": 0,
"ltv_day_8": 0,
"ltv_day_9": 0
}
],
"time_zone": "",
"count": 128
}