Get Started

Posts Data Structures

All data structures used in the Posts API endpoint.

View API:Posts API

Paginated Posts

Paginated posts response

Paginated Posts

object

Paginated posts response

pageintegerrequired

Current page number (1-indexed)

limitintegerrequired

Number of items per page

totalintegerrequired

Total number of items across all pages

totalPagesintegerrequired

Total number of pages

hasNextbooleanrequired

Whether there is a next page

hasPrevbooleanrequired

Whether there is a previous page

Post

A post with associated metrics, account, and creator information

Post

object

A post with associated metrics, account, and creator information

idstringrequired

Unique post identifier

workspaceIdstringrequired

Workspace identifier

accountIdstringrequired

Account identifier

slugintegerrequired

Post slug (numeric identifier)

platformPostIdstringrequired

Platform-specific post ID

platformAccountPlatformrequired
typePostTyperequired
postUrlstringrequired

URL to the post on the platform

thumbnailUrlstring | null

Thumbnail image URL

videoUrlstring | null

Video URL (if applicable)

captionstring | null

Post caption text

mentionsstring[]

Array of mentioned usernames

hashtagsstring[]

Array of hashtags

isPaidPartnershipbooleanrequired

Whether this is a paid partnership post

postedAtstring (date-time)required

ISO 8601 timestamp when the post was published

durationMsintegerrequired

Post duration in milliseconds

soundTitlestring | null

Sound/music title

soundAuthorstring | null

Sound/music author

isOriginalSoundbooleanrequired

Whether this uses original sound

isTrackedbooleanrequired

Whether this post is being tracked for statistics

createdAtstring (date-time)required

ISO 8601 timestamp when the post was created in the system

updatedAtstring (date-time)required

ISO 8601 timestamp when the post was last updated

viewsintegerrequired

Total views count

likesintegerrequired

Total likes count

commentsintegerrequired

Total comments count

sharesinteger | null

Total shares count

savesinteger | null

Total saves count

engagementRatenumberrequired

Engagement rate percentage

revenueMinnumberrequired

Minimum revenue estimate

revenueMaxnumberrequired

Maximum revenue estimate

rpmMinnumberrequired

Minimum revenue per mille (revenue per 1000 views)

rpmMaxnumberrequired

Maximum revenue per mille (revenue per 1000 views)

costnumberrequired

Total cost

cpmnumberrequired

Cost per mille (cost per 1000 views)

profitMinnumberrequired

Minimum profit estimate

profitMaxnumberrequired

Maximum profit estimate

costSummaryobject[]

Payment cost summary breakdown

statsobject[]

Array of post statistics over time

accountobjectrequired

Account information

creatorobjectrequired

Creator information

trackingStartedAtstring (date-time) | null

ISO 8601 timestamp when tracking started

lastStatsAtstring (date-time) | null

ISO 8601 timestamp of the last stats update

limitedDatabooleanrequired

Whether the post has limited data available

Post Type

Post content type

Post Type

string

Post content type

videophotocarousel
interface PaginatedPosts {
  /** Array of posts */
  items: Post[];
  /** Current page number (1-indexed) */
  page: number;
  /** Number of items per page */
  limit: number;
  /** Total number of items across all pages */
  total: number;
  /** Total number of pages */
  totalPages: number;
  /** Whether there is a next page */
  hasNext: boolean;
  /** Whether there is a previous page */
  hasPrev: boolean;
}

interface Post {
  /** Unique post identifier */
  id: string;
  /** Workspace identifier */
  workspaceId: string;
  /** Account identifier */
  accountId: string;
  /** Post slug (numeric identifier) */
  slug: number;
  /** Platform-specific post ID */
  platformPostId: string;
  platform: AccountPlatform;
  type: PostType;
  /** URL to the post on the platform */
  postUrl: string;
  /** Thumbnail image URL */
  thumbnailUrl?: string;
  /** Video URL (if applicable) */
  videoUrl?: string;
  /** Post caption text */
  caption?: string;
  /** Array of mentioned usernames */
  mentions?: string[];
  /** Array of hashtags */
  hashtags?: string[];
  /** Whether this is a paid partnership post */
  isPaidPartnership: boolean;
  /** ISO 8601 timestamp when the post was published */
  postedAt: string;
  /** Post duration in milliseconds */
  durationMs: number;
  /** Sound/music title */
  soundTitle?: string;
  /** Sound/music author */
  soundAuthor?: string;
  /** Whether this uses original sound */
  isOriginalSound: boolean;
  /** Whether this post is being tracked for statistics */
  isTracked: boolean;
  /** ISO 8601 timestamp when the post was created in the system */
  createdAt: string;
  /** ISO 8601 timestamp when the post was last updated */
  updatedAt: string;
  /** Total views count */
  views: number;
  /** Total likes count */
  likes: number;
  /** Total comments count */
  comments: number;
  /** Total shares count */
  shares?: number;
  /** Total saves count */
  saves?: number;
  /** Engagement rate percentage */
  engagementRate: number;
  /** Minimum revenue estimate */
  revenueMin: number;
  /** Maximum revenue estimate */
  revenueMax: number;
  /** Minimum revenue per mille (revenue per 1000 views) */
  rpmMin: number;
  /** Maximum revenue per mille (revenue per 1000 views) */
  rpmMax: number;
  /** Total cost */
  cost: number;
  /** Cost per mille (cost per 1000 views) */
  cpm: number;
  /** Minimum profit estimate */
  profitMin: number;
  /** Maximum profit estimate */
  profitMax: number;
  /** Payment cost summary breakdown */
  costSummary?: object[];
  /** Array of post statistics over time */
  stats?: object[];
  /** Account information */
  account: object;
  /** Creator information */
  creator: object;
  /** ISO 8601 timestamp when tracking started */
  trackingStartedAt?: string;
  /** ISO 8601 timestamp of the last stats update */
  lastStatsAt?: string;
  /** Whether the post has limited data available */
  limitedData: boolean;
}

type PostType = "video" | "photo" | "carousel";

type AccountPlatform = "tiktok" | "instagram" | "youtube";