---
title: "X post analytics"
method: GET
path: "/analytics/x/{profileId}/posts"
tags: ["Analytics"]
---

# X post analytics

`GET /analytics/x/{profileId}/posts`

Retrieve post analytics for an X profile within a date range. When a post was published from Ordinal, the response includes an ordinalPost object with the linked post's id, title, labels, and campaign.

## Path parameters

- `profileId` string, uuid, required

## Query parameters

- `startDate` string, date
- `endDate` string, date

## Response `200`

X post analytics

- TwitterPostAnalytics[]
  - `id` string, uuid, required
  - `url` string, uri, required — Twitter post URL
  - `text` string, nullable — Tweet text content
  - `publishedAt` string, date-time, nullable
  - `likeCount` integer, nullable
  - `replyCount` integer, nullable
  - `retweetCount` integer, nullable
  - `quoteCount` integer, nullable
  - `bookmarkCount` integer, nullable
  - `impressionCount` integer, nullable
  - `engagement` number, nullable — Engagement rate (total engagements / impressions), typically between 0 and 1
  - `emv` number, nullable — Earned Media Value calculated as (impressionCount / 1000) * CPM
  - `ordinalPost` OrdinalPostReference — Reference to the Ordinal post linked to an external social post
    - `id` string, uuid, required — Ordinal post ID
    - `title` string, required — Ordinal post title
    - `labels` object[], required
      - `name` string, required — Label name
      - `labelId` string, uuid, required — Label ID
    - `campaign` object, nullable
      - `id` string, uuid
      - `name` string

## Other responses

- `401` — Unauthorized - Missing or invalid API key
- `403` — Forbidden - Insufficient permissions
- `404` — Not Found - Resource does not exist

---

[API](https://skmtc.dev/tryordinal/apis/ordinal-api.md) · [All operations](https://skmtc.dev/tryordinal/apis/ordinal-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tryordinal/ordinal-api/revisions/1d0792ff454f/schema)
