Twitter (X) User Posts

https://api.sandbase.ai/v1/api/twitter/web/user-post-tweet

Returns posts and tweets from a specified Twitter (X) user timeline. Users can be identified by either their screen name or numeric user ID, with cursor pagination supported.

Price
$0.0015USD / callFirst 100 calls per day free (shared per organization)
Method
POST
Response
JSON
Parameters
0 required · 3 optional
Production route

Try the model

Playground

Open playground
Input
Cursor, default is None, used for paging, obtained from the JSON in the last request.
User ID, for example: 44196397, if the user ID is used, the username will be ignored, only one of them can be selected.
Screen Name, for example: elonmusk, can be obtained from the user's homepage link, for example: elonmusk in https://twitter.com/elonmusk
OutputExample
Responseoutputs · 48.3 KB · 1,245 lines
[
  {
    "data": {
      "next_cursor": "DAAHCgABHTPlXoP___ALAAIAAAATMjA5OTU3NTQzNjA2MTY2NzgyMQgAAwAAAAIAAA",
      "pinned": {
        "author": {
          "avatar": null,
          "blue_verified": true,
          "followers_count": null,
          "name": null,
          "rest_id": "2067551784084889600",
          "screen_name": null
        },
        "bookmarks": 5,
        "conversation_id": "2075151551459651685",
        "created_at": "Thu Jul 09 09:34:18 +0000 2026",
        "favorites": 6,
        "lang": "en",
        "media": {
          "photo": [
            {
              "id": "2075151531461238784",
              "media_url_https": "https://pbs.twimg.com/media/HMxrUr_a4AAq4DX.jpg",
              "sizes": {
                "h": 1200,
                "w": 670
              }
            },
            {
              "id": "2075151531477962752",
              "media_url_https": "https://pbs.twimg.com/media/HMxrUsDaEAAUQd2.jpg",
              "sizes": {
                "h": 810,
                "w": 1080
              }
            },
            {
              "id": "2075151531465408512",
              "media_url_https": "https://pbs.twimg.com/media/HMxrUsAagAA_fLp.jpg",
              "sizes": {
                "h": 1200,
                "w": 903
              }
            },
            {
              "id": "2075151531465404416",
              "media_url_https": "https://pbs.twimg.com/media/HMxrUsAacAAdCea.jpg",
              "sizes": {
                "h": 900,
                "w": 1200
              }
            }
          ]
        },
        "quotes": 0,
        "replies": 0,
        "retweets": 1,
        "sensitive": false,
        "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
        "text": "At GenAI Summit Paris 2026 with SandBaseAI.\nAgent demos are easy now.\nProduction agents are still hard.\nThe next infra layer is emerging around runtime, sandboxing, browser automation, MCP, tools, session, auth, and observability.\nThat’s what we’re building at SandBaseAI. https://t.co/n3sudqGB4S",
        "tweet_id": "2075151551459651685",
        "views": "667"
      },
      "prev_cursor": "DAAHCgABHTPlXoQAJxELAAIAAAATMjEwMzExMTI3NzcyODE4MjYxMwgAAwAAAAEAAA",
      "status": "ok",
      "timeline": [
        {
          "author": {
            "avatar": null,
            "blue_verified": true,
            "followers_count": null,
            "name": null,
            "rest_id": "2067551784084889600",
            "screen_name": null
          },
          "bookmarks": 0,
          "conversation_id": "2103111277728182613",
          "created_at": "Thu Sep 24 13:16:17 +0000 2026",
          "entities": [],
          "favorites": 3,
          "lang": "en",
          "media": {
            "video": [
              {
                "aspect_ratio": [
                  48,
                  17
                ],
                "duration": 29000,
                "id": "2103111134484291584",
                "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/2103111134484291584/img/muuS95sRLxe-wIY_.jpg",
                "original_info": {
                  "focus_rects": [],
                  "height": 680,
                  "width": 1920
                },
                "variants": [
                  {
                    "content_type": "application/x-mpegURL",
                    "url": "https://video.twimg.com/amplify_video/2103111134484291584/pl/1y6JKd_vBnPm_5hM.m3u8?tag=29"
                  },
                  {
                    "bitrate": 256000,
                    "content_type": "video/mp4",
                    "url": "https://video.twimg.com/amplify_video/2103111134484291584/vid/avc1/762x270/u88GcvC9PJQsIjer.mp4?tag=29"
                  },
                  {
                    "bitrate": 832000,
                    "content_type": "video/mp4",
                    "url": "https://video.twimg.com/amplify_video/2103111134484291584/vid/avc1/1016x360/xujlSvOu1RF8h3j9.mp4?tag=29"
                  },
                  {
                    "bitrate": 2176000,
                    "content_type": "video/mp4",
                    "url": "https://video.twimg.com/amplify_video/2103111134484291584/vid/avc1/1920x680/sqHezUweXto_ugX6.mp4?tag=29"
                  }
                ]
              }
            ]
          },
          "quotes": 0,
          "replies": 0,
          "retweets": 0,
          "sensitive": false,
          "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
          "text": "Who’s the better AI director? 🎬\n\nGPT-6 Astra vs DeepSeek V4.1 Flash\n\nBuild a bridge across a canyon. Follow a train into a future city as it lights up around you.\n\nTry both models and build your own video workflow on SandBase. https://t.co/NBXztAAHrm",
          "tweet_id": "2103111277728182613",
          "views": "181"
        },
        {
          "author": {
            "avatar": null,
            "blue_verified": true,
            "followers_count": null,
            "name": null,
            "rest_id": "2067551784084889600",
            "screen_name": null
          },
          "bookmarks": 0,
          "conversation_id": "2102797641008505055",
          "created_at": "Wed Sep 23 16:30:00 +0000 2026",
          "entities": [],
          "favorites": 4,
          "lang": "en",
          "media": {
            "video": [
              {
                "aspect_ratio": [
                  48,
                  17
                ],
                "duration": 12000,
                "id": "2102752194051350529",
                "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/2102752194051350529/img/3wJuXlEUjCVq90uc.jpg",
                "original_info": {
                  "focus_rects": [],
                  "height": 680,
                  "width": 1920
                },
                "variants": [
                  {
                    "content_type": "application/x-mpegURL",
                    "url": "https://video.twimg.com/amplify_video/2102752194051350529/pl/g0c7L7hgZMjvz4Va.m3u8?tag=29"
                  },
                  {
                    "bitrate": 256000,
                    "content_type": "video/mp4",
                    "url": "https://video.twimg.com/amplify_video/2102752194051350529/vid/avc1/762x270/fuSq3kwDw68DIP5e.mp4?tag=29"
                  },
                  {
                    "bitrate": 832000,
                    "content_type": "video/mp4",
                    "url": "https://video.twimg.com/amplify_video/2102752194051350529/vid/avc1/1016x360/yB6E2rCPJJt1mrc3.mp4?tag=29"
                  },
                  {
                    "bitrate": 2176000,
                    "content_type": "video/mp4",
                    "url": "https://video.twimg.com/amplify_video/2102752194051350529/vid/avc1/1920x680/-EOy5eoxKdJmoINv.mp4?tag=29"
                  }
                ]
              }
            ]
          },
          "quotes": 0,
          "replies": 1,
          "retweets": 0,
          "sensitive": false,
          "text": "GPT-6 Astra vs DeepSeek V4 Flash\n\nOne idea, two tiny robots.\n\n“A tiny robot moves sunlight to help a shaded plant.”\n\nDifferent shots, different storytelling. Side by side—which one gets your vote?\n\nBuild your own workflow with text and video models on SandBase.\n\nTry it 👇🏻 https://t.co/1UmB6hQ37W",
          "tweet_id": "2102797641008505055",
          "views": "95"
        },
        {
          "author": {
            "avatar": null,
            "blue_verified": true,
            "followers_count": null,
            "name": null,
            "rest_id": "2067551784084889600",
            "screen_name": null
          },
          "bookmarks": 0,
          "conversation_id": "2102797641008505055",
          "created_at": "Wed Sep 23 16:30:00 +0000 2026",
          "entities": [],
          "favorites": 0,
          "lang": "en",
          "media": [],
          "quotes": 0,
          "replies": 0,
          "reply_to": "2102797641008505055",
          "retweets": 0,
          "sensitive": null,
          "text": "We used GPT-6 Astra and DeepSeek V4 Flash to wrte the video prompts, then generated both videos using MiniMax H3 on SandBase.\nSame reference image. Same video settings.",
          "tweet_id": "2102797641759277167",
          "views": "87"
        },
        {
          "author": {
            "avatar": null,
            "blue_verified": true,
            "followers_count": null,
            "name": null,
            "rest_id": "2067551784084889600",
            "screen_name": null
          },
          "bookmarks": 0,
          "conversation_id": "2102751661072781382",
          "created_at": "Wed Sep 23 13:27:17 +0000 2026",
          "entities": [],
          "favorites": 5,
          "lang": "en",
          "media": {
            "video": [
              {
                "aspect_ratio": [
                  16,
                  9
                ],
                "duration": 24000,
                "id": "2102751540859850752",
                "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/2102751540859850752/img/pCLzc9YJEVuGLn2k.jpg",
                "original_info": {
                  "focus_rects": [],
                  "height": 1080,
                  "width": 1920
                },
                "variants": [
                  {
                    "content_type": "application/x-mpegURL",
                    "url": "https://video.twimg.com/amplify_video/2102751540859850752/pl/fvdYKPD94BWBXjde.m3u8?tag=29"
                  },
                  {
                    "bitrate": 256000,
                    "content_type": "video/mp4",
                    "url": "https://video.twimg.com/amplify_video/2102751540859850752/vid/avc1/480x270/QCU0QiIxAD5U-39b.mp4?tag=29"
                  },
                  {
                    "bitrate": 832000,
                    "content_type": "video/mp4",
                    "url": "https://video.twimg.com/amplify_video/2102751540859850752/vid/avc1/640x360/hEsYirmqXoKAQNj3.mp4?tag=29"
                  },
                  {
                    "bitrate": 2176000,
                    "content_type": "video/mp4",
                    "url": "https://video.twimg.com/amplify_video/2102751540859850752/vid/avc1/1280x720/I7AIiS7RwxyF9OMF.mp4?tag=29"
                  },
                  {
                    "bitrate": 10368000,
                    "content_type": "video/mp4",
                    "url": "https://video.twimg.com/amplify_video/2102751540859850752/vid/avc1/1920x1080/m7GYw8p8NireqFub.mp4?tag=29"
                  }
                ]
              }
            ]
          },
          "quotes": 0,
          "replies": 0,
          "retweets": 1,
          "sensitive": false,
          "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
          "text": "Benchmarking API routing: 1,092 endpoints across 31 platforms.\n\nJev scores the SandBase catalog per task; highlighted cards capture the final selection trace.\n\nBuild and orchestrate with SandBase Agent API. https://t.co/WI1YGzCCkU",
          "tweet_id": "2102751661072781382",
          "views": "71"
        },
        {
          "author": {
            "avatar": null,
            "blue_verified": true,
            "followers_count": null,
            "name": null,
            "rest_id": "2067551784084889600",
            "screen_name": null
          },
          "bookmarks": 0,
          "conversation_id": "2102432484461772900",
          "created_at": "Tue Sep 22 16:19:00 +0000 2026",
          "entities": [],
          "favorites": 2,
          "lang": "en",
          "media": {

Examples

Select an example to load its inputs and result into the playground.

Model card

Specifications

Pricing

Base price
$0.0015 / run
Daily free calls
First 100 calls per day free (shared per organization)

Request & response

Method
POST
Request body
application/json
Response
application/json
Execution
sync

Parameters

cursor
string · optional
rest_id
integer · optional
screen_name
string · optional

Access

Provider
Twitter
API
Platform API
Base URL
https://api.sandbase.ai
Endpoint
/v1/api/twitter/web/user-post-tweet
Authentication
Bearer API key

API README

Twitter (X) User Posts API

Retrieve a user's timeline posts using either their screen_name or numeric rest_id. You can paginate through older posts using the cursor parameter.

Use cases

  • Archive public tweets and posts from a specific profile.
  • Monitor recent timeline activity for designated accounts.
  • Analyze posting frequency and timeline history for public figures.

Request

curl -X POST "https://api.sandbase.ai/v1/api/twitter/web/user-post-tweet" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Parameters

NameTypeRequiredDescription
cursorstringNoCursor, default is None, used for paging, obtained from the JSON in the last request.
rest_idintegerNoUser ID, for example: 44196397, if the user ID is used, the username will be ignored, only one of them can be selected.
screen_namestringNoScreen Name, for example: elonmusk, can be obtained from the user's homepage link, for example: elonmusk in https://twitter.com/elonmusk

Notes

  • Provide either rest_id or screen_name; if rest_id is specified, screen_name is ignored.
  • Pass cursor from the previous response payload to page through timeline results.

Related APIs

Start building

Send your first request

Platform API endpoint with unified authentication and usage tracking.

Production API
Platform API endpoint
https://api.sandbase.ai/v1/api/twitter/web/user-post-tweet
Authorization header
Authorization: Bearer $SANDBASE_API_KEY
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
  -X POST "https://api.sandbase.ai/v1/api/twitter/web/user-post-tweet" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'SANDBASE_JSON'
{
  "screen_name": "sandbaseai"
}
SANDBASE_JSON
)
printf '%s\n' "$result"

Explore more

Related APIs

All APIs
APIPriceResponseReleased
Twitter$0.0015 per callJSONJul 31, 2026
Twitter$0.0015 per callJSONJul 31, 2026
Twitter$0.0015 per callJSONJul 31, 2026
Twitter$0.0015 per callJSONJul 31, 2026
Twitter$0.0015 per callJSONJul 31, 2026
Twitter$0.0015 per callJSONJul 31, 2026

Questions

FAQ

How do I use the Twitter (X) User Posts API?

Send a POST request to https://api.sandbase.ai/v1/api/twitter/web/user-post-tweet with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.

How much does the Twitter (X) User Posts API cost?

$0.0015 per call. Every organization gets 100 free calls per UTC day, shared across eligible SandBase APIs including this one; after that each call is billed at this price from your SandBase balance. There is no subscription.

What parameters does the Twitter (X) User Posts API accept?

No parameters are required. Optional: cursor (string), rest_id (integer) and screen_name (string). The Parameters table and the Playground on this page list every field.

What does the Twitter (X) User Posts API return?

A JSON response returned in the same HTTP request (synchronous).

Do I need a Twitter developer account or API key?

No. Twitter (X) User Posts runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for Twitter API access separately.