# RapidAPI · twitter-api47 (restocked-gAGxip8a_)

Gateway provider `rapidapi-twitter-api47` · call `https://fetchapi.co/api/gw/rapidapi-twitter-api47/<path>` with header `x-api-key` (get a key at https://fetchapi.co/keys) · MCP: tools `search_endpoints`, `get_endpoint`, `call_endpoint` at https://fetchapi.co/api/mcp · listing: https://rapidapi.com/restocked-gAGxip8a_/api/twitter-api47

Upstream plan: PRO: $19/month for 100,000 requests; free tier: BASIC: $0, 50 requests/month, hard limit (https://rapidapi.com/restocked-gAGxip8a_/api/twitter-api47/pricing).

32 working endpoints, each tested live through this gateway. Endpoints that returned no data in our latest test, write actions and endpoints that need the end user's own login are not listed.

## `rapidapi-twitter-api47.about_account` — About Account

`GET /v3/user/about-account` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 788 ms

One call returns the 'About this account' details for one username: creation date, country the account is based in, username changes and affiliation. The answer is one account in data; there is no cursor.

| param | required | example / default |
|---|---|---|
| `username` | yes | elonmusk |

Fields: `data.id` user id; `data.username` handle; `data.name` display name; `data.createdAt` account creation time; `data.isBlueVerified` paid-verified flag; `data.aboutProfile.accountBasedIn` country the account is based in; `data.aboutProfile.usernameChanges.count` number of handle changes; `data.affiliate.username` affiliated account handle

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/about-account?username=elonmusk" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": {
  "id": "44196397",
  "name": "Elon Musk",
  "username": "elonmusk",
  "verified": false,
  "affiliate": {
   "badgeUrl": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg",
   "username": "X",
   "description": "X"
  },
  "avatarUrl": "https://pbs.twimg.com/profile_images/2103567689515954176/aR-Kjpp4_normal.jpg",
  "createdAt": "Tue Jun 02 20:12:29 +0000 2009",
  "isProtected": false,
  "aboutProfile": {
   "source": "United States App Store",
   "learnMoreUrl": "https://help.twitter.com/managing-your-account/about-twitter-verified-accounts",
   "accountBasedIn": "United States",
   "usernameChanges": {
    "count": 0,
    "lastChangedAt": ""
   },
   "locationAccurate": true,
   "affiliateUsername": "X"
  },
  "verifiedSince": "-003000-01-24T12:26:40.000Z",
  "isBlueVerified": true,
  "profileImageShape": "Circle"
 }
}
```

## `rapidapi-twitter-api47.by_id` — By ID

`GET /v3/space/by-id` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 927 ms

One call returns one Twitter/X Space by id: title, state, times, creator profile and participants. The answer is a single Space in data; participants.speakers held 11 people (3 shown plus '… 8 more'). There is no cursor.

| param | required | example / default |
|---|---|---|
| `spaceId` | yes | 1MnxnPmLRQBGO |

Fields: `data.id` space id; `data.title` space title; `data.state` Running or Ended; `data.startedAt` start time, epoch ms; `data.creator.id` creator user id; `data.creator.username` creator handle; `data.participants.speakers[].username` speaker handle; `data.participants.speakers[].twitterUserId` speaker user id; `data.totalLiveListeners` live listener count; `data.totalReplayWatched` replay views

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/space/by-id?spaceId=1MnxnPmLRQBGO" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": {
  "id": "1MnxnPmLRQBGO",
  "state": "Ended",
  "title": "DOG TALK ON CSN 🐾",
  "topics": [
   {
    "id": "1369311988040355840",
    "name": "NFTs"
   },
   {
    "id": "913142676819648512",
    "name": "Cryptocurrencies"
   },
   {
    "id": "839544274442051584",
    "name": "Entertainment"
   }
  ],
  "creator": {
   "id": "832980412452503556",
   "bio": "CSN Creator | Developer | Public Speaker | DDL V014",
   "name": "Web",
   "avatar": "https://pbs.twimg.com/profile_images/2090939421147250688/CqLH1lU1_normal.jpg",
   "banner": "https://pbs.twimg.com/profile_banners/832980412452503556/1790167307/1500x500",
   "website": "http://www.web3smb.xyz",
   "location": "Web3",
   "username": "web3smb",
   "verified": false,
   "createdAt": "2017-02-18T15:49:41.000Z",
   "mediaCount": 11746,
   "tweetCount": 89319,
   "isProtected": false,
   "listedCount": 182,
   "isTranslator": false,
   "professional": {
    "type": "Creator",
    "restId": "1659307945165832194",
    "category": [
     {
      "id": 144,
      "name": "Education",
      "icon_name": "IconBriefcaseStroke"
     }
    ]
   },
   "verifiedType": null,
   "followerCount": 31377,
   "verifiedSince": null,
   "defaultProfile": true,
   "favoritesCount": 361925,
   "followingCount": 10748,
   "highlightsInfo": null,
   "isBlueVerified": true,
   "pinnedTweetIds": [
    "2105386496999956967"
   ],
   "businessAccount": null,
   "possiblySensitive": false,
   "profileImageShape": "Circle",
   "hasCustomTimel
…
```

## `rapidapi-twitter-api47.by_user_id` — By User ID

`GET /v3/user/by-id` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 785 ms

One call returns one full user profile by user id. The answer is a single account in data; there is no cursor.

| param | required | example / default |
|---|---|---|
| `userId` | yes | 44196397 |

Fields: `data.id` user id; `data.username` handle; `data.name` display name; `data.bio` bio; `data.followerCount` follower count; `data.followingCount` following count; `data.tweetCount` tweet count; `data.createdAt` account creation time; `data.isBlueVerified` paid-verified flag

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/by-id?userId=44196397" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": {
  "id": "44196397",
  "bio": "https://t.co/ZdBx5WABYx",
  "name": "Elon Musk",
  "avatar": "https://pbs.twimg.com/profile_images/2103567689515954176/aR-Kjpp4_normal.jpg",
  "banner": "https://pbs.twimg.com/profile_banners/44196397/1774145451/1500x500",
  "website": null,
  "location": null,
  "username": "elonmusk",
  "verified": false,
  "createdAt": "2009-06-02T20:12:29.000Z",
  "mediaCount": 4728,
  "tweetCount": 109417,
  "isProtected": false,
  "listedCount": 170752,
  "isTranslator": false,
  "professional": {
   "type": "Creator",
   "restId": "1679729435447275522",
   "category": []
  },
  "verifiedType": null,
  "followerCount": 241744689,
  "verifiedSince": null,
  "defaultProfile": false,
  "favoritesCount": 250562,
  "followingCount": 1415,
  "highlightsInfo": {
   "canHighlight": true,
   "highlightedTweetsCount": "1076"
  },
  "isBlueVerified": true,
  "pinnedTweetIds": [
   "2105718806769512812"
  ],
  "businessAccount": {
   "affiliatesCount": 0
  },
  "possiblySensitive": false,
  "profileImageShape": "Circle",
  "hasCustomTimelines": true,
  "hasGraduatedAccess": true,
  "isIdentityVerified": false,
  "defaultProfileImage": false,
  "withheldInCountries": [],
  "isProfileTranslatable": false,
  "hasHiddenSubscriptions": true,
  "profileInterstitialType": null,
  "creatorSubscriptionsCount": 251,
  "affiliatesHighlightedLabel": {
   "label": {
    "url": {
     "url": "https://twitter.com/X",
     "urlType": "DeepLink"
    },
    "badge": {
     
…
```

## `rapidapi-twitter-api47.by_user_ids` — By User IDs

`GET /v3/user/by-ids` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 944 ms

One call returns profiles for the comma-separated ids in userIds. One item in data[] is one account. Our call returned 2 users; there is no cursor.

| param | required | example / default |
|---|---|---|
| `userIds` | yes | 44196397,34743251 |

Fields: `data[].id` user id; `data[].username` handle; `data[].name` display name; `data[].bio` bio; `data[].followerCount` follower count; `data[].followingCount` following count; `data[].tweetCount` tweet count; `data[].createdAt` account creation time; `data[].isBlueVerified` paid-verified flag

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/by-ids?userIds=44196397,34743251" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "44196397",
   "bio": "https://t.co/ZdBx5WABYx",
   "name": "Elon Musk",
   "avatar": "https://pbs.twimg.com/profile_images/2103567689515954176/aR-Kjpp4_normal.jpg",
   "banner": "https://pbs.twimg.com/profile_banners/44196397/1774145451/1500x500",
   "website": null,
   "location": null,
   "username": "elonmusk",
   "verified": false,
   "createdAt": "2009-06-02T20:12:29.000Z",
   "mediaCount": 4728,
   "tweetCount": 109417,
   "isProtected": false,
   "listedCount": 170752,
   "isTranslator": false,
   "professional": {
    "type": "Creator",
    "restId": "1679729435447275522",
    "category": []
   },
   "verifiedType": null,
   "followerCount": 241744683,
   "verifiedSince": null,
   "defaultProfile": false,
   "favoritesCount": 250562,
   "followingCount": 1415,
   "highlightsInfo": null,
   "isBlueVerified": true,
   "pinnedTweetIds": [
    "2105718806769512812"
   ],
   "businessAccount": null,
   "possiblySensitive": false,
   "profileImageShape": "Circle",
   "hasCustomTimelines": true,
   "hasGraduatedAccess": true,
   "isIdentityVerified": false,
   "defaultProfileImage": false,
   "withheldInCountries": [],
   "isProfileTranslatable": false,
   "hasHiddenSubscriptions": false,
   "profileInterstitialType": null,
   "creatorSubscriptionsCount": 0,
   "affiliatesHighlightedLabel": {
    "label": {
     "url": {
      "url": "https://twitter.com/X",
      "urlType": "DeepLink"
     },
     "badge": {
      "url": "https://pbs.twimg.com/pro
…
```

## `rapidapi-twitter-api47.by_username` — By Username

`GET /v3/user/by-username` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 811 ms

One call returns one full user profile by username. The answer is a single account in data; there is no cursor.

| param | required | example / default |
|---|---|---|
| `username` | yes | elonmusk |

Fields: `data.id` user id; `data.username` handle; `data.name` display name; `data.bio` bio; `data.followerCount` follower count; `data.followingCount` following count; `data.tweetCount` tweet count; `data.createdAt` account creation time; `data.isBlueVerified` paid-verified flag

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/by-username?username=elonmusk" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": {
  "id": "44196397",
  "bio": "https://t.co/ZdBx5WABYx",
  "name": "Elon Musk",
  "avatar": "https://pbs.twimg.com/profile_images/2103567689515954176/aR-Kjpp4_normal.jpg",
  "banner": "https://pbs.twimg.com/profile_banners/44196397/1774145451/1500x500",
  "website": null,
  "location": null,
  "username": "elonmusk",
  "verified": false,
  "createdAt": "2009-06-02T20:12:29.000Z",
  "mediaCount": 4728,
  "tweetCount": 109417,
  "isProtected": false,
  "listedCount": 170752,
  "isTranslator": false,
  "professional": {
   "type": "Creator",
   "restId": "1679729435447275522",
   "category": []
  },
  "verifiedType": "This account is verified because it's an affiliate of @X on X. Learn more",
  "followerCount": 241744683,
  "verifiedSince": null,
  "defaultProfile": false,
  "favoritesCount": 250562,
  "followingCount": 1415,
  "highlightsInfo": {
   "canHighlight": true,
   "highlightedTweetsCount": "1076"
  },
  "isBlueVerified": true,
  "pinnedTweetIds": [
   "2105718806769512812"
  ],
  "businessAccount": {
   "affiliatesCount": 0
  },
  "possiblySensitive": false,
  "profileImageShape": "Circle",
  "hasCustomTimelines": true,
  "hasGraduatedAccess": true,
  "isIdentityVerified": false,
  "defaultProfileImage": false,
  "withheldInCountries": [],
  "isProfileTranslatable": false,
  "hasHiddenSubscriptions": true,
  "profileInterstitialType": null,
  "creatorSubscriptionsCount": 251,
  "affiliatesHighlightedLabel": {
   "label": {
    "url": {
     "url": "https:/
…
```

## `rapidapi-twitter-api47.by_usernames` — By Usernames

`GET /v3/user/by-usernames` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 928 ms

One call returns profiles for the comma-separated names in usernames (up to 200). One item in data[] is one account. Our call returned 2 users; there is no cursor.

| param | required | example / default |
|---|---|---|
| `usernames` | yes | elonmusk,spacex |

Fields: `data[].id` user id; `data[].username` handle; `data[].name` display name; `data[].bio` bio; `data[].followerCount` follower count; `data[].followingCount` following count; `data[].tweetCount` tweet count; `data[].createdAt` account creation time; `data[].isBlueVerified` paid-verified flag

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/by-usernames?usernames=elonmusk,spacex" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "44196397",
   "bio": "https://t.co/ZdBx5WABYx",
   "name": "Elon Musk",
   "avatar": "https://pbs.twimg.com/profile_images/2103567689515954176/aR-Kjpp4_normal.jpg",
   "banner": "https://pbs.twimg.com/profile_banners/44196397/1774145451/1500x500",
   "website": null,
   "location": null,
   "username": "elonmusk",
   "verified": false,
   "createdAt": "2009-06-02T20:12:29.000Z",
   "mediaCount": 4728,
   "tweetCount": 109417,
   "isProtected": false,
   "listedCount": 170752,
   "isTranslator": false,
   "professional": {
    "type": "Creator",
    "restId": "1679729435447275522",
    "category": []
   },
   "verifiedType": "This account is verified because it's an affiliate of @X on X. Learn more",
   "followerCount": 241744685,
   "verifiedSince": null,
   "defaultProfile": false,
   "favoritesCount": 250562,
   "followingCount": 1415,
   "highlightsInfo": {
    "canHighlight": true,
    "highlightedTweetsCount": "1076"
   },
   "isBlueVerified": true,
   "pinnedTweetIds": [
    "2105718806769512812"
   ],
   "businessAccount": {
    "affiliatesCount": 0
   },
   "possiblySensitive": false,
   "profileImageShape": "Circle",
   "hasCustomTimelines": true,
   "hasGraduatedAccess": true,
   "isIdentityVerified": false,
   "defaultProfileImage": false,
   "withheldInCountries": [],
   "isProfileTranslatable": false,
   "hasHiddenSubscriptions": true,
   "profileInterstitialType": null,
   "creatorSubscriptionsCount": 251,
   "affiliatesHighlightedLabe
…
```

## `rapidapi-twitter-api47.check_follow` — Check Follow

`GET /v3/user/friendship` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 841 ms

One call returns the friendship status between a subject account and a target account. The answer is a single object in data, not a list; there is no cursor.

| param | required | example / default |
|---|---|---|
| `subjectId` | yes | 44196397 |
| `targetId` | yes | 427089628 |

Fields: `data.sourceId` subject user id; `data.targetId` target user id; `data.following` subject follows target; `data.followedBy` target follows subject; `data.blocking` subject blocks target; `data.blockedBy` target blocks subject; `data.muting` subject mutes target; `data.canDm` DMs are allowed

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/friendship?targetId=427089628&subjectId=44196397" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": {
  "canDm": true,
  "muting": false,
  "blocking": false,
  "sourceId": "44196397",
  "targetId": "427089628",
  "blockedBy": false,
  "following": true,
  "allReplies": false,
  "followedBy": true,
  "markedSpam": false,
  "canMediaTag": false,
  "wantRetweets": false,
  "followRequestSent": false,
  "notificationsEnabled": false,
  "followRequestReceived": false
 }
}
```

## `rapidapi-twitter-api47.community_details` — Community Details

`GET /v3/community/details` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 907 ms

One call returns one Twitter/X community by id: name, description, rules, member counts and your role flags. The answer is a single community in data; there is no cursor.

| param | required | example / default |
|---|---|---|
| `communityId` | yes | 1735624711768625435 |

Fields: `data.id` community id; `data.name` community name; `data.description` community description; `data.memberCount` member count; `data.adminCount` admin count; `data.isPrivate` private community flag; `data.createdAt` creation time; `data.rules[].name` rule title

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/community/details?communityId=1735624711768625435" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": {
  "id": "1735624711768625435",
  "name": "DSA ( Faang ) Preparation",
  "rules": [
   {
    "id": "Q29tbXVuaXR5UnVsZToxNzM1NjI0NzExODE0NjcyNTE1",
    "name": "Be kind and respectful.",
    "order": 0,
    "createdAt": "",
    "description": ""
   },
   {
    "id": "Q29tbXVuaXR5UnVsZToxNzM1NjI0NzExODE4OTA4MDQz",
    "name": "Keep posts on topic.",
    "order": 1,
    "createdAt": "",
    "description": ""
   },
   {
    "id": "Q29tbXVuaXR5UnVsZToxNzM1NjI0NzExODM1NzM0Mjg1",
    "name": "Explore and share.",
    "order": 2,
    "createdAt": "",
    "description": ""
   }
  ],
  "canPost": true,
  "isAdmin": false,
  "isBanned": false,
  "isMember": false,
  "avatarUrl": null,
  "bannerUrl": "https://pbs.twimg.com/community_banner_img/1735626172841529344/gfPfD_wt?format=jpg&name=orig",
  "createdAt": "2023-12-15T11:35:52.285Z",
  "isPrivate": false,
  "adminCount": 1,
  "description": "Our Aim is to solve Daily Interview Questions Based on Dsa ! Helping each other's Collaborate With mind people Ask doubts! Aim is to conquer Faang! -GordXRohit",
  "isModerator": false,
  "memberCount": 7786,
  "pinnedTweetId": null,
  "moderatorCount": 0,
  "joinRequestsEnabled": false
 }
}
```

## `rapidapi-twitter-api47.community_members` — Community Members

`GET /v3/community/members` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 907 ms

One call returns members of one community. One item in data[] is a member with a role and a user profile. Our call held 17 members (3 shown plus '… 14 more'). Pass pagination.nextCursor as the cursor parameter for the next page.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `communityId` | yes | 1735624711768625435 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].role` member role; `data[].user.id` user id; `data[].user.username` handle; `data[].user.name` display name; `data[].user.bio` bio; `data[].user.followerCount` follower count; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/community/members?communityId=1735624711768625435" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "role": "member",
   "user": {
    "id": "1734461939076751360",
    "bio": "",
    "name": "gemini",
    "avatar": "https://pbs.twimg.com/profile_images/1734462122506309632/w6iFlYgB_400x400.jpg",
    "banner": null,
    "website": null,
    "location": null,
    "username": "gemini571418",
    "verified": false,
    "createdAt": null,
    "mediaCount": 0,
    "tweetCount": 0,
    "isProtected": false,
    "listedCount": 0,
    "isTranslator": false,
    "professional": null,
    "verifiedType": null,
    "followerCount": 0,
    "verifiedSince": null,
    "defaultProfile": false,
    "favoritesCount": 0,
    "followingCount": 0,
    "highlightsInfo": null,
    "isBlueVerified": false,
    "pinnedTweetIds": [],
    "businessAccount": null,
    "possiblySensitive": false,
    "profileImageShape": null,
    "hasCustomTimelines": false,
    "hasGraduatedAccess": false,
    "isIdentityVerified": false,
    "defaultProfileImage": false,
    "withheldInCountries": [],
    "isProfileTranslatable": false,
    "hasHiddenSubscriptions": false,
    "profileInterstitialType": null,
    "creatorSubscriptionsCount": 0,
    "affiliatesHighlightedLabel": {}
   }
  },
  {
   "role": "member",
   "user": {
    "id": "1734464016838492160",
    "bio": "",
    "name": "sirsixmob",
    "avatar": "https://pbs.twimg.com/profile_images/1734464147021324288/NqxqZ7n1_400x400.jpg",
    "banner": null,
    "website": null,
    "location": null,
    "username": "sirsixmob74083",
    "veri
…
```

## `rapidapi-twitter-api47.community_search` — Community Search

`GET /v3/community/search` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 987 ms

One call searches communities by keyword; one item is a community. The call held 9 items (3 shown plus '… 6 more'). For the next page, pass nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `query` | yes | spacex |

Paging: read `nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` community id; input communityId for community_tweets; `data[].name` community name; `data[].topic` topic, may be null; `data[].memberCount` members; `data[].isNsfw` NSFW flag; `data[].bannerUrl` banner image; `nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/community/search?query=spacex" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "1506777784038875140",
   "name": "SpaceX",
   "topic": null,
   "isNsfw": false,
   "bannerUrl": "https://pbs.twimg.com/community_banner_img/1506779009539088384/kwulwN8M?format=jpg&name=orig",
   "memberCount": 9161,
   "membersFacepile": [
    "https://pbs.twimg.com/profile_images/1499052745139138564/VgJfZMgx_normal.jpg",
    "https://pbs.twimg.com/profile_images/713462818012442624/K63czXch_normal.jpg",
    "https://pbs.twimg.com/profile_images/1131772836182405121/xk95d44e_normal.png",
    "… 2 more"
   ],
   "defaultBannerUrl": "https://pbs.twimg.com/media/FECQ154VEAAjQrR.jpg"
  },
  {
   "id": "1509123690012680192",
   "name": "[공식]테슬라주주커뮤니티",
   "topic": "Artificial Intelligence",
   "isNsfw": false,
   "bannerUrl": "https://pbs.twimg.com/community_banner_img/1509124615502643202/dZ_KXhgF?format=jpg&name=orig",
   "memberCount": 28001,
   "membersFacepile": [
    "https://pbs.twimg.com/profile_images/2092545762093920256/XE9--PwY_normal.jpg",
    "https://pbs.twimg.com/profile_images/1168849193957384192/W7v4zaHs_normal.jpg",
    "https://pbs.twimg.com/profile_images/1526566081287950336/1zcDKfUu_normal.jpg",
    "… 2 more"
   ],
   "defaultBannerUrl": "https://pbs.twimg.com/media/FECRNk0VIAckNa6.jpg"
  },
  {
   "id": "1813262259541438554",
   "name": "Elon Musk",
   "topic": "Technology",
   "isNsfw": false,
   "bannerUrl": "https://pbs.twimg.com/community_banner_img/1813263162164076544/yY802V-A?format=jpg&name=orig",
   "memberCount": 40266,
   "
…
```

## `rapidapi-twitter-api47.community_tweets` — Community Tweets

`GET /v3/community/tweets` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 1585 ms

One call returns posts from one community; one item is a tweet with its author, media and counts. The call held 20 items (3 shown plus '… 17 more'). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `sortBy` | no | Relevance |
| `cursor` | no |  |
| `communityId` | yes | 1735624711768625435 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` tweet id; input tweetId elsewhere; `data[].text` tweet text (long ones cut in sample); `data[].createdAt` post time; `data[].author.id` author user id; `data[].author.username` author handle; `data[].likeCount` likes; `data[].retweetCount` retweets; `data[].replyCount` replies; `data[].viewCount` views; `data[].type` tweet, reply or quote; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/community/tweets?sortBy=Relevance&communityId=1735624711768625435" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "2074801578901651874",
   "card": null,
   "lang": "en",
   "poll": null,
   "text": "@Stanford University has made some of its most popular AI courses available for FREE on YouTube.\n\nIf you're planning a career in AI, Machine Learning, Deep Learning, Computer Vision, or LLMs, this list deserves a place in your bookmarks.\n\n📚 Free Stanford AI Courses\n→ CS230 – Deep Learning\nhttps://l…",
   "type": "tweet",
   "urls": [
    "https://lnkd.in/dS5ezUDc",
    "https://lnkd.in/d8rf-7Bv",
    "https://lnkd.in/diFfzYck",
    "… 3 more"
   ],
   "media": [
    {
     "id": "2074801539341053952",
     "key": "3_2074801539341053952",
     "url": "https://pbs.twimg.com/media/HMstAdvbcAA_SA8.jpg",
     "type": "photo",
     "sizes": {
      "large": {
       "width": 2048,
       "height": 1153,
       "resize": "fit"
      },
      "small": {
       "width": 680,
       "height": 383,
       "resize": "fit"
      },
      "thumb": {
       "width": 150,
       "height": 150,
       "resize": "crop"
      },
      "medium": {
       "width": 1200,
       "height": 675,
       "resize": "fit"
      },
      "original": {
       "width": 4096,
       "height": 2305,
       "resize": "fit"
      }
     },
     "width": 4096,
     "height": 2305,
     "altText": null,
     "bitrate": null,
     "duration": null,
     "features": {
      "all": [],
      "orig": [
       {
        "faces": [
         {
          "x": 0,
          "y": 0,
          "width": 4096,

…
```

## `rapidapi-twitter-api47.followers` — Followers

`GET /v3/user/followers` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 1326 ms

One call returns accounts that follow a user; one item is a full user profile. The call held 70 items (3 shown plus '… 67 more'). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `userId` | yes | 44196397 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` user id; input userId elsewhere; `data[].username` handle; `data[].name` display name; `data[].bio` profile bio; `data[].followerCount` followers of that account; `data[].followingCount` accounts it follows; `data[].tweetCount` number of posts; `data[].isBlueVerified` paid verification flag; `data[].createdAt` account creation time; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/followers?userId=44196397" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "95092020",
   "bio": "Best-Selling Author | Clinical Psychologist | #1 Education Podcast | Co-founder of @petersonacademy | Order my new book \"We Who Wrestle With God\" here:",
   "name": "Dr Jordan B Peterson",
   "avatar": "https://pbs.twimg.com/profile_images/1407056014776614923/TKBC60e1_400x400.jpg",
   "banner": "https://pbs.twimg.com/profile_banners/95092020/1786042551/1500x500",
   "website": "http://jordanbpeterson.com/books",
   "location": null,
   "username": "jordanbpeterson",
   "verified": false,
   "createdAt": "2009-12-06T23:33:02.000Z",
   "mediaCount": 7393,
   "tweetCount": 51591,
   "isProtected": false,
   "listedCount": 14750,
   "isTranslator": false,
   "professional": {
    "type": "Creator",
    "restId": "1680046132699840514",
    "category": [
     {
      "id": 144,
      "name": "Education",
      "icon_name": "IconBriefcaseStroke"
     }
    ]
   },
   "verifiedType": null,
   "followerCount": 6167222,
   "verifiedSince": null,
   "defaultProfile": false,
   "favoritesCount": 259,
   "followingCount": 1652,
   "highlightsInfo": null,
   "isBlueVerified": true,
   "pinnedTweetIds": [
    "2084670704742527257"
   ],
   "businessAccount": null,
   "possiblySensitive": false,
   "profileImageShape": "Circle",
   "hasCustomTimelines": true,
   "hasGraduatedAccess": true,
   "isIdentityVerified": false,
   "defaultProfileImage": false,
   "withheldInCountries": [],
   "isProfileTranslatable": false,
   "hasHiddenSubscriptio
…
```

## `rapidapi-twitter-api47.followers_ids` — Followers IDs

`GET /v3/user/followers-ids` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 962 ms

One call returns the IDs of accounts following a user; one item is a user id string. The call held 20 items (count=20). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `count` | no | 20 |
| `userId` | yes | 44196397 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[]` follower user id; `pagination.nextCursor` cursor for the next page; `pagination.prevCursor` cursor for the previous page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/followers-ids?count=20&userId=44196397" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  "2106457518918529024",
  "2106458167164985344",
  "2106424800952696832",
  "… 17 more"
 ],
 "pagination": {
  "nextCursor": "1878056290002179699",
  "prevCursor": "0"
 }
}
```

## `rapidapi-twitter-api47.followers_v1` — Followers v1

`GET /v3/user/followers-list` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 1186 ms

One call returns a user's followers (list variant, count param); one item is a full user profile. The call held 20 items (3 shown plus '… 17 more'). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `count` | no | 20 |
| `cursor` | no |  |
| `userId` | yes | 44196397 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` user id; input userId elsewhere; `data[].username` handle; `data[].name` display name; `data[].bio` profile bio; `data[].followerCount` followers of that account; `data[].followingCount` accounts it follows; `data[].tweetCount` number of posts; `data[].isBlueVerified` paid verification flag; `data[].createdAt` account creation time; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/followers-list?count=20&userId=44196397" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "2106457518918529024",
   "bio": "",
   "name": "Penney Cabiran",
   "avatar": "https://pbs.twimg.com/profile_images/2106459456716357632/zQ5hiblz_400x400.jpg",
   "banner": null,
   "website": null,
   "location": null,
   "username": "PenneyCabi",
   "verified": false,
   "createdAt": "2026-10-03T18:55:08.000Z",
   "mediaCount": 0,
   "tweetCount": 0,
   "isProtected": false,
   "listedCount": 0,
   "isTranslator": false,
   "professional": null,
   "verifiedType": null,
   "followerCount": 0,
   "verifiedSince": null,
   "defaultProfile": true,
   "favoritesCount": 0,
   "followingCount": 8,
   "highlightsInfo": null,
   "isBlueVerified": false,
   "pinnedTweetIds": [],
   "businessAccount": {
    "affiliatesCount": 0
   },
   "possiblySensitive": false,
   "profileImageShape": null,
   "hasCustomTimelines": false,
   "hasGraduatedAccess": false,
   "isIdentityVerified": false,
   "defaultProfileImage": false,
   "withheldInCountries": [],
   "isProfileTranslatable": false,
   "hasHiddenSubscriptions": false,
   "profileInterstitialType": null,
   "creatorSubscriptionsCount": 0,
   "affiliatesHighlightedLabel": null
  },
  {
   "id": "2106458167164985344",
   "bio": "",
   "name": "Bri",
   "avatar": "https://abs.twimg.com/sticky/default_profile_images/default_profile_400x400.png",
   "banner": null,
   "website": null,
   "location": null,
   "username": "Briqu33n94",
   "verified": false,
   "createdAt": "2026-10-03T18:59:12.000Z",
   "mediaCount
…
```

## `rapidapi-twitter-api47.following` — Following

`GET /v3/user/following` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 1294 ms

One call returns accounts a user follows; one item is a full user profile. The call held 70 items (3 shown plus '… 67 more'). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `userId` | yes | 44196397 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` user id; input userId elsewhere; `data[].username` handle; `data[].name` display name; `data[].bio` profile bio; `data[].followerCount` followers of that account; `data[].followingCount` accounts it follows; `data[].tweetCount` number of posts; `data[].isBlueVerified` paid verification flag; `data[].createdAt` account creation time; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/following?userId=44196397" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "95092020",
   "bio": "Best-Selling Author | Clinical Psychologist | #1 Education Podcast | Co-founder of @petersonacademy | Order my new book \"We Who Wrestle With God\" here:",
   "name": "Dr Jordan B Peterson",
   "avatar": "https://pbs.twimg.com/profile_images/1407056014776614923/TKBC60e1_400x400.jpg",
   "banner": "https://pbs.twimg.com/profile_banners/95092020/1786042551/1500x500",
   "website": "http://jordanbpeterson.com/books",
   "location": null,
   "username": "jordanbpeterson",
   "verified": false,
   "createdAt": "2009-12-06T23:33:02.000Z",
   "mediaCount": 7393,
   "tweetCount": 51591,
   "isProtected": false,
   "listedCount": 14750,
   "isTranslator": false,
   "professional": {
    "type": "Creator",
    "restId": "1680046132699840514",
    "category": [
     {
      "id": 144,
      "name": "Education",
      "icon_name": "IconBriefcaseStroke"
     }
    ]
   },
   "verifiedType": null,
   "followerCount": 6167222,
   "verifiedSince": null,
   "defaultProfile": false,
   "favoritesCount": 259,
   "followingCount": 1652,
   "highlightsInfo": null,
   "isBlueVerified": true,
   "pinnedTweetIds": [
    "2084670704742527257"
   ],
   "businessAccount": null,
   "possiblySensitive": false,
   "profileImageShape": "Circle",
   "hasCustomTimelines": true,
   "hasGraduatedAccess": true,
   "isIdentityVerified": false,
   "defaultProfileImage": false,
   "withheldInCountries": [],
   "isProfileTranslatable": false,
   "hasHiddenSubscriptio
…
```

## `rapidapi-twitter-api47.following_ids` — Following IDs

`GET /v3/user/following-ids` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 1014 ms

One call returns the IDs of accounts a user follows; one item is a user id string. The call held 20 items (count=20). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `count` | no | 20 |
| `cursor` | no |  |
| `userId` | yes | 44196397 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[]` followed user id; `pagination.nextCursor` cursor for the next page; `pagination.prevCursor` cursor for the previous page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/following-ids?count=20&userId=44196397" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  "2106001146925953025",
  "1572780417601740800",
  "15593331",
  "… 17 more"
 ],
 "pagination": {
  "nextCursor": "1875286869520815722",
  "prevCursor": "0"
 }
}
```

## `rapidapi-twitter-api47.following_v1` — Following v1

`GET /v3/user/following-list` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 993 ms

One call returns accounts a user follows (list variant, count param); one item is a full user profile. The call held 20 items (3 shown plus '… 17 more'). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `count` | no | 20 |
| `userId` | yes | 44196397 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` user id; input userId elsewhere; `data[].username` handle; `data[].name` display name; `data[].bio` profile bio; `data[].followerCount` followers of that account; `data[].followingCount` accounts it follows; `data[].tweetCount` number of posts; `data[].isBlueVerified` paid verification flag; `data[].createdAt` account creation time; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/following-list?count=20&userId=44196397" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "2106001146925953025",
   "bio": "",
   "name": "David Ellison",
   "avatar": "https://pbs.twimg.com/profile_images/2106002624713457664/qIDrMVmF_400x400.jpg",
   "banner": "https://pbs.twimg.com/profile_banners/2106001146925953025/1790945226/1500x500",
   "website": "http://skydance.com",
   "location": null,
   "username": "davidellison",
   "verified": false,
   "createdAt": "2026-10-02T12:43:38.000Z",
   "mediaCount": 1,
   "tweetCount": 1,
   "isProtected": false,
   "listedCount": 95,
   "isTranslator": false,
   "professional": null,
   "verifiedType": null,
   "followerCount": 54027,
   "verifiedSince": null,
   "defaultProfile": true,
   "favoritesCount": 0,
   "followingCount": 6,
   "highlightsInfo": null,
   "isBlueVerified": false,
   "pinnedTweetIds": [],
   "businessAccount": {
    "affiliatesCount": 0
   },
   "possiblySensitive": false,
   "profileImageShape": null,
   "hasCustomTimelines": false,
   "hasGraduatedAccess": false,
   "isIdentityVerified": false,
   "defaultProfileImage": false,
   "withheldInCountries": [],
   "isProfileTranslatable": false,
   "hasHiddenSubscriptions": false,
   "profileInterstitialType": null,
   "creatorSubscriptionsCount": 0,
   "affiliatesHighlightedLabel": null
  },
  {
   "id": "1572780417601740800",
   "bio": "",
   "name": "Jamieson Greer",
   "avatar": "https://pbs.twimg.com/profile_images/1896272250736631808/AxtH6ilY_400x400.jpg",
   "banner": null,
   "website": null,
   "location": "Washing
…
```

## `rapidapi-twitter-api47.list_details` — List Details

`GET /v3/list/details` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 888 ms

One call returns the details of one list; the answer is a single list object, not an array. For the next page there is none.

| param | required | example / default |
|---|---|---|
| `listId` | yes | 1177128103228989440 |

Fields: `data.id` list id; `data.name` list name; `data.description` list description; `data.mode` public or private; `data.memberCount` members; `data.subscriberCount` subscribers; `data.createdAt` creation time; `data.owner.id` owner user id; `data.owner.username` owner handle

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/list/details?listId=1177128103228989440" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": {
  "id": "1177128103228989440",
  "uri": "",
  "mode": "public",
  "name": "OL Foot",
  "slug": "",
  "owner": {
   "id": "2517864548",
   "bio": "🚀 Ma personne est sacrée 🤴\nConsulting #innovation R&D #digital #subvention #CIR\nFondateur de @Tuxboard / @walleditions \n \nPhoto semi/pro sur https://t.co/R6Ld",
   "name": "A̷l̷e̷x̷a̷n̷d̷r̷e̷",
   "avatar": "https://pbs.twimg.com/profile_images/1601631927353724929/zSzb_uA5_400x400.jpg",
   "banner": "https://pbs.twimg.com/profile_banners/2517864548/1400854921/1500x500",
   "website": "https://t.co/0bnuUQJDG0",
   "location": "France",
   "username": "txbrd",
   "verified": false,
   "createdAt": "2014-05-23T13:37:49.000Z",
   "mediaCount": 3396,
   "tweetCount": 12342,
   "isProtected": false,
   "listedCount": 51,
   "isTranslator": false,
   "professional": null,
   "verifiedType": null,
   "followerCount": 1240,
   "verifiedSince": null,
   "defaultProfile": false,
   "favoritesCount": 5986,
   "followingCount": 461,
   "highlightsInfo": null,
   "isBlueVerified": false,
   "pinnedTweetIds": [
    "1360289974852198406"
   ],
   "businessAccount": null,
   "possiblySensitive": false,
   "profileImageShape": "Circle",
   "hasCustomTimelines": true,
   "hasGraduatedAccess": true,
   "isIdentityVerified": false,
   "defaultProfileImage": false,
   "withheldInCountries": [],
   "isProfileTranslatable": false,
   "hasHiddenSubscriptions": false,
   "profileInterstitialType": null,
   "creatorSubscriptionsCount": 0,
   
…
```

## `rapidapi-twitter-api47.list_followers` — List Followers

`GET /v3/list/followers` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 1159 ms

One call returns accounts that follow a list; one item is a full user profile. The call held 20 items (3 shown plus '… 17 more'). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `listId` | yes | 1177128103228989440 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` user id; input userId elsewhere; `data[].username` handle; `data[].name` display name; `data[].bio` profile bio; `data[].followerCount` followers of that account; `data[].followingCount` accounts it follows; `data[].tweetCount` number of posts; `data[].isBlueVerified` paid verification flag; `data[].createdAt` account creation time; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/list/followers?listId=1177128103228989440" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "943730574799327232",
   "bio": "",
   "name": "DOOMSDAY",
   "avatar": "https://pbs.twimg.com/profile_images/1950127739433857024/1KV35f_v_400x400.jpg",
   "banner": "https://pbs.twimg.com/profile_banners/943730574799327232/1753781670/1500x500",
   "website": "https://www.youtube.com/watch?v=yJmRt77Ne-8",
   "location": "Ipanema, Brasil",
   "username": "RIPBOZO72",
   "verified": false,
   "createdAt": "2017-12-21T06:31:17.000Z",
   "mediaCount": 2,
   "tweetCount": 925,
   "isProtected": true,
   "listedCount": 0,
   "isTranslator": false,
   "professional": null,
   "verifiedType": null,
   "followerCount": 63,
   "verifiedSince": null,
   "defaultProfile": true,
   "favoritesCount": 5365,
   "followingCount": 309,
   "highlightsInfo": null,
   "isBlueVerified": false,
   "pinnedTweetIds": [],
   "businessAccount": null,
   "possiblySensitive": false,
   "profileImageShape": "Circle",
   "hasCustomTimelines": true,
   "hasGraduatedAccess": true,
   "isIdentityVerified": false,
   "defaultProfileImage": false,
   "withheldInCountries": [],
   "isProfileTranslatable": false,
   "hasHiddenSubscriptions": false,
   "profileInterstitialType": null,
   "creatorSubscriptionsCount": 0,
   "affiliatesHighlightedLabel": {}
  },
  {
   "id": "2020160576656203776",
   "bio": "",
   "name": "jfrank22",
   "avatar": "https://abs.twimg.com/sticky/default_profile_images/default_profile_400x400.png",
   "banner": null,
   "website": null,
   "location": null,
   "
…
```

## `rapidapi-twitter-api47.list_members` — List Members

`GET /v3/list/members` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 961 ms

One call returns the accounts that are members of a list; one item is a full user profile. The call held 20 items (3 shown plus '… 17 more'). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `listId` | yes | 1177128103228989440 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` user id; input userId elsewhere; `data[].username` handle; `data[].name` display name; `data[].bio` profile bio; `data[].followerCount` followers of that account; `data[].followingCount` accounts it follows; `data[].tweetCount` number of posts; `data[].isBlueVerified` paid verification flag; `data[].createdAt` account creation time; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/list/members?listId=1177128103228989440" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "1231534927285493760",
   "bio": "Teddy - 28 ans - Ici on parle de foot mais surtout de l’OL ! Une formidable raison d’être heureux !",
   "name": "Teddy",
   "avatar": "https://pbs.twimg.com/profile_images/2078590914193178624/hGHJehhw_400x400.jpg",
   "banner": "https://pbs.twimg.com/profile_banners/1231534927285493760/1784409943/1500x500",
   "website": null,
   "location": "Eure-et-Loir, Centre",
   "username": "Ted290723",
   "verified": false,
   "createdAt": "2020-02-23T11:03:11.000Z",
   "mediaCount": 1183,
   "tweetCount": 17727,
   "isProtected": false,
   "listedCount": 2,
   "isTranslator": false,
   "professional": {
    "type": "Creator",
    "restId": "1620018867924877312",
    "category": [
     {
      "id": 800,
      "name": "Sports, Fitness & Recreation",
      "icon_name": "IconBriefcaseStroke"
     }
    ]
   },
   "verifiedType": null,
   "followerCount": 808,
   "verifiedSince": null,
   "defaultProfile": true,
   "favoritesCount": 10100,
   "followingCount": 1027,
   "highlightsInfo": null,
   "isBlueVerified": false,
   "pinnedTweetIds": [
    "1775238821623247206"
   ],
   "businessAccount": null,
   "possiblySensitive": false,
   "profileImageShape": "Circle",
   "hasCustomTimelines": true,
   "hasGraduatedAccess": true,
   "isIdentityVerified": false,
   "defaultProfileImage": false,
   "withheldInCountries": [],
   "isProfileTranslatable": false,
   "hasHiddenSubscriptions": false,
   "profileInterstitialType": null,
   "
…
```

## `rapidapi-twitter-api47.list_tweets` — List Tweets

`GET /v3/list/tweets` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 1957 ms

One call returns the latest tweets of a list; one item is a tweet (quotes embed quotedTweet). The call held 97 items (3 shown plus '… 94 more'). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `listId` | yes | 1177128103228989440 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` tweet id; input tweetId elsewhere; `data[].text` tweet text (long ones cut in sample); `data[].createdAt` post time; `data[].author.id` author user id; `data[].author.username` author handle; `data[].likeCount` likes; `data[].retweetCount` retweets; `data[].replyCount` replies; `data[].viewCount` views; `data[].type` tweet, reply or quote; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/list/tweets?listId=1177128103228989440" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "2106459387112177709",
   "card": null,
   "lang": "fr",
   "poll": null,
   "text": "Le gars a vraiment envie de faire mal la \n\nIl va être ballon d’or",
   "type": "quote",
   "urls": [],
   "media": [],
   "place": null,
   "author": {
    "id": "140901718",
    "bio": "@OL | Né en 1983 à Lyon | Agnostique forcené | Futsaleur | Vice champion PES League pendant mes études de finance | Pianiste | Chance d'avoir l'oreille relative",
    "name": "JulienJa⭐⭐🇲🇫🦁",
    "avatar": "https://pbs.twimg.com/profile_images/990694972633559042/d2eph3Id_normal.jpg",
    "banner": "https://pbs.twimg.com/profile_banners/140901718/1531920860/1500x500",
    "website": null,
    "location": "Online",
    "username": "TWITT_ASS",
    "verified": false,
    "createdAt": "2010-05-06T17:15:24.000Z",
    "mediaCount": 3468,
    "tweetCount": 172122,
    "isProtected": false,
    "listedCount": 20,
    "isTranslator": false,
    "professional": null,
    "verifiedType": null,
    "followerCount": 2546,
    "verifiedSince": null,
    "defaultProfile": false,
    "favoritesCount": 222920,
    "followingCount": 4305,
    "highlightsInfo": null,
    "isBlueVerified": false,
    "pinnedTweetIds": [
     "1401874842941599744"
    ],
    "businessAccount": null,
    "possiblySensitive": false,
    "profileImageShape": "Circle",
    "hasCustomTimelines": true,
    "hasGraduatedAccess": true,
    "isIdentityVerified": false,
    "defaultProfileImage": false,
    "withheldInCountries
…
```

## `rapidapi-twitter-api47.quotes` — Quotes

`GET /v3/tweet/quotes` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 2324 ms

One call returns tweets that quote a given tweet; one item is a quote tweet with quotedTweet holding the original. The call held 23 items (3 shown plus '… 20 more'). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `tweetId` | yes | 1832319390940881133 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` tweet id; input tweetId elsewhere; `data[].text` tweet text (long ones cut in sample); `data[].createdAt` post time; `data[].author.id` author user id; `data[].author.username` author handle; `data[].likeCount` likes; `data[].retweetCount` retweets; `data[].replyCount` replies; `data[].viewCount` views; `data[].type` tweet, reply or quote; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/tweet/quotes?tweetId=1832319390940881133" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "1832330351638720834",
   "card": null,
   "lang": "qct",
   "poll": null,
   "text": "$DOGE",
   "type": "quote",
   "urls": [],
   "media": [],
   "place": null,
   "author": {
    "id": "972970759416111104",
    "bio": "$ZIG  $WOO  $TAO $INJ  $NPC 🥷\nhttps://t.co/69g0ooXSSg\nWatch out for scammers !! discord is closed since 2021.",
    "name": "WIZZ🥷 ( beware scammers )",
    "avatar": "https://pbs.twimg.com/profile_images/1692319430611517440/WwOa201h_normal.jpg",
    "banner": "https://pbs.twimg.com/profile_banners/972970759416111104/1708102849/1500x500",
    "website": null,
    "location": "No financial advice ",
    "username": "CryptoWizardd",
    "verified": false,
    "createdAt": "2018-03-11T23:01:20.000Z",
    "mediaCount": 14138,
    "tweetCount": 64814,
    "isProtected": false,
    "listedCount": 9722,
    "isTranslator": false,
    "professional": null,
    "verifiedType": null,
    "followerCount": 812658,
    "verifiedSince": null,
    "defaultProfile": true,
    "favoritesCount": 33899,
    "followingCount": 2423,
    "highlightsInfo": null,
    "isBlueVerified": true,
    "pinnedTweetIds": [
     "1966440648845738287"
    ],
    "businessAccount": null,
    "possiblySensitive": false,
    "profileImageShape": "Circle",
    "hasCustomTimelines": true,
    "hasGraduatedAccess": true,
    "isIdentityVerified": false,
    "defaultProfileImage": false,
    "withheldInCountries": [],
    "isProfileTranslatable": false,
    "hasHiddenSub
…
```

## `rapidapi-twitter-api47.retweets` — Retweets

`GET /v3/tweet/retweets` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 1123 ms

One call returns the users who retweeted a tweet; one item is a full user profile. The call held 17 items (3 shown plus '… 14 more'). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `tweetId` | yes | 1991507072345944240 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` user id; input userId elsewhere; `data[].username` handle; `data[].name` display name; `data[].bio` profile bio; `data[].followerCount` followers of that account; `data[].followingCount` accounts it follows; `data[].tweetCount` number of posts; `data[].isBlueVerified` paid verification flag; `data[].createdAt` account creation time; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/tweet/retweets?tweetId=1991507072345944240" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "1563118230239313922",
   "bio": "Husband & Dad Founder @novaryshq\nBuilding systems & infrastructure for Web3\n. No noise. No clones. Just execution",
   "name": "Flippin’ | Crypto.com (Noooot)",
   "avatar": "https://pbs.twimg.com/profile_images/2101815436488630272/CuHkcsUv_normal.jpg",
   "banner": "https://pbs.twimg.com/profile_banners/1563118230239313922/1783128347/1500x500",
   "website": null,
   "location": "Light-years ahead beyond reach",
   "username": "FlippinMeta",
   "verified": false,
   "createdAt": "2022-08-26T10:57:10.000Z",
   "mediaCount": 1660,
   "tweetCount": 5101,
   "isProtected": false,
   "listedCount": 4,
   "isTranslator": false,
   "professional": null,
   "verifiedType": null,
   "followerCount": 4130,
   "verifiedSince": null,
   "defaultProfile": true,
   "favoritesCount": 2800,
   "followingCount": 1270,
   "highlightsInfo": null,
   "isBlueVerified": true,
   "pinnedTweetIds": [],
   "businessAccount": null,
   "possiblySensitive": false,
   "profileImageShape": "Circle",
   "hasCustomTimelines": false,
   "hasGraduatedAccess": true,
   "isIdentityVerified": false,
   "defaultProfileImage": false,
   "withheldInCountries": [],
   "isProfileTranslatable": false,
   "hasHiddenSubscriptions": false,
   "profileInterstitialType": null,
   "creatorSubscriptionsCount": 0,
   "affiliatesHighlightedLabel": {}
  },
  {
   "id": "1877631180188905472",
   "bio": "Do Only Good Everyday FOLLOW @MilkXMeta\n@doginaldogs @typemedia
…
```

## `rapidapi-twitter-api47.search` — Search

`GET /v3/search` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 2231 ms

One call searches tweets by keyword (type=Top here); one item is a wrapper {type, content} where content is the tweet. The call held 20 items (3 shown plus '… 17 more'). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `type` | yes | Top |
| `cursor` | no |  |
| `query` | yes | spacex |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats; keep the same `type` (Top|Latest|People|Photos|Videos) on every page, a cursor belongs to its own sort.

Fields: `data[].type` item type, tweet; `data[].content.id` tweet id; `data[].content.text` tweet text; `data[].content.createdAt` post time; `data[].content.author.id` author user id; `data[].content.author.username` author handle; `data[].content.likeCount` likes; `data[].content.retweetCount` retweets; `data[].content.viewCount` views; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/search?type=Top&query=spacex" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "type": "tweet",
   "content": {
    "id": "2104601695711904180",
    "card": null,
    "lang": "en",
    "poll": null,
    "text": "Splashdown confirmed. Congratulations to the entire SpaceX team on the first orbital flight of Starship! https://x.com/SpaceX/status/2104601695711904180/video/1",
    "type": "tweet",
    "urls": [],
    "media": [
     {
      "id": "2104601502752948225",
      "key": "13_2104601502752948225",
      "url": "https://video.twimg.com/amplify_video/2104601502752948225/vid/avc1/3840x2160/GQ0Nh2aXYOk1um4f.mp4?tag=29",
      "type": "video",
      "sizes": {
       "large": {
        "width": 2048,
        "height": 1152,
        "resize": "fit"
       },
       "small": {
        "width": 680,
        "height": 383,
        "resize": "fit"
       },
       "thumb": {
        "width": 150,
        "height": 150,
        "resize": "crop"
       },
       "medium": {
        "width": 1200,
        "height": 675,
        "resize": "fit"
       },
       "original": {
        "width": 3840,
        "height": 2160,
        "resize": "fit"
       }
      },
      "width": 3840,
      "height": 2160,
      "altText": null,
      "bitrate": null,
      "duration": 89,
      "features": {
       "all": [],
       "orig": [
        {
         "faces": []
        }
       ],
       "large": [],
       "small": [],
       "medium": []
      },
      "stickers": null,
      "videoInfo": {
       "variants": [
        {
         "url": "https://
…
```

## `rapidapi-twitter-api47.stream_url` — Stream URL

`GET /v3/space/stream-url` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 869 ms

One call returns the audio stream info for one Twitter Space; the answer is a single object. No cursor.

| param | required | example / default |
|---|---|---|
| `mediaKey` | yes | 28_1991353658102149130 |

Fields: `data.hlsUrl` HLS stream URL; `data.status` stream status, e.g. LIVE_PUBLIC; `data.shareUrl` public broadcast link; `data.streamType` stream format, HLS

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/space/stream-url?mediaKey=28_1991353658102149130" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": {
  "hlsUrl": "https://prod-fastly-us-east-1.video.pscp.tv/Transcoding/v1/hls/0FoQIv-FMaRuteEiaTO7zltaOMy0F03j6OUIXN1b7jD4Pc3vSRQAHHBAShS4U2EKz_rhb7pRmCWzrHXHUHmMgg/non_transcode/us-east-1/periscope-replay-direct-prod-us-east-1-public/audio-space/playlist_16683092921815562133.m3u8?type=replay",
  "status": "LIVE_PUBLIC",
  "shareUrl": "https://x.com/i/broadcasts/1MnxnPmLRQBGO",
  "streamType": "HLS"
 }
}
```

## `rapidapi-twitter-api47.translate` — Translate

`POST /v3/tweet/translate` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 1278 ms

One call translates a tweet's text into dstLang (sent as a JSON body); the answer is data holding a JSON string, not an object. In our call it was cut to a short result with a text field. No cursor.

Fields: `data` JSON-encoded string with result.content_type and result.text (translated text)

```bash
curl -X POST "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/tweet/translate" \
  -H "x-api-key: $FETCHAPI_KEY" -H "content-type: application/json" \
  -d '{"body": "Launching the next Starship flight test this week", "dstLang": "es", "tweetId": "1991507072345944240"}'
```

Real answer (trimmed):

```json
{
 "data": "{\"result\":{\"content_type\":\"POST\",\"text\":\"https\"}}\n{\"result\":{\"content_type\":\"POST\",\"text\":\"://\"}}\n{\"result\":{\"content_type\":\"POST\",\"text\":\"t\"}}\n{\"result\":{\"content_type\":\"POST\",\"text\":\".co\"}}\n{\"result\":{\"content_type\":\"POST\",\"text\":\"/\"}}\n{\"result\":{\"content_type\":\"POST\",\"text\":\"TS\"}}\n{\"result\":{\"con…"
}
```

## `rapidapi-twitter-api47.tweet_details_by_ids` — Tweet Details by IDs

`GET /v3/tweet/details-by-ids` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 900 ms

One call returns details for tweets given a comma-separated ids list; one item is a tweet. The call held 1 item (we sent one id). No cursor.

| param | required | example / default |
|---|---|---|
| `ids` | yes | 1991507072345944240 |

Fields: `data.tweets[].id` tweet id; `data.tweets[].text` tweet text; `data.tweets[].createdAt` post time; `data.tweets[].author.id` author user id; `data.tweets[].author.username` author handle; `data.tweets[].likeCount` likes; `data.tweets[].replyCount` replies; `data.tweets[].viewCount` views; `data.tweets[].conversationId` conversation root tweet id

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/tweet/details-by-ids?ids=1991507072345944240" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": {
  "tweets": [
   {
    "id": "1991507072345944240",
    "card": {
     "url": "https://t.co/TSJDAZvbUz",
     "name": "3691233323:audiospace",
     "type": "audio",
     "cardType": "",
     "vanityUrl": null,
     "cardPlatform": {
      "platform": {
       "device": {
        "name": "Swift",
        "version": "12"
       },
       "audience": {
        "name": "production"
       }
      }
     },
     "bindingValues": {
      "appId": null,
      "title": "",
      "domain": "",
      "appName": null,
      "playerUrl": null,
      "description": "",
      "playerWidth": null,
      "playerHeight": null,
      "appStarRating": null,
      "appPriceAmount": null,
      "appPriceCurrency": null,
      "thumbnailImageUrl": null,
      "thumbnailImageColor": null
     },
     "userRefsResults": []
    },
    "lang": "zxx",
    "poll": null,
    "text": "https://x.com/i/spaces/1MnxnPmLRQBGO",
    "type": "tweet",
    "urls": [
     "https://x.com/i/spaces/1MnxnPmLRQBGO"
    ],
    "media": [],
    "place": null,
    "author": {
     "id": "832980412452503556",
     "bio": "CSN Creator | Developer | Public Speaker | DDL V014",
     "name": "Web",
     "avatar": "https://pbs.twimg.com/profile_images/2090939421147250688/CqLH1lU1_normal.jpg",
     "banner": "https://pbs.twimg.com/profile_banners/832980412452503556/1790167307/1500x500",
     "website": "http://www.web3smb.xyz",
     "location": "Web3",
     "username": "web3smb",
     "verified": false,
     "created
…
```

## `rapidapi-twitter-api47.tweet_details_conversation` — Tweet Details & Conversation

`GET /v3/tweet/details` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 1620 ms

One call returns one tweet (data.tweet) plus its replies (data.replies, each a tweet). The call held 36 replies (3 shown plus '… 33 more'). For more replies, pass data.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `tweetId` | yes | 1991507072345944240 |

Paging: read `data.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.tweet.id` the tweet id; `data.tweet.text` tweet text; `data.tweet.author.username` author handle; `data.tweet.likeCount` likes; `data.tweet.viewCount` views; `data.replies[].id` reply tweet id; `data.replies[].text` reply text; `data.replies[].author.username` reply author handle; `data.replies[].createdAt` reply time; `data.nextCursor` cursor for the next page of replies

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/tweet/details?tweetId=1991507072345944240" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": {
  "tweet": {
   "id": "1991507072345944240",
   "card": {
    "url": "https://t.co/TSJDAZvbUz",
    "name": "3691233323:audiospace",
    "type": "audio",
    "cardType": "",
    "vanityUrl": null,
    "cardPlatform": {
     "platform": {
      "device": {
       "name": "Swift",
       "version": "12"
      },
      "audience": {
       "name": "production"
      }
     }
    },
    "bindingValues": {
     "appId": null,
     "title": "",
     "domain": "",
     "appName": null,
     "playerUrl": null,
     "description": "",
     "playerWidth": null,
     "playerHeight": null,
     "appStarRating": null,
     "appPriceAmount": null,
     "appPriceCurrency": null,
     "thumbnailImageUrl": null,
     "thumbnailImageColor": null
    },
    "userRefsResults": []
   },
   "lang": "zxx",
   "poll": null,
   "text": "https://x.com/i/spaces/1MnxnPmLRQBGO",
   "type": "tweet",
   "urls": [
    "https://x.com/i/spaces/1MnxnPmLRQBGO"
   ],
   "media": [],
   "place": null,
   "author": {
    "id": "832980412452503556",
    "bio": "CSN Creator | Developer | Public Speaker | DDL V014",
    "name": "Web",
    "avatar": "https://pbs.twimg.com/profile_images/2090939421147250688/CqLH1lU1_normal.jpg",
    "banner": "https://pbs.twimg.com/profile_banners/832980412452503556/1790167307/1500x500",
    "website": "http://www.web3smb.xyz",
    "location": "Web3",
    "username": "web3smb",
    "verified": false,
    "createdAt": "2017-02-18T15:49:41.000Z",
    "mediaCount": 11746,
   
…
```

## `rapidapi-twitter-api47.user_subscriptions` — User Subscriptions

`GET /v3/user/subscriptions` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 841 ms

One call returns the accounts a user subscribes to; one item is a full user profile. The call held 1 item. For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `userId` | yes | 34743251 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` user id; input userId elsewhere; `data[].username` handle; `data[].name` display name; `data[].bio` profile bio; `data[].followerCount` followers of that account; `data[].followingCount` accounts it follows; `data[].tweetCount` number of posts; `data[].isBlueVerified` paid verification flag; `data[].createdAt` account creation time; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/subscriptions?userId=34743251" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "44196397",
   "bio": "https://t.co/ZdBx5WABYx",
   "name": "Elon Musk",
   "avatar": "https://pbs.twimg.com/profile_images/2103567689515954176/aR-Kjpp4_400x400.jpg",
   "banner": "https://pbs.twimg.com/profile_banners/44196397/1774145451/1500x500",
   "website": null,
   "location": null,
   "username": "elonmusk",
   "verified": false,
   "createdAt": "2009-06-02T20:12:29.000Z",
   "mediaCount": 4728,
   "tweetCount": 109417,
   "isProtected": false,
   "listedCount": 170753,
   "isTranslator": false,
   "professional": {
    "type": "Creator",
    "restId": "1679729435447275522",
    "category": []
   },
   "verifiedType": null,
   "followerCount": 241744725,
   "verifiedSince": null,
   "defaultProfile": false,
   "favoritesCount": 250562,
   "followingCount": 1415,
   "highlightsInfo": null,
   "isBlueVerified": true,
   "pinnedTweetIds": [
    "2105718806769512812"
   ],
   "businessAccount": null,
   "possiblySensitive": false,
   "profileImageShape": "Circle",
   "hasCustomTimelines": true,
   "hasGraduatedAccess": true,
   "isIdentityVerified": false,
   "defaultProfileImage": false,
   "withheldInCountries": [],
   "isProfileTranslatable": false,
   "hasHiddenSubscriptions": false,
   "profileInterstitialType": null,
   "creatorSubscriptionsCount": 0,
   "affiliatesHighlightedLabel": {
    "label": {
     "url": {
      "url": "https://twitter.com/X",
      "urlType": "DeepLink"
     },
     "badge": {
      "url": "https://pbs.twimg.com/pr
…
```

## `rapidapi-twitter-api47.user_tweets` — User Tweets

`GET /v3/user/tweets` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 1459 ms

One call returns a user's tweets; one item is a tweet. The call held 20 items (3 shown plus '… 17 more'). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `userId` | yes | 44196397 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` tweet id; input tweetId elsewhere; `data[].text` tweet text (long ones cut in sample); `data[].createdAt` post time; `data[].author.id` author user id; `data[].author.username` author handle; `data[].likeCount` likes; `data[].retweetCount` retweets; `data[].replyCount` replies; `data[].viewCount` views; `data[].type` tweet, reply or quote; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/tweets?userId=44196397" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "2106454808676716916",
   "card": null,
   "lang": "en",
   "poll": null,
   "text": "Starship deploying Starlink V3 satellites https://x.com/elonmusk/status/2106454808676716916/photo/1",
   "type": "tweet",
   "urls": [],
   "media": [
    {
     "id": "2106454804180455424",
     "key": "3_2106454804180455424",
     "url": "https://pbs.twimg.com/media/HTuhe-KXUAANxEg.jpg",
     "type": "photo",
     "sizes": {
      "large": {
       "width": 1916,
       "height": 1717,
       "resize": "fit"
      },
      "small": {
       "width": 680,
       "height": 609,
       "resize": "fit"
      },
      "thumb": {
       "width": 150,
       "height": 150,
       "resize": "crop"
      },
      "medium": {
       "width": 1200,
       "height": 1075,
       "resize": "fit"
      },
      "original": {
       "width": 1916,
       "height": 1717,
       "resize": "fit"
      }
     },
     "width": 1916,
     "height": 1717,
     "altText": null,
     "bitrate": null,
     "duration": null,
     "features": {
      "all": [],
      "orig": [
       {
        "faces": [
         {
          "x": 0,
          "y": 644,
          "width": 1916,
          "height": 1073
         },
         {
          "x": 199,
          "y": 0,
          "width": 1717,
          "height": 1717
         },
         {
          "x": 410,
          "y": 0,
          "width": 1506,
          "height": 1717
         },
         "… 2 more"
        ]
       }
      ],
      "large
…
```

## `rapidapi-twitter-api47.user_tweets_and_replies` — User Tweets and Replies

`GET /v3/user/tweets-and-replies` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 1428 ms

One call returns a user's tweets and replies; one item is a tweet or reply. The call held 32 items (3 shown plus '… 29 more'). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `userId` | yes | 44196397 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` tweet id; input tweetId elsewhere; `data[].text` tweet text (long ones cut in sample); `data[].createdAt` post time; `data[].author.id` author user id; `data[].author.username` author handle; `data[].likeCount` likes; `data[].retweetCount` retweets; `data[].replyCount` replies; `data[].viewCount` views; `data[].type` tweet, reply or quote; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/tweets-and-replies?userId=44196397" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "2106454808676716916",
   "card": null,
   "lang": "en",
   "poll": null,
   "text": "Starship deploying Starlink V3 satellites https://x.com/elonmusk/status/2106454808676716916/photo/1",
   "type": "tweet",
   "urls": [],
   "media": [
    {
     "id": "2106454804180455424",
     "key": "3_2106454804180455424",
     "url": "https://pbs.twimg.com/media/HTuhe-KXUAANxEg.jpg",
     "type": "photo",
     "sizes": {
      "large": {
       "width": 1916,
       "height": 1717,
       "resize": "fit"
      },
      "small": {
       "width": 680,
       "height": 609,
       "resize": "fit"
      },
      "thumb": {
       "width": 150,
       "height": 150,
       "resize": "crop"
      },
      "medium": {
       "width": 1200,
       "height": 1075,
       "resize": "fit"
      },
      "original": {
       "width": 1916,
       "height": 1717,
       "resize": "fit"
      }
     },
     "width": 1916,
     "height": 1717,
     "altText": null,
     "bitrate": null,
     "duration": null,
     "features": {
      "all": [],
      "orig": [
       {
        "faces": [
         {
          "x": 0,
          "y": 644,
          "width": 1916,
          "height": 1073
         },
         {
          "x": 199,
          "y": 0,
          "width": 1717,
          "height": 1717
         },
         {
          "x": 410,
          "y": 0,
          "width": 1506,
          "height": 1717
         },
         "… 2 more"
        ]
       }
      ],
      "large
…
```

## `rapidapi-twitter-api47.verified_followers` — Verified Followers

`GET /v3/user/verified-followers` · ✓ working (tested 2026-10-06) · $0.000190/call upstream · sampled 2026-10-03, 966 ms

One call returns a user's verified followers; one item is a full user profile. The call held 20 items (3 shown plus '… 17 more'). For the next page, pass pagination.nextCursor as cursor.

| param | required | example / default |
|---|---|---|
| `cursor` | no |  |
| `userId` | yes | 44196397 |

Paging: read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data[].id` user id; input userId elsewhere; `data[].username` handle; `data[].name` display name; `data[].bio` profile bio; `data[].followerCount` followers of that account; `data[].followingCount` accounts it follows; `data[].tweetCount` number of posts; `data[].isBlueVerified` paid verification flag; `data[].createdAt` account creation time; `pagination.nextCursor` cursor for the next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/user/verified-followers?userId=44196397" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "data": [
  {
   "id": "2017165509234491392",
   "bio": "✡️ 16yo. building apps & CS undergrad",
   "name": "Hila",
   "avatar": "https://abs.twimg.com/sticky/default_profile_images/default_profile_400x400.png",
   "banner": null,
   "website": null,
   "location": "Tel Aviv, Israel ",
   "username": "Hila_Yanayy",
   "verified": false,
   "createdAt": "2026-01-30T09:18:44.000Z",
   "mediaCount": 0,
   "tweetCount": 12,
   "isProtected": false,
   "listedCount": 0,
   "isTranslator": false,
   "professional": null,
   "verifiedType": null,
   "followerCount": 11,
   "verifiedSince": null,
   "defaultProfile": true,
   "favoritesCount": 655,
   "followingCount": 142,
   "highlightsInfo": null,
   "isBlueVerified": true,
   "pinnedTweetIds": [],
   "businessAccount": null,
   "possiblySensitive": false,
   "profileImageShape": "Circle",
   "hasCustomTimelines": false,
   "hasGraduatedAccess": true,
   "isIdentityVerified": false,
   "defaultProfileImage": true,
   "withheldInCountries": [],
   "isProfileTranslatable": false,
   "hasHiddenSubscriptions": false,
   "profileInterstitialType": null,
   "creatorSubscriptionsCount": 0,
   "affiliatesHighlightedLabel": {}
  },
  {
   "id": "1527380534959251457",
   "bio": "Medio de comunicación Nacional 📺🎙️\n\nhttps://t.co/rg5mJ3f5Yh…\nhttps://t.co/npmIkcZPgb…",
   "name": "Teleclic Colombia",
   "avatar": "https://pbs.twimg.com/profile_images/1542906309380538369/_zIThWkE_400x400.jpg",
   "banner": "https://pbs.twimg.com/profile_ba
…
```
