Twitter / X · Guide

How to get Twitter / X user tweets

TL;DR
To get Twitter / X user tweets, sign up for a free Captapi key, then send one GET request to /v1/twitter/user-tweets with your input. You get clean JSON back in seconds for 2 credits per call — no OAuth, scraping or platform SDKs. Most popular public tweets from a Twitter/X profile (~100 cap) — not chronological. Text, author, engagement, hashtags, media. Flat 2 credits.

How to get Twitter / X user tweets (step by step)

  1. 1

    Get a free API key

    Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.

  2. 2

    Call the Twitter/X User Tweets API

    Send an authenticated GET request to /v1/twitter/user-tweets with your input. No OAuth, no scraping setup.

  3. 3

    Read the JSON response

    Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.

Code example

curl "https://api.captapi.com/v1/twitter/user-tweets?url=https%3A%2F%2Fx.com%2FNASA" \
  -H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."

What the response looks like

{
  "success": true,
  "data": {
    "handle": "NASA",
    "requested": 20,
    "totalReturned": 2,
    "listingHits": 20,
    "hasMore": false,
    "tweets": [
      {
        "platform": "twitter",
        "url": "https://x.com/NASA/status/2111180963661435219",
        "id": "2111180963661435219",
        "text": "The aircraft lineup just keeps getting bigger. ✈️\n\nMAX POWER, a new aerospace expo, is set for Nov. 7-8 @NASAKennedy — featuring flyovers and static displays, including NASA’s F-15, F-18, T-38, and ER-2 aircraft.\n\nDetails on how to join us: https://t.co/SPHni2YCxO https://t.co/pXYGxy6ZbE",
        "lang": "en",
        "publishedAt": "2026-10-16T19:42:20.000Z",
        "author": {
          "id": "11348282",
          "username": "NASA",
          "displayName": "NASA",
          "url": "https://x.com/NASA",
          "followers": 92321222,
          "verified": true,
          "profileImage": "https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg"
        },
        "isReply": false,
        "isRetweet": false,
        "possiblySensitive": false,
        "conversationId": "2111180963661435219",
        "engagement": {
          "likes": 1578,
          "replies": 169,
          "retweets": 222,
          "quotes": 24
        },
        "hashtags": [],
        "media": [
          "https://pbs.twimg.com/amplify_video_thumb/2111180787802370048/img/0nbyTdS0MRg5JqXk.jpg"
        ],
        "isQuote": false
      },
      {
        "platform": "twitter",
        "url": "https://x.com/NASA/status/2111148671219753420",
        "id": "2111148671219753420",
        "text": "RT @NASASpox: There was plenty to see across @NASA this week 🚀\n \n🔴 Perseverance breaks a record on Mars\n🛰️ Fresh cargo arrives at the ISS\n🌌…",
        "lang": "en",
        "publishedAt": "2026-10-16T17:34:01.000Z",
        "author": {
          "id": "11348282",
          "username": "NASA",
          "displayName": "NASA",
          "url": "https://x.com/NASA",
          "followers": 92321222,
          "verified": true,
          "profileImage": "https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg"
        },
        "isReply": false,
        "isRetweet": true,
        "possiblySensitive": false,
        "conversationId": "2111148671219753420",
        "engagement": {
          "likes": 0,
          "replies": 0,
          "retweets": 62,
          "quotes": 0
        },
        "hashtags": [],
        "media": [
          "https://pbs.twimg.com/media/HUxNOVOWcAA0-8H.jpg"
        ],
        "isQuote": false
      }
    ],
    "fetchedAt": "2026-10-19T13:58:46.413Z"
  }
}

Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.

Request parameters

NameTypeRequiredDescription
urlstring YesTwitter/X profile URL or @handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.
limitintegerNoMax tweets to return (default 20, max 200). Twitter's public surface usually caps around ~100 most popular posts — not chronological latest. Flat 2 credits per call.
cachebooleanNoSet true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.

Frequently asked questions

What does the Twitter/X User Tweets API do?

The Twitter/X User Tweets API lets you list items in bulk with metadata from a public Twitter / X tweet using one GET request to /v1/twitter/user-tweets. It returns clean JSON — no OAuth or infrastructure setup required.

How many credits does the Twitter/X User Tweets API cost?

Each successful call costs 2 credits. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.

Do I need a Twitter / X API key or OAuth?

No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle access, rate limits, retries, and authentication for you.

Is the Twitter/X User Tweets API suitable for production use?

Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.

Ready to get Twitter / X user tweets?

Start free with 100 credits — no credit card required.

Get your free API key