Docs menu: Response levels

Response levels

Every data endpoint accepts a level parameter. All three cost the same.

Choose a level

LevelUse it forShape
moderate
default
Applications and databases. Stable camelCase names, IDs, metrics, media and nested posts.items, count, pagination
contentfulAgents, summaries and text analysis. Smaller records with text, author, engagement and context. No numeric IDs; use url.items, count, pagination
rawFields the other levels do not expose. X's GraphQL response unchanged.level, operation, data

Contentful collection records include relationship, for example follower, direct_reply or thread_post.

Compare a payload

One follower page at each level. Values are shortened examples.

GET /v1/users/by-id/2311987360/followers
{
  "items": [
    {
      "id": "1234567890",
      "username": "example_user",
      "displayName": "Example User",
      "description": "…",
      "followersCount": 1520,
      "followingCount": 310
    }
  ],
  "count": 1,
  "pagination": { "next_cursor": "DAABCgAB…", "has_more": true }
}

Post fields

DataModerateContentful
Post IDid—
Contentful has url instead
Linkurlurl
Textcontentcontent
Posted atcreatedAtpostedAt
ISO 8601
Authoruser (full account)author { username, name, avatarUrl, verified }
MetricsreplyCount, retweetCount, likeCount, quoteCount, bookmarkCount, viewCountengagement { replies, reposts, likes, quotes, views }
viewCount and views appear when X reports them
Mediamedia { photos, videos, animated }media [{ type, url, previewUrl, altText }]
ConversationconversationId, inReplyToTweetId, inReplyToUserreplyingTo { username, name }
Quoted and repostedquotedTweet, retweetedTweetquotedPost, repostedPost
Nested posts
Otherlang, hashtags, cashtags, mentionedUsers, links, card, place, sourceLabel…language, links, relationship

Account fields

DataModerateContentful
Account IDid—
Username and nameusername, displayNameusername, name
Biodescription, descriptionLinksbio
Profile link and imageurl, profileImageUrl, profileBannerUrlprofileUrl, avatarUrl
CountsfollowersCount, followingCount, statusesCount, favouritesCount, listedCount, mediaCountfollowers, following
Verificationverified, blueVerified, verifiedTypeverified
OthercreatedAt, location, protected, pinnedTweetIdslocation, relationship

Fields with no value are omitted rather than returned as null.

Raw responses

Raw wraps X's response with the GraphQL operation name. It has no pagination object; the cursor is inside X's timeline instructions.

?level=raw
{
  "level": "raw",
  "operation": "Followers",
  "data": { "…": "X's GraphQL response, unchanged" }
}