Skip to content
Developer docs Reports

Reports

Totals for a range of days: the numbers on the Reports page and in the daily digest, for your own dashboards and client reports.

Updated September 26, 2026

Report totals

GET/api/v1/reports/summary

The same numbers as the Reports page and the daily digest, for local days in the workspace time zone (Settings, Brand profile). Without from and to it covers the last 30 days; at most 366 days.

review matches the inbox's Needs review view for the same filters (archived and binned comments are left out); pending counts comments not decided yet. In by_platform and by_surface, received = hidden + visible + review for each row, with hidden including deleted.

Counts are by when a comment was received. hidden_by_category uses each hidden or deleted comment's strongest harmful category (0.5 or more); rule means a keyword, link or other rule filter hid it, or a person did.

Who can call it: Any API key.

Query parameters

from string
First local day, YYYY-MM-DD. Send it with to.
to string
Last local day, inclusive, YYYY-MM-DD.
platform enum
Only this platform.

One of: facebook, instagram, tiktok, youtube, threads

surface enum
organic or ad.

One of: organic, ad

account_id string · up to 64 characters
Only this connected account (account.id on a comment).

Example

Request
curl "https://commentgate.com/api/v1/reports/summary?from=2026-08-24&to=2026-09-22" \
  -H "Authorization: Bearer $COMMENTGATE_API_KEY"

200 OK. The totals.

200 OK response
{
  "data": {
    "from": "2026-08-24",
    "to": "2026-09-22",
    "timezone": "America/New_York",
    "received": 1204,
    "visible": 1071,
    "hidden": 86,
    "deleted": 3,
    "review": 40,
    "pending": 4,
    "replies": {
      "automation": 12,
      "ai": 25,
      "people": 4
    },
    "median_seconds_to_hide": 7,
    "median_seconds_to_reply": 360,
    "hidden_by_category": {
      "scam": 40,
      "spam": 31,
      "rule": 18
    },
    "by_platform": [
      {
        "platform": "instagram",
        "received": 610,
        "hidden": 50,
        "review": 20
      }
    ],
    "by_surface": [
      {
        "surface": "ad",
        "received": 700,
        "hidden": 60,
        "review": 25
      }
    ]
  }
}

Errors

HTTPCodeWhen
400invalid_requestfrom after to, a bad day, or more than 366 days
401unauthorizedMissing, unknown or revoked key

Also as get_report (MCP), commentgate reports.

In the help center