API Response Format: User and Tweet Object Schemas
Sorsa API returns all data as JSON. This page documents the response structure, core data objects, field types, and pagination model so you know exactly what to expect from every endpoint.Conventions
Before diving into specific objects, here are the formatting rules that apply across the entire API. IDs are strings. All X/Twitter IDs (id, conversation_id_str, in_reply_to_tweet_id, etc.) are returned as strings, not integers. X uses Snowflake IDs, which are 64-bit numbers that exceed JavaScript’s Number.MAX_SAFE_INTEGER. Returning them as strings prevents silent precision loss in browsers, Node.js, and any language that represents JSON numbers as floating-point.
Timestamps are ISO 8601 strings. All date fields use the format 2026-03-06T12:00:00Z. This is compatible with standard datetime parsers in every major language and database.
Booleans are strict. Status flags like verified, is_reply, protected, and can_dm are always true or false, never 0/1 or "true"/"false".
Null and missing fields. Optional fields that have no value are returned as null. Fields like bio_urls or pinned_tweet_ids return null rather than an empty array when there is no data.
Response wrappers
Endpoints that return a single object (like/info or /tweet-info) return the object directly at the top level. Endpoints that return lists use one of the following wrapper structures.
UsersResponse - used by /followers, /follows, /verified-followers, /retweets, /search-users, /list-members, /list-followers, /community-members
/user-tweets, /comments, /quotes, /search-tweets, /mentions, /list-tweets, /community-tweets, /community-search-tweets
/new-followers-7d, /new-following-7d, /top-followers, /top-following
next_cursor. It returns the full result set in a single response.
The User object
The User object represents an X/Twitter account profile. It is returned directly by/info, as an array element in list endpoints, and nested inside every Tweet object as the user field.
The Follower object
The Follower object extends the User object with one additional field. It is returned by Sorsa Info endpoints like/new-followers-7d, /top-followers, etc.
The Tweet object
The Tweet object contains the full content, metadata, engagement metrics, and nested relationships for a single tweet. It is returned directly by/tweet-info and as array elements in tweet list endpoints.
Engagement metrics
Thread and reply context
Nested objects
The
quoted_status and retweeted_status fields contain complete Tweet objects, including their own user, entities, and engagement metrics. This means you get all related data in a single API call without needing to make follow-up requests.
The TweetEntity object
Each item in theentities array represents a media attachment or embedded link within a tweet.
Cursor-based pagination
Endpoints that return lists use cursor-based pagination. This approach is more reliable than offset-based pagination for dynamic feeds where new content is constantly being added. How it works:- Send your initial request without a cursor.
- The response includes a
next_cursorfield along with the data. - To fetch the next page, include the
next_cursorvalue in your next request. - When
next_cursorisnullor absent, you have reached the end of the data.
Next steps
- Pagination - Advanced pagination patterns and best practices
- Error Codes - How error responses are structured
- API Reference - Full endpoint schemas with request and response examples