Developer API

API reference

Read-only access to tracked people, posts, tracking periods, and calculated metrics across X and Truth Social.

Base URLhttps://xtracker.polymarket.com/api

Start here

Overview

Every endpoint is available under /api and uses HTTP GET. Responses are JSON.

Dates should be supplied as ISO 8601 strings. Use the platform query parameter when the same handle may exist on more than one platform.

Values

Platforms

PlatformAPI valuePost term
XXtweets
Truth SocialTRUTH_SOCIALtruths

Resource

Users

GET/users

Return all tracked users and their tracking periods. Inactive users are omitted unless requested.

ParameterTypeDescription
platformstringFilter by X or TRUTH_SOCIAL.
statsbooleanInclude detailed posting statistics using the legacy response shape.
includeInactivebooleanInclude people without an active tracking period.
Example response
{
  "success": true,
  "data": [
    {
      "id": "uuid",
      "handle": "realDonaldTrump",
      "name": "Donald J. Trump",
      "platform": "TRUTH_SOCIAL",
      "avatarUrl": "https://...",
      "verified": true,
      "trackings": [],
      "_count": { "posts": 95 }
    }
  ]
}

Legacy mode: ?stats=true returns an array directly rather than the standard response envelope.

GET/users/[handle]

Return one tracked user by handle.

ParameterTypeDescription
platformstringDisambiguate a handle that exists on multiple platforms.
Example request
GET /users/realDonaldTrump?platform=TRUTH_SOCIAL
GET/users/[handle]/posts

Return posts from a user, optionally constrained to a date range.

ParameterTypeDescription
platformstringSelect the account platform.
startDateISO dateReturn posts published on or after this date.
endDateISO dateReturn posts published on or before this date.
timezonestringUse EST to interpret supplied dates as Eastern time.
GET/users/[handle]/trackings

Return every tracking period attached to a user.

ParameterTypeDescription
platformstringSelect the account platform.
activeOnlybooleanReturn only active tracking periods.

Resource

Trackings

GET/trackings

Return tracking periods across all users.

ParameterTypeDescription
activeOnlybooleanReturn only active periods. Defaults to true.
GET/trackings/[id]

Return one tracking period, optionally with calculated progress statistics.

ParameterTypeDescription
includeStatsbooleanInclude totals, progress, pace, and daily metrics.
Example response
{
  "success": true,
  "data": {
    "id": "uuid",
    "title": "Week of Jan 15",
    "startDate": "2026-01-15T17:00:00.000Z",
    "endDate": "2026-01-22T16:59:59.000Z",
    "target": 100,
    "isActive": true,
    "stats": {
      "total": 95,
      "percentComplete": 95,
      "daily": []
    }
  }
}

Resource

Metrics

GET/metrics/[userId]

Return calculated metrics for one user.

ParameterTypeDescription
typestringMetric grouping. Defaults to daily.
startDateISO dateStart of the metric window.
endDateISO dateEnd of the metric window.

Conventions

Responses

Standard responses use a consistent success envelope. Errors return the same shape with an error message.

Response shapes
// Success
{
  "success": true,
  "data": { ... },
  "message": "Optional message"
}

// Error
{
  "success": false,
  "error": "Error description"
}

Dates

Timezones

Dates are stored in UTC. Tracking windows are defined in America/New_York time.

Daily metric keys use M/D/YYYY in Eastern time.