Get daily aggregated metrics
curl --request GET \
--url https://api.aisa.one/apis/v1/social/analytics/daily-metrics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/social/analytics/daily-metrics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/social/analytics/daily-metrics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/social/analytics/daily-metrics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/social/analytics/daily-metrics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aisa.one/apis/v1/social/analytics/daily-metrics")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/social/analytics/daily-metrics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"dailyData": [
{
"date": "<string>",
"metrics": {
"clicks": 123,
"comments": 123,
"impressions": 123,
"likes": 123,
"reach": 123,
"saves": 123,
"shares": 123,
"views": 123
},
"platforms": {},
"postCount": 123
}
],
"platformBreakdown": [
{
"clicks": 123,
"comments": 123,
"impressions": 123,
"likes": 123,
"platform": "<string>",
"postCount": 123,
"reach": 123,
"saves": 123,
"shares": 123,
"views": 123
}
]
}{
"error": {
"code": "<string>",
"details": {},
"message": "<string>",
"param": "<string>",
"retryHint": "never",
"retryable": true,
"type": "<string>"
}
}AIsa Social
Get daily aggregated metrics
Analytics. Read only; needs social:read. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call. Without profileId or accountId it reads your default profile.
Returns daily aggregated analytics metrics and a per-platform breakdown.
Each day includes post count, platform distribution, and summed metrics (impressions, reach, likes, comments, shares, saves, clicks, views).
Defaults to the last 180 days.
<!-- aisa-pricing:start -->
A request reference price is not currently available; use a request quote where supported. Account-specific pricing and final settlement may differ.
<!-- aisa-pricing:end -->
GET
https://api.aisa.one
/
apis
/
v1
/
social
/
analytics
/
daily-metrics
Get daily aggregated metrics
curl --request GET \
--url https://api.aisa.one/apis/v1/social/analytics/daily-metrics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/social/analytics/daily-metrics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/social/analytics/daily-metrics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/social/analytics/daily-metrics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/social/analytics/daily-metrics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aisa.one/apis/v1/social/analytics/daily-metrics")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/social/analytics/daily-metrics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"dailyData": [
{
"date": "<string>",
"metrics": {
"clicks": 123,
"comments": 123,
"impressions": 123,
"likes": 123,
"reach": 123,
"saves": 123,
"shares": 123,
"views": 123
},
"platforms": {},
"postCount": 123
}
],
"platformBreakdown": [
{
"clicks": 123,
"comments": 123,
"impressions": 123,
"likes": 123,
"platform": "<string>",
"postCount": 123,
"reach": 123,
"saves": 123,
"shares": 123,
"views": 123
}
]
}{
"error": {
"code": "<string>",
"details": {},
"message": "<string>",
"param": "<string>",
"retryHint": "never",
"retryable": true,
"type": "<string>"
}
}Request contract
- Method and path: GET /apis/v1/social/analytics/daily-metrics
- Availability: enabled
- Request URL template:
https://api.aisa.one/apis/v1/social/analytics/daily-metrics - platform: query; optional
- profileId: query; optional
- accountId: query; optional
- fromDate: query; optional
- toDate: query; optional
- source: query; optional
- attribution: query; optional
- Runtime facts: 99acb5bddbedc8d3352e7c4fef86c3e6d8852c14772bcd18dbcf415237a642bd
{
"operationId": "get_aisa_social_apis_v1_social_analytics_daily_metrics",
"method": "GET",
"path": "/apis/v1/social/analytics/daily-metrics",
"servers": [
{
"url": "https://api.aisa.one"
}
],
"parameters": [
{
"description": "Filter by platform (e.g. \"instagram\", \"tiktok\"). Omit for all platforms.",
"in": "query",
"name": "platform",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "One of your profiles (prf_...). Defaults to your default profile when neither profileId nor accountId is sent.",
"in": "query",
"name": "profileId",
"required": false,
"schema": {
"pattern": "^prf_[0-9A-Za-z]{22}$",
"type": "string"
}
},
{
"description": "One of your social accounts (acc_...).",
"in": "query",
"name": "accountId",
"required": false,
"schema": {
"pattern": "^acc_[0-9A-Za-z]{22}$",
"type": "string"
}
},
{
"description": "Inclusive start date (ISO 8601). Defaults to 180 days ago.",
"in": "query",
"name": "fromDate",
"required": false,
"schema": {
"format": "date-time",
"type": "string"
}
},
{
"description": "Inclusive end date (ISO 8601). Defaults to now.",
"in": "query",
"name": "toDate",
"required": false,
"schema": {
"format": "date-time",
"type": "string"
}
},
{
"description": "Filter by post origin. \"late\" for posts published via AIsa, \"external\" for posts imported from platforms.",
"in": "query",
"name": "source",
"required": false,
"schema": {
"default": "all",
"enum": [
"all",
"late",
"external"
],
"type": "string"
}
},
{
"description": "How each post's engagement is attributed to a day.\n\n- \"publish\" (default): sums each post's lifetime total on its publish date.\n- \"received\": buckets the per-day increase in engagement by the day it actually arrived (engagement-over-time), so engagement on older posts appears on the day it was gained rather than the post's publish date.",
"in": "query",
"name": "attribution",
"required": false,
"schema": {
"default": "publish",
"enum": [
"publish",
"received"
],
"type": "string"
}
}
],
"security": [
{
"bearerAuth": []
}
],
"x-aisa-status": "enabled",
"x-aisa-pricing": {
"description": "Included with your connected social accounts: AIsa does not charge per call.",
"kind": "no_customer_charge"
},
"components": {
"securitySchemes": {
"bearerAuth": {
"scheme": "bearer",
"type": "http"
}
}
}
}
Cost and request rules
A request reference price is not currently available; use a request quote where supported. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Filter by platform (e.g. "instagram", "tiktok"). Omit for all platforms.
One of your profiles (prf_...). Defaults to your default profile when neither profileId nor accountId is sent.
Pattern:
^prf_[0-9A-Za-z]{22}$One of your social accounts (acc_...).
Pattern:
^acc_[0-9A-Za-z]{22}$Inclusive start date (ISO 8601). Defaults to 180 days ago.
Inclusive end date (ISO 8601). Defaults to now.
Filter by post origin. "late" for posts published via AIsa, "external" for posts imported from platforms.
Available options:
all, late, external How each post's engagement is attributed to a day.
- "publish" (default): sums each post's lifetime total on its publish date.
- "received": buckets the per-day increase in engagement by the day it actually arrived (engagement-over-time), so engagement on older posts appears on the day it was gained rather than the post's publish date.
Available options:
publish, received