antworkDOCS

Engagement per day

Engagement earned per day, per platform, and followers per account: a table to chart.

GEThttps://antwork.io/api/v1/analytics/dailyScoperead

Request

curl "https://antwork.io/api/v1/analytics/daily?days=7" \
  -H "Authorization: Bearer $ANTWORK_API_KEY"

The same tables as the MCP get_engagement_history tool, from the same function. days is the trailing window, today included, 1 to 365 (default 30). Needs the read scope.

Response

200 OK
{
  "object": "engagement_history",
  "schema": { "fields": [
    { "name": "date", "type": "DATE", "mode": "NULLABLE" },
    { "name": "platform", "type": "STRING", "mode": "NULLABLE" },
    { "name": "likes", "type": "INTEGER", "mode": "NULLABLE" },
    ...
  ] },
  "rows": [
    { "date": "2026-10-21", "platform": "linkedin", "likes": 7, "comments": 3, "shares": 1,
      "impressions": 210, "reachBasis": "impressions", "reach": null, "profileVisits": 4,
      "degraded": null, "awaitingPermission": null, ... },
    { "date": "2026-10-21", "platform": "all", "likes": 7, "comments": 3, "shares": 1,
      "impressions": 210, "reachBasis": "impressions", "reach": null, ... }
  ],
  "rowCount": 14,
  "workspaceId": "ws_...",
  "days": 7,
  "startDate": "2026-10-16",
  "endDate": "2026-10-22",
  "platforms": ["linkedin"],
  "platformTotals": { "linkedin": { "likes": 31, "comments": 9, "shares": 4, "impressions": 1480 } },
  "rangeTotals": { "likes": 31, "comments": 9, "shares": 4, "impressions": 1480 },
  "followers": {
    "schema": { "fields": [ ... ] },
    "rows": [
      { "date": "2026-10-21", "accountId": "acc_...", "accountName": "Antwork", "platform": "linkedin",
        "followers": 415, "dailyChange": 5, "approximate": null, "unavailableReason": null }
    ],
    "rowCount": 7
  }
}

schema names each column and its type; rows has one row per date and platform, plus an all row per date. A null cell is a day not measured or a field the platform does not report: draw a gap. A 0 is a measured zero. reachBasis says what impressions counts (impressions, views or reach); different bases do not add, so the all row's impressions is null on a day that mixes them, and its reach is always null. degraded names zeros that are artefacts, awaitingPermission fields the platform has not released yet.

followers is a second table, one row per date and account: the count (null, never 0, when it could not be read, with unavailableReason), dailyChange against the account's previous counted day, and approximate where the platform rounds (YouTube).

postId

curl "https://antwork.io/api/v1/analytics/daily?postId=pQ7x..." \
  -H "Authorization: Bearer $ANTWORK_API_KEY"

With postId, one post instead: cumulative* and daily* columns for each counter, per platform. Without days, its whole history. spanDays above 1 means the daily value covers several days since the last reading; unreadableFields were carried forward from an earlier read.

Metrics refresh every six hours and the daily rollup runs once a day, so the last row is usually yesterday. A message saying there is no daily data yet is the answer for any days.