Browse developer documentation
Reports
Live visitors
Read visitors active in the last five minutes.
/api/v1/stats/realtimeAccess: Workspace key or OAuth analytics:read · Permission details
Query parameters
| Field | Type | Description |
|---|---|---|
site | string | Website ID or domain. Required when the workspace has more than one website. |
filters | string | URL-encoded JSON array of up to twenty visitor filters, for example [{"dim":"country","op":"is","value":"US"}]. Dimensions: source, channel, campaign, entry_page, page, hostname, country, device, browser, os, goal. Operators: is, is_not. Values are exact strings up to 500 characters. All filters must match the visitor across available history; report dates then select activity for that cohort. Unmatched payments are excluded. Crawler counts remain website-wide; spend requires every filter to be source/channel/campaign. Preserve filters when paging. |
limit | integer | Row limit for reports that support it. Default: |
cursor | string | Opaque next_cursor from the previous page. Preserve the original website, report, dates, model and funnel selection. Never construct a cursor. |
Request examples
Examples run from your server or terminal. Configure ATTRIBOO_TOKEN privately for authenticated requests. Replace example website IDs and values with your own. The examples make real requests when you run them.
curl "https://www.attriboo.com/api/v1/stats/realtime?site=site_example&limit=50" \
-H "Authorization: Bearer $ATTRIBOO_TOKEN"Response
Illustrative response. Fields below are inside the data object. Optional coverage, notes and continuation fields vary by report.
| Field | Type | Description |
|---|---|---|
site | object | Website ID, domain and currency. |
window_minutes | integer | Fixed five-minute live window. |
live_visitors | integer | Total live visitors, including later pages. |
visitors | array | Report records. See the fields below. |
next_cursor | string | null | When provided, pass this value to continue; null means the last page. Some small-site reports omit this field. |
coverage | object | When provided, describes completeness, snapshot time and row coverage. Row limits apply to this page, not to headline totals. |
site fields
| Field | Type | Description |
|---|---|---|
id | string | Website ID. |
domain | string | Website domain. |
currency | string | Three-letter currency. |
visitors[] fields
| Field | Type | Description |
|---|---|---|
visitor_id | string | Observed visitor ID. |
country_code | string | null | Country or null. |
city | string | null | City or null. |
source | string | Recorded source. |
page | string | Latest path. |
device | string | Device type. |
seconds_ago | integer | Seconds since last activity. |
{
"status": "success",
"data": {
"site": {
"id": "site_example",
"domain": "shop.example.com",
"currency": "USD"
},
"window_minutes": 5,
"live_visitors": 1,
"visitors": [
{
"visitor_id": "v_example",
"country_code": "US",
"city": "New York",
"source": "Google Organic",
"page": "/pricing",
"device": "Desktop",
"seconds_ago": 12
}
]
}
}Behavior and limits
Money is integer cents in site.currency. Percentages use a 0–100 scale.
This is a fixed five-minute live window. period=realtime on other reports instead selects the last 30 minutes.
Continuation pages retain the original live window. Reload the first page for a fresh current window.