---
title: "User Tweets (All)"
method: GET
path: "/v1/scrape/twitter/user-tweets-all"
tags: ["twitter"]
---

# User Tweets (All)

`GET /v1/scrape/twitter/user-tweets-all`

## Request

- Base URL: `https://api.sociavault.com`
- URL: `https://api.sociavault.com/v1/scrape/twitter/user-tweets-all`
- Auth: API key in header `X-API-Key`

Get a user's latest tweets in chronological order using their numeric `rest_id`. Returns paginated timeline results — use the cursor parameter to load more. Maximum of 20 tweets per request.

## Query parameters

- `user_id` string, required
- `cursor` string

## Response `200`

Successful response

**Key Response Fields:**

**Pagination:**
- `data.cursor.bottom`: Pass as `cursor` query param to get the next page of tweets
- `data.cursor.top`: Cursor for the previous/newer page

**Timeline Structure:**
- `data.result.timeline.instructions[0]`: `TimelineClearCache` (internal, can ignore)
- `data.result.timeline.instructions[1]`: `TimelinePinEntry` — The user's pinned tweet (if any). Check `.entry.content.itemContent.socialContext.text` which will be `Pinned`
- `data.result.timeline.instructions[2]`: `TimelineAddEntries` — The main tweet list in `.entries[]`

**Each Tweet** (at `entries[].content.itemContent.tweet_results.result`):
- `.rest_id`: Tweet ID
- `.legacy.full_text`: Tweet text (truncated at 280 chars for long tweets)
- `.note_tweet.note_tweet_results.result.text`: Full untruncated text for tweets longer than 280 characters
- `.legacy.created_at`: Timestamp when the tweet was posted
- `.views.count`: View count (returned as string)
- `.legacy.favorite_count`: Likes
- `.legacy.retweet_count`: Retweets
- `.legacy.reply_count`: Replies
- `.legacy.quote_count`: Quote tweets
- `.legacy.bookmark_count`: Bookmarks
- `.legacy.lang`: Language code (e.g. `en`)
- `.legacy.is_quote_status`: Whether this tweet is quoting another tweet
- `.legacy.user_id_str`: Author's numeric user ID
- `.source`: App used to post (e.g. `Twitter for iPhone`, `Twitter Web App`)

**Author Info** (at `entries[].content.itemContent.tweet_results.result.core.user_results.result`):
- `.rest_id`: User's numeric ID (rest_id)
- `.is_blue_verified`: Whether user has a blue checkmark
- `.legacy.name`: Display name
- `.legacy.screen_name`: Handle (username without @)
- `.legacy.description`: Bio
- `.legacy.followers_count`: Follower count
- `.legacy.friends_count`: Following count
- `.legacy.statuses_count`: Total tweet count
- `.legacy.profile_image_url_https`: Profile picture URL
- `.legacy.profile_banner_url`: Banner image URL
- `.legacy.location`: Location set by user

**Media** (at `entries[].content.itemContent.tweet_results.result.legacy.extended_entities.media[]`):
- `.type`: `photo`, `video`, or `animated_gif`
- `.media_url_https`: Image URL (for photos) or video thumbnail
- `.video_info.variants[]`: Array of video URLs at different qualities (for video/gif types)
- `.video_info.variants[].url`: Video file URL
- `.video_info.variants[].bitrate`: Video bitrate (higher = better quality)

**Quoted Tweet** (if `is_quote_status` is true):
- `entries[].content.itemContent.tweet_results.result.quoted_status_result.result`: The quoted tweet — same structure as a regular tweet

## Other responses

- `400`: Bad Request - Invalid parameters or missing required fields
- `401`: Unauthorized - Invalid or missing API key
- `402`: Payment Required - Insufficient credits
- `500`: Internal Server Error - Service configuration or processing error

---

[API](https://skmtc.dev/sociavault/apis/sociavault-api.md) · [All operations](https://skmtc.dev/sociavault/apis/sociavault-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sociavault/apis/sociavault-api/revisions/0a430c97f53a?raw)
