Skip to main content

Overview

The DARO Report API allows you to programmatically query ad performance data outside of the DARO dashboard. Retrieve key metrics such as revenue, impressions, and clicks grouped by various dimensions.

Authentication

You must obtain an Access Token before using the Report API.

1. Get Your Secret Key

Find your report_secret_key in the DARO Dashboard.

2. Issue an Access Token

POST https://api.daro.so/report/v1/auth
Request Body:
{
  "secretKey": "YOUR_REPORT_SECRET_KEY"
}
Response:
{
  "accessToken": "eyJhbGciOiJIUzI1NiIs...",
  "expiresAt": "2025-01-01T01:00:00Z"
}
FieldTypeDescription
accessTokenStringAuthentication token for API requests
expiresAtStringToken expiration time

3. Use the Token in API Requests

Include the issued accessToken in the HTTP header when calling the API.
Authorization: Bearer {accessToken}
Request Example:
curl -X POST "https://api.daro.so/report/v1/auth" \
  -H "Content-Type: application/json" \
  -d '{"secretKey": "YOUR_REPORT_SECRET_KEY"}'
The accessToken expires at the time specified in expiresAt. Once expired, you must issue a new token via the /report/v1/auth endpoint.

Report Query

GET https://api.daro.so/report/v1/metrics

Request Parameters

All parameters are passed as query strings.
ParameterTypeDescriptionExample
from (required)StringStart date (YYYY-MM-DD)2025-01-01
to (required)StringEnd date (YYYY-MM-DD). Must be after from, and the date range must not exceed 90 days2025-01-31
group_by (required)StringGrouping dimension (comma-separated for multiple)date,app_key
app_keyStringFilter by specific appyour_app_key
ad_unit_idStringFilter by specific ad unitfa1c6d2f-5016-467d-b54c-672299c7db4c
ad_formatStringFilter by ad formatbanner
countryStringFilter by country codeKR
platformStringFilter by platformandroid
page_sizeIntNumber of items per page (default: 10, max: 1000)20
page_numberIntPage number (default: 1)1

Available group_by Values

ValueDescription
dateGroup by date
app_keyGroup by app
ad_unit_idGroup by ad unit
ad_formatGroup by ad format
countryGroup by country
platformGroup by platform

Request Example

curl -X GET "https://api.daro.so/report/v1/metrics?from=2025-01-01&to=2025-01-31&group_by=date,app_key&page_size=20&page_number=1" \
  -H "Authorization: Bearer {accessToken}"

Response

Response Fields

FieldTypeDescription
dateStringDate
appKeyStringApp key (returned when group_by includes app_key)
appNameStringApp name (returned when group_by includes app_key)
adUnitNameStringAd unit name (returned when group_by includes ad_unit_id)
adFormatStringAd format (returned when group_by includes ad_format)
countryStringCountry code (returned when group_by includes country)
platformStringPlatform (returned when group_by includes platform)
revenueFloatRevenue (USD)
adRequestIntNumber of ad requests
matchedRequestIntNumber of matched requests
impressionIntNumber of impressions
clickIntNumber of clicks
matchRateFloatMatch rate (matchedRequest / adRequest)
showRateFloatShow rate (impression / matchedRequest)
ctrFloatClick-through rate (click / impression)
ecpmFloateCPM (revenue / impression * 1000)

Response Example

{
  "data": [
    {
      "date": "2025-01-01",
      "appKey": "your_app_key",
      "appName": "My App",
      "revenue": 123.45,
      "adRequest": 10000,
      "matchedRequest": 8500,
      "impression": 8000,
      "click": 160,
      "matchRate": 0.85,
      "showRate": 0.9412,
      "ctr": 0.02,
      "ecpm": 15.43
    },
    {
      "date": "2025-01-02",
      "appKey": "your_app_key",
      "appName": "My App",
      "revenue": 130.20,
      "adRequest": 11000,
      "matchedRequest": 9200,
      "impression": 8700,
      "click": 174,
      "matchRate": 0.8364,
      "showRate": 0.9457,
      "ctr": 0.02,
      "ecpm": 14.97
    }
  ],
  "page_size": 20,
  "page_number": 1,
  "total_count": 31
}
Fields for dimensions not included in group_by are omitted from the response. For example, if you request with group_by=date, fields like appKey, appName, and adUnitName will not be included in the response.