Skip to main content
GET
/
analytics
/
x
/
{profileId}
/
posts
X post analytics
curl --request GET \
  --url https://app.tryordinal.com/api/v1/analytics/x/{profileId}/posts \
  --header 'Authorization: Bearer <token>'
[
  {
    "id": "550e8400-e29b-41d4-a716-446655440700",
    "url": "https://x.com/acme/status/1234567890123456789",
    "text": "Excited to share our latest product update! πŸš€\n\nAfter months of development, we're launching three new features that will transform how you work.\n\nThread πŸ§΅πŸ‘‡",
    "publishedAt": "2024-12-10T14:00:00.000Z",
    "likeCount": 342,
    "replyCount": 28,
    "retweetCount": 89,
    "quoteCount": 15,
    "bookmarkCount": 67,
    "impressionCount": 45200,
    "engagement": 0.01,
    "emv": 452,
    "ordinalPost": {
      "id": "11111111-1111-4111-a111-111111111111",
      "title": "My Ordinal Post",
      "labels": [
        {
          "name": "Marketing",
          "labelId": "22222222-2222-4222-a222-222222222222"
        }
      ],
      "campaign": {
        "id": "33333333-3333-4333-a333-333333333333",
        "name": "Q1 Campaign"
      }
    }
  },
  {
    "id": "550e8400-e29b-41d4-a716-446655440701",
    "url": "https://x.com/acme/status/1234567890123456790",
    "text": "5 lessons learned from scaling our startup from 0 to 10k users πŸ“ˆ\n\nA thread:",
    "publishedAt": "2024-12-05T09:30:00.000Z",
    "likeCount": 1256,
    "replyCount": 94,
    "retweetCount": 312,
    "quoteCount": 48,
    "bookmarkCount": 234,
    "impressionCount": 89300,
    "engagement": 0.019,
    "emv": 893,
    "ordinalPost": null
  }
]

Documentation Index

Fetch the complete documentation index at: https://docs.tryordinal.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

API key authentication. Generate an API key from your workspace settings.

Path Parameters

profileId
string<uuid>
required

X profile ID (UUID)

Query Parameters

startDate
string<date>

Start date for analytics (defaults to 30 days ago)

endDate
string<date>

End date for analytics (defaults to today)

Response

X post analytics

id
string<uuid>
required
url
string<uri>
required

Twitter post URL

text
string | null

Tweet text content

publishedAt
string<date-time> | null
likeCount
integer | null
replyCount
integer | null
retweetCount
integer | null
quoteCount
integer | null
bookmarkCount
integer | null
impressionCount
integer | null
engagement
number | null

Engagement rate (total engagements / impressions), typically between 0 and 1

emv
number | null

Earned Media Value calculated as (impressionCount / 1000) * CPM

ordinalPost
object

Linked Ordinal post when this external post was published from Ordinal, null otherwise