# Twitter (X) User Media API

> Returns media posts and timeline items for a specified user profile, queried by screen name or user ID. Supports cursor-based pagination for browsing past media posts.

Source: https://www.sandbase.ai/apis/twitter/web/user-media
API reference: https://www.sandbase.ai/apis/twitter/web/user-media/docs

## Facts

- Provider: Twitter
- Type: Data API
- Endpoint: `POST https://api.sandbase.ai/v1/api/twitter/web/user-media`
- Price: $0.0015 per call
- Free allowance: 100 calls per organization per UTC day, shared across eligible APIs
- Capabilities: api, twitter
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

`POST https://api.sandbase.ai/v1/api/twitter/web/user-media` with `Authorization: Bearer $SANDBASE_API_KEY` and the parameters as a JSON body.

| Parameter | Type | Required | Allowed values |
| --- | --- | --- | --- |
| `screen_name` | string | yes |  |
| `cursor` | string | no |  |
| `rest_id` | integer | no |  |

## FAQ

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

Send a POST request to https://api.sandbase.ai/v1/api/twitter/web/user-media 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 Media 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 Media API accept?

Required: screen_name (string). Optional: cursor (string) and rest_id (integer). The Parameters table and the Playground on this page list every field.

### What does the Twitter (X) User Media API return?

A JSON response returned in the same HTTP request (synchronous). The README on this page includes a sample response.

### Do I need a Twitter developer account or API key?

No. Twitter (X) User Media 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.

## README

### Twitter (X) User Media API

Retrieve a user's media timeline using their `screen_name` or `rest_id`. Page through additional media results with the `cursor` parameter.

#### Use cases

- Browse photos and videos shared by a specific account.
- Archive media posts from a public profile timeline.
- Track recent multimedia assets shared by organizations or creators.

#### Request

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

#### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `screen_name` | string | Yes | Screen Name, for example: elonmusk, can be obtained from the user's homepage link, for example: elonmusk in https://twitter.com/elonmusk |
| `cursor` | string | No | Cursor, default is None, used for paging, obtained from the `next_cursor` in the last request |
| `rest_id` | integer | No | User ID, for example: 44196397, if the user ID is used, the username will be ignored, only one of them can be selected. |

#### Example response

Real response for the request above, trimmed to the main fields. User names and long IDs are masked.

```json
{
  "timeline": [
    {
      "conversation_id": "2107237881668313108",
      "text": "Time to bring them home 🌎  After nearly eight months aboard the @Space_Station, the four …",
      "tweet_id": "2107237881668313108",
      "views": "1979091",
      "author": {
        "blue_verified": true,
        "name": "NASA",
        "rest_id": "11348282",
        "screen_name": "<user>"
      }
    }
  ]
}
```

#### Notes

- If `rest_id` is supplied, `screen_name` is ignored.
- Pass `cursor` using the next cursor value from a previous response to page through results.

#### Related APIs

- [Twitter (X) Latest Tweet Comments](/model/twitter/web/latest-post-comments): Returns recent replies and comment timelines for a specific post using its tweet ID, with cursor support for multi-page results.
- [Twitter (X) Tweet Comments](/model/twitter/web/post-comments): Returns comment threads and replies under a specified tweet.
- [Twitter (X) Retweet User List](/model/twitter/web/retweet-user-list): Returns a list of users who reposted a specific post using its tweet ID, including follower counts, media counts, and user identifiers.
