Choosing a period
Supply either a preset or an explicit range.
On
GET endpoints the same choice is expressed as query parameters — period=last_30d, or
period_start=2026-08-01&period_end=2026-08-31.
Presets end yesterday, not today. A partial day is not comparable to a complete one, and
including it would make every growth rate wrong in the same direction. To measure today
explicitly, pass today’s date as both
start and end.America/Los_Angeles for US, Asia/Jakarta for ID. Read the zone from
GET /channels rather than assuming UTC.
When a period gets adjusted
Not every market reports daily buckets. When your request is finer than the market supports, Unif widens it to the nearest supported boundary and says so.2026-09-01 to 2026-09-12 in a weekly-only market: the
window was widened to whole weeks, and adjusted: true marks it.
Growth rates
revenue_growth_rate compares the period you requested against the immediately preceding window
of equal length. last_30d is compared with the 30 days before it.
The value is a ratio, never a percentage: 0.25 is +25%, -0.4 is −40%. This holds for every
*_rate and *_share field in the API.
null, not 0, when the preceding window has no data — a shop that opened three weeks
ago has no 30-day comparison to make. Treating that null as zero growth is the most common way
to mis-rank a “fastest growing” list.
Currency
Setcurrency to any ISO 4217 code and every monetary field in the response is converted to it.
The default is USD.
USD for an IDR market is the sum of each day’s local
revenue converted at that day’s rate — so re-running the same query next week returns the same
historical number.
Non-monetary fields are never converted. units_sold is a count, engagement_rate is a ratio,
and gpm is revenue-derived so it follows currency.