API referenceLaunches

Get daily insights

Returns daily insights for the launch, one row per day summed across every entity at level: spend, impressions, clicks, reach, frequency, hook and hold rate, results, CPA, CTR (all clicks) and CPM. The window is the last days days, or startDate to endDate when both are given. reach is null when more than one entity is summed. Values are live reads from the ad platform.

GET
/v1/brands/{brandId}/launches/{launchId}/insights/daily
bearerAuth
headerAuthorizationBearer <token>

An organization API key (koast_sk_…) with the API surface enabled, or an OAuth access token issued by Koast (koast_at_…) whose audience covers this API. REST access requires an active Agency plan.

brandId*integer

The brand the request acts on. Every brand-scoped resource lives under its brand.

launchId*string

The campaign launch (batch) id.

level?string
Default"campaign"
Value in"campaign""adset""ad"
days?number
Range1 <= value <= 90
Default30
startDate?string

Explicit window start (YYYY-MM-DD). Pass BOTH startDate and endDate to fetch an exact date range instead of the relative days window, use this when the user names specific dates so the year is never guessed.

Match^\d{4}-\d{2}-\d{2}$
endDate?string

Explicit window end (YYYY-MM-DD). Pass together with startDate; overrides days.

Match^\d{4}-\d{2}-\d{2}$

Response Body

Get daily insights

application/json
  1. response
days*array<>
dateRange*
dataAvailability*string
Value in"NO_LIVE_ENTITIES""OUT_OF_WINDOW""AVAILABLE"
campaignLaunchId?string

The launch these days belong to, echoed back so a second read can be scoped to the same launch without guessing.

level?string

Which level the days were summed across, echoed back from the request.

Value in"campaign""adset""ad"
asOf?string

ISO time of the live provider read behind this response. Set on MCP and API responses, which may be served from the short metrics cache.

[key: string]?unknown
curl -X GET "https://example.com/v1/brands/0/launches/string/insights/daily" \  -H "Authorization: Bearer koast_sk_..."
{  "days": [    {      "date": "string",      "spend": 0,      "impressions": 0,      "clicks": 0,      "reach": 0,      "entities": 0,      "frequency": 0,      "hook_rate": 0,      "hold_rate": 0,      "cpa": 0,      "ctr": 0,      "cpm": 0,      "purchases": 0,      "results": 0,      "resultActionType": "string",      "property1": null,      "property2": null    }  ],  "dateRange": {    "start": "string",    "end": "string",    "property1": null,    "property2": null  },  "dataAvailability": "NO_LIVE_ENTITIES",  "campaignLaunchId": "string",  "level": "campaign",  "asOf": "string",  "property1": null,  "property2": null}

Required scope: read. CLI: koast get-insights-daily, see Launches commands. Authentication, headers, errors and pagination work the same on every operation. See Conventions.