# ReadX — X/Twitter User Media Timeline API

> ReadX — X/Twitter User Media Timeline API is a paid API for AI agents from readx.sh, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-08).

Fetches the media timeline (photos, videos, GIFs) for a specified X/Twitter user profile, paid per call with USDC micropayments via x402.

## Facts

- Endpoint: GET https://readx.sh/api/%7Bname%7D/media
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-08
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/readx-x-twitter-user-media-timeline-api-73e477b9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_vcAU5qWkjBzrLKKb6pGqO

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability readx-x-twitter-user-media-timeline-api-73e477b9
```

Example prompt: Can you pull all the photos and videos from the X/Twitter account @NASA using ReadX — no API key needed, just pay per call?

## When to prefer this

Use this endpoint when you need to retrieve media content (images, videos, GIFs) posted by a specific X/Twitter user without obtaining X API keys. Prefer ReadX over direct Twitter API access when you want pay-per-call pricing in USDC via x402 micropayments, avoiding subscription costs. Best for agents that need occasional Twitter media lookups without committing to a monthly API plan.

## Known failure modes

- User not found — invalid or suspended X/Twitter username returns an error code
- Payment failure — x402 micropayment in USDC not completed, request rejected
- Rate limiting — too many calls in a short period may be throttled
- Private account — media timeline not accessible for protected/private X accounts
- Empty timeline — user has posted no media content, returns empty data object

## How this service works

ReadX is a read-only X/Twitter JSON API. Profiles, timelines, tweets, search, lists, followers &amp; following — pay per call with x402 micropayments in USDC on Base or Solana. No API keys.

## Output

A JSON object containing the user's media timeline — photos, videos, and GIFs they have posted on X/Twitter — structured with a status code and a data payload containing media tweet objects.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "required": {
   "type": "string"
  },
  "properties": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "code": 0,
  "data": {
   "tweets": [
    {
     "id": "2081338409260400913",
     "card": null,
     "isAI": false,
     "isAd": false,
     "note": null,
     "poll": null,
     "text": "https://t.co/tZ7YRJYWrL",
     "time": 1785064720,
     "user": {
      "id": "12",
      "bio": "no state is the best state",
      "likes": 39905,
      "media": 2973,
      "banner": "https://pbs.twimg.com/profile_banners/12/1742427520",
      "tweets": 30783,
      "userPic": "https://pbs.twimg.com/profile_images/1661201415899951105/azNjKOSH.jpg",
      "website": "http://primal.net/jack",
      "fullname": "jack",
      "joinDate": 1142974214,
      "location": "",
      "username": "jack",
      "followers": 10514470,
      "following": 3,
      "protected": false,
      "suspended": false,
      "pinnedTweet": "1833951636005552366",
      "verifiedType": "Blue"
     },
     "media": [
      {
       "url": "https://pbs.twimg.com/media/HOJmNdSXkAE_Ksq.jpg",
       "type": "photo",
       "altText": ""
      }
     ],
     "quote": null,
     "reply": [],
     "stats": {
      "likes": 3797,
      "views": 0,
      "quotes": 40,
      "replies": 153,
      "retweets": 186
     },
     "pinned": false,
     "source": "Twitter Web App",
     "history": null,
     "replyId": "0",
     "retweet": null,
     "location": "",
     "threadId": "2081338409260400913",
     "available": true,
     "hasThread": false,
     "mediaTags": null,
     "tombstone": "",
     "attribution": null
    }
   ],
   "total_count": 20
  },
  "pagination": {
   "has_more": true,
   "next_cursor": "DAABCgABHAYpKoW___0..."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/readx-x-twitter-user-media-timeline-api-73e477b9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from readx.sh](https://www.zero.xyz/host/readx.sh/llms.txt)
