Analytics · Analytics
Runs a Google Analytics (GA4) report.
POST
https://api.pozy.ai/v1/analytics/googleanalytics/reportrunGoogleAnalyticsReport
Guides: Google Analytics, Platform insights
Request
Send your API key as Authorization: Bearer pz_live_.... Read-only keys cannot call it. Keys with the analytics resource group disabled get 403 resource_group_disabled. Authentication
Request body
application/json, required
accountIdstringrequireddimensionsarray of stringUp to 9 items.
metricsarray of stringrequiredAt least 1 item. Up to 10 items.
dimensionFilterobjectmetricFilterobjectorderBysarray of objectUp to 10 items.
limitinteger1 to 10000.
dateRangesarray of objectAt least 1 item. Up to 4 items.
startDatestringrequiredendDatestringrequirednamestring
offsetintegerAt least 0.
keepEmptyRowsbooleancurrencyCodestring
Example
curl -X POST "https://api.pozy.ai/v1/analytics/googleanalytics/report" \
-H "Authorization: Bearer $POZY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"accountId": "696e0b682d0a31188e7a2ba9",
"metrics": [
"string"
],
"dateRanges": [
{
"startDate": "string",
"endDate": "string"
}
],
"offset": 1,
"keepEmptyRows": true
}'const res = await fetch("https://api.pozy.ai/v1/analytics/googleanalytics/report", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.POZY_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
accountId: "696e0b682d0a31188e7a2ba9",
metrics: [
"string"
],
dateRanges: [
{
startDate: "string",
endDate: "string"
}
],
offset: 1,
keepEmptyRows: true
}),
});
const data = await res.json();
if (!res.ok) throw new Error(data?.error ?? `Request failed with status ${res.status}`);
console.log(data);import os
import requests
resp = requests.post(
"https://api.pozy.ai/v1/analytics/googleanalytics/report",
headers={"Authorization": f"Bearer {os.environ['POZY_API_KEY']}"},
json={
"accountId": "696e0b682d0a31188e7a2ba9",
"metrics": [
"string",
],
"dateRanges": [
{
"startDate": "string",
"endDate": "string",
},
],
"offset": 1,
"keepEmptyRows": True,
},
timeout=30,
)
resp.raise_for_status()
print(resp.json())Response
200 on success
accountIdstringpropertyIdstringdimensionHeadersarray of objectnamestring
metricHeadersarray of objectnamestringtypestring
rowsarray of objectdimensionValuesarray of object1 child field
valuestring
metricValuesarray of object1 child field
valuestring
rowCountintegermetadataobjectpropertyQuotaobject
200 response
{
"accountId": "696e0b682d0a31188e7a2ba9",
"propertyId": "67197e35a04da83e86751673",
"dimensionHeaders": [
{
"name": "Acme"
}
],
"metricHeaders": [
{
"name": "Acme",
"type": "string"
}
],
"rows": [
{
"dimensionValues": [
{
"value": "string"
}
],
"metricValues": [
{
"value": "string"
}
]
}
],
"rowCount": 42,
"metadata": {},
"propertyQuota": {}
}Errors
Errors use one shape: { error, type, code, param?, details? }. The ones you are most likely to see here:
| 400 | invalid_request_error | A parameter or body field is missing or invalid. param names it. |
| 401 | authentication_error | The API key is missing, revoked or expired. |
| 403 | permission_error | The key is read-only, scoped to other profiles, or has this resource group disabled. |
| 429 | rate_limit_error | Too many requests this minute. Wait for Retry-After seconds. |
Every code is listed in Errors.
More in Analytics
GETGet post analyticsGETAnalytics changed since a cursorGETGet YouTube channel insightsGETGet LinkedIn org analyticsGETGet TikTok account-level insightsGETGet YouTube daily viewsGETGet YouTube video retention curveGETGet Facebook Page insightsGETGet Facebook post monetization earningsGETGet Instagram insightsGETGet Instagram follower historyGETGet Facebook Page demographicsGETGet LinkedIn organization follower demographicsGETGet Instagram demographicsGETGet Instagram online followersGETGet YouTube demographicsGETGet daily aggregated metricsGETGet an analytics dashboardGETGet best times to postGETGet content performance decayGETGet frequency vs engagementGETGet post analytics timelinePOSTRun a Google Analytics (GA4) realtime reportGETList Google Analytics (GA4) dimensions and metricsGETList tracking windowsPOSTOpen a tracking windowGETGet a tracking windowDELCancel a tracking windowGETGet post samplesGETGet a post's authenticity scoreGETList authenticity scoresGETGet Google Business Profile performance metricsGETGet Google Business Profile search keywordsPOSTSync an external postGETGet LinkedIn aggregate statsGETGet LinkedIn post statsGETGet LinkedIn post reactionsGETGet Facebook post reactionsGETList visitor posts on a Facebook PageGETList the posts a Facebook Page is tagged in