API Reference
Overview
GET /api/v1/overview — KPIs, revenue, ROAS, visitors
GET /api/v1/overviewReturns KPIs for the current period and an automatically-computed previous period of equal length for comparison.
Scope: analytics:read
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
date_from | string | Yes | Start date (YYYY-MM-DD) |
date_to | string | Yes | End date (YYYY-MM-DD) |
model | string | No | Attribution model (default: last_touch) |
filter[dimension] | string | No | Filter by dimension, e.g., filter[channel]=is:Paid Social |
Attribution models
last_touch · first_touch · split_50_50 · linear · position_based · time_decay · last_non_direct · custom_weighted
Request
curl -H "Authorization: Bearer atb_live_YOUR_KEY" \
"https://www.atribu.app/api/v1/overview?date_from=2026-03-01&date_to=2026-03-25&model=last_touch"const response = await fetch(
"https://www.atribu.app/api/v1/overview?date_from=2026-03-01&date_to=2026-03-25&model=last_touch",
{
headers: {
Authorization: "Bearer atb_live_YOUR_KEY",
},
}
);
const data = await response.json();import requests
resp = requests.get(
"https://www.atribu.app/api/v1/overview",
headers={"Authorization": "Bearer atb_live_YOUR_KEY"},
params={
"date_from": "2026-03-01",
"date_to": "2026-03-25",
"model": "last_touch",
},
)
data = resp.json()Response
{
"data": {
"current": {
"spend": 4250.00,
"revenue": 12800.00,
"roas": 3.01,
"outcomes": 145,
"attributed_outcomes": 132,
"coverage_percent": 91.03,
"visitors": 8420,
"pageviews": 24100,
"bounce_rate": 42.5,
"avg_engaged_seconds": 185,
"cash_revenue": 12800.00,
"cash_payments": 48
},
"previous": {
"spend": 3900.00,
"revenue": 10200.00,
"roas": 2.62,
"outcomes": 128,
"attributed_outcomes": 115,
"coverage_percent": 89.84,
"visitors": 7200,
"pageviews": 20500,
"bounce_rate": 45.2,
"avg_engaged_seconds": 165,
"cash_revenue": 10200.00,
"cash_payments": 38
}
},
"meta": {
"date_from": "2026-03-01",
"date_to": "2026-03-25",
"profile_id": "uuid"
}
}Response fields
| Field | Type | Description |
|---|---|---|
spend | number | Total ad spend in reporting currency |
revenue | number | Attributed cash revenue (ROAS numerator) |
roas | number | Return on ad spend (revenue / spend) |
outcomes | number | Total conversions |
attributed_outcomes | number | Conversions with at least one attributed touchpoint |
coverage_percent | number | Attribution coverage (attributed / total x 100) |
visitors | number | Unique visitors (distinct anonymous_id) |
pageviews | number | Total page views |
bounce_rate | number | Single-page session percentage |
avg_engaged_seconds | number | Average engaged time per session |
cash_revenue | number | Total cash payments (Stripe + MercadoPago) |
cash_payments | number | Count of cash payment events |
Previous period
The previous period is automatically computed to be the same length as the current period, ending the day before date_from. For example, if you query March 1-25 (25 days), the previous period will be February 4-28.