---
title: "Get post analytics"
description: "List cached official analytics for posts published through Dravo."
section: "API reference"
url: https://dravo.dev/docs/api/analytics/posts
---
# Get post analytics

List cached official analytics for posts published through Dravo. Use `postId`
to fetch a single Dravo post id or platform post id, or filter by account,
platform and publish date.

#### `GET /v1/analytics/posts`

List cached official analytics for posts published through Dravo. Missing or stale rows are refreshed from the platform API.

**Auth:** API key (`dra_…`) or dashboard JWT

| Field | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Authorization` | header | string | yes | Bearer token. Use a Dravo API key (`dra_…`) or a dashboard JWT. |
| `postId` | query | string | no | Filter to one Dravo post id or platform post id. |
| `accountId` | query | string | no | Filter by connected account id. |
| `platform` | query | string | no | Filter by platform: instagram, facebook, x, linkedin or tiktok. |
| `fromDate` | query | string (ISO 8601) | no | Only include published results created at or after this date. |
| `toDate` | query | string (ISO 8601) | no | Only include published results created at or before this date. |
| `refresh` | query | boolean | no | When true, bypass fresh cache and ask the platform again. |
| `page` | query | int | no | Page number, starting at 1 (default 1). |
| `limit` | query | int | no | Page size, 1 to 100 (default 25). |

Response `200`: A page of post analytics.

```json
{
  "items": [
    {
      "post_id": "post_2a7f93",
      "account_id": "acc_8f2c1d",
      "platform": "instagram",
      "platform_post_id": "18000000000000000",
      "platform_post_url": "https://www.instagram.com/p/example/",
      "text": "Shipping Dravo: one API for every social network.",
      "created_at": "2026-06-23T10:15:30Z",
      "published_at": "2026-06-23T10:16:02Z",
      "metrics": {
        "views": 1240,
        "reach": 980,
        "likes": 84,
        "comments": 6,
        "shares": 12
      },
      "warnings": [],
      "sync_status": "synced",
      "error_message": null,
      "last_updated_at": "2026-06-29T09:00:00Z",
      "stale_after": "2026-06-29T15:00:00Z"
    }
  ],
  "total": 1,
  "page": 1,
  "limit": 25,
  "overview": {
    "posts": 1,
    "metrics": {
      "views": 1240,
      "reach": 980,
      "likes": 84,
      "comments": 6,
      "shares": 12
    }
  }
}
```

Response body `200` — A page of post analytics.

| Field | Type | Description |
| --- | --- | --- |
| `items` | object[] | Analytics rows on this page; each row has the fields below. |
| `post_id` | string | Dravo post id. Groups every publication of the same content across networks; aggregate a post by summing items that share this id. |
| `account_id (optional)` | string | Connected account these metrics come from. |
| `platform` | string | Social network: instagram, facebook, x, linkedin or tiktok. |
| `platform_post_id` | string | Native id of the post on the platform. |
| `platform_post_url (optional)` | string | Direct link to the published post. |
| `text (optional)` | string | Text of the published post. |
| `created_at` | string (ISO 8601) | When the publish result was recorded by Dravo. |
| `published_at (optional)` | string | When the post went live on the network. |
| `metrics` | object | Official metrics for this post. Keys depend on the platform — see Metrics by platform below. |
| `warnings` | string[] | Non-fatal notices raised while syncing. |
| `sync_status` | string | synced, partial, pending, failed or requires_reconnect. |
| `error_message (optional)` | string | Failure detail when sync_status is failed or requires_reconnect. |
| `last_updated_at (optional)` | string | Last time the metrics were refreshed from the platform. |
| `stale_after (optional)` | string | After this timestamp the cached metrics are refreshed on the next read. |
| `total` | integer | Total rows matching the query. |
| `page` | integer | Current page (1-based). |
| `limit` | integer | Page size. |
| `overview` | object | Aggregated metrics across the rows on this page. |

Metrics by platform:

Keys inside metrics vary per platform. Instagram, Facebook and TikTok return a fixed set; X and LinkedIn return keys straight from their APIs, so the exact set can vary with the access level and scopes granted to your app.

##### Instagram

| Metric | Type | Description |
| --- | --- | --- |
| `views` | integer | Times the post was played or displayed. |
| `reach` | integer | Unique accounts that saw the post. |
| `likes` | integer | Likes on the post. |
| `comments` | integer | Comments on the post. |
| `shares` | integer | Times the post was shared. |
| `saved` | integer | Times the post was saved. |
| `total_interactions` | integer | Sum of likes, comments, shares and saves. |

##### Facebook

| Metric | Type | Description |
| --- | --- | --- |
| `post_engaged_users` | integer | Unique users who engaged with the post. |
| `post_clicks` | integer | Clicks anywhere on the post. |
| `post_reactions_by_type_total` | integer | Total reactions across all reaction types. |

##### X

| Metric | Type | Description |
| --- | --- | --- |
| `impression_count` | integer | Times the post was seen. |
| `like_count` | integer | Likes on the post. |
| `retweet_count` | integer | Reposts of the post. |
| `reply_count` | integer | Replies to the post. |
| `quote_count` | integer | Quote posts of the post. |
| `bookmark_count` | integer | Times the post was bookmarked. |

##### LinkedIn

| Metric | Type | Description |
| --- | --- | --- |
| `share_statistics_*` | integer | Engagement totals flattened from LinkedIn share statistics (impressions, clicks, likes, comments, shares, engagement). Exact keys are derived from the API response. |

##### TikTok

| Metric | Type | Description |
| --- | --- | --- |
| `view_count` | integer | Video views. |
| `like_count` | integer | Likes on the video. |
| `comment_count` | integer | Comments on the video. |
| `share_count` | integer | Shares of the video. |

Errors:

- `401`: Missing or invalid API key / JWT.
