logoPandorLabs
social data api

X (Twitter) logoX (Twitter)

Profiles, recent tweets, tweet details, video transcripts and communities.

Account profile1 request
Recent posts by an account1 request
Post details1 request
Video transcript1 request
Community details1 request
Posts in a community1 request
GET/v1/twitter/profile

Account profile

1 request

Returns a Twitter account's profile and stats by handle: name, screen_name, description, location, profile_image_url_https, is_blue_verified, followers_count, friends_count, favourites_count, and statuses_count, plus verification_info, tipjar_settings, highlights_info, and creator_subscriptions_count.

Query parameters

handle
stringrequired
Twitter handle of the account.
cache_max_age
string
Accept a stored response up to this age. Inside that window the answer is free and comes back with cached: true and a cached_at time; past it, the request runs live for 1 request.

1d3d7d14d30d

curl "https://api.pandorlabs.com/v1/twitter/profile?handle=Austen" \  -H "Authorization: Bearer $PANDORLABS_KEY"
Example response

Response

{
  "success": true,
  "credits_charged": 1,
  "__typename": "User",
  "id": "VXNlcjoyMjE4MzgzNDk=",
  "rest_id": "221838349",
  "affiliates_highlighted_label": {
    "label": {
      "url": {
        "url": "https://twitter.com/bloomtech",
        "urlType": "DeepLink"
      },
      "badge": {
        "url": "https://pbs.twimg.com/profile_images/1542996246477938688/PR4UFtE6_bigger.jpg"
      },
      "description": "Bloom Institute of Technology",
      "userLabelType": "BusinessLabel",
      "userLabelDisplayType": "Badge"
    }
  },
  "is_blue_verified": true,
  "profile_image_shape": "Circle",
  "legacy": {
    "created_at": "Wed Dec 01 19:13:23 +0000 2010",
    "default_profile": false,
    "default_profile_image": false,
    "description": "CEO https://t.co/m6TigM5azr & https://t.co/NuPTghEZ1I (part of @bloomtech). We help teams maximize productivity using AI. Will tweet as I wish and suffer the consequences.",
    "entities": {
      "description": {
        "urls": [
          {
            "display_url": "GauntletAI.com",
            "expanded_url": "http://GauntletAI.com",
            "url": "https://t.co/m6TigM5azr",
            "indices": [
              4
            ]
          }
        ]
      },
      "url": {
        "urls": [
          {
            "display_url": "gauntletai.com",
            "expanded_url": "http://gauntletai.com",
            "url": "https://t.co/nCe0AdT8D4",
            "indices": [
              0
            ]
          }
        ]
      }
    },
    "fast_followers_count": 0,
    "favourites_count": 80812,
    "followers_count": 377608,
    "friends_count": 1051,
    "has_custom_timelines": true,
    "is_translator": false,
    "listed_count": 3959,
    "location": "Austin, TX",
    "media_count": 3843,
    "name": "Austen Allred",
    "normal_followers_count": 377608,
    "pinned_tweet_ids_str": [
      "1882816395400073367"
    ],
    "possibly_sensitive": false,
    "profile_banner_url": "https://pbs.twimg.com/profile_banners/221838349/1622098809",
    "profile_image_url_https": "https://pbs.twimg.com/profile_images/1608281295918096385/D2kh-M28_normal.jpg",
    "profile_interstitial_type": "",
    "screen_name": "Austen",
    "statuses_count": 46114,
    "translator_type": "regular",
    "url": "https://t.co/nCe0AdT8D4",
    "verified": false,
    "withheld_in_countries": []
  },
  "tipjar_settings": {
    "is_enabled": false,
    "bandcamp_handle": "",
    "bitcoin_handle": "",
    "cash_app_handle": "",
    "ethereum_handle": "",
    "gofundme_handle": "",
    "patreon_handle": "",
    "pay_pal_handle": "",
    "venmo_handle": ""
  },
  "legacy_extended_profile": {},
  "is_profile_translatable": false,
  "has_hidden_subscriptions_on_profile": false,
  "verification_info": {
    "is_identity_verified": false,
    "reason": {
      "description": {
        "text": "This account is verified because it's an affiliate of @bloomtech on X. Learn more",
        "entities": [
          {
            "from_index": 54,
            "to_index": 64,
            "ref": {
              "url": "https://twitter.com/bloomtech",
              "url_type": "ExternalUrl"
            }
          }
        ]
      },
      "verified_since_msec": "1473330227634"
    }
  },
  "highlights_info": {
    "can_highlight_tweets": true,
    "highlighted_tweets": "482"
  },
  "user_seed_tweet_count": 0,
  "business_account": {},
  "creator_subscriptions_count": 3
}
GET/v1/twitter/user-tweets

Recent posts by an account

1 request

Returns tweets from a user's profile by handle. Twitter only exposes roughly 100 of the account's most popular tweets publicly, so this is neither the latest tweets nor a chronological feed. Each tweet has rest_id, url, full_text, created_at, media entities, and engagement figures: views count, favorite_count, reply_count, retweet_count, quote_count, and bookmark_count. Set trim for a smaller payload.

Query parameters

handle
stringrequired
Twitter handle of the account.
trim
boolean
true returns a slimmer response.
curl "https://api.pandorlabs.com/v1/twitter/user-tweets?handle=levelsio" \  -H "Authorization: Bearer $PANDORLABS_KEY"
Example response

Response

{
  "success": true,
  "credits_charged": 1,
  "tweets": [
    {
      "rest_id": "1834021269559501236",
      "views": {
        "count": "4710824",
        "state": "EnabledWithCount"
      },
      "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>",
      "legacy": {
        "bookmark_count": 2634,
        "bookmarked": false,
        "created_at": "Thu Sep 12 00:08:39 +0000 2024",
        "conversation_id_str": "1834021269559501236",
        "display_text_range": [
          0
        ],
        "entities": {
          "hashtags": [],
          "symbols": [],
          "timestamps": [],
          "urls": [],
          "user_mentions": []
        },
        "favorite_count": 129276,
        "favorited": false,
        "full_text": "Wife: “What did your teacher remember about September 11th?”\n\nNine-year-old: “She was only four then, she doesn’t remember it at all.”",
        "is_quote_status": false,
        "lang": "en",
        "quote_count": 674,
        "reply_count": 388,
        "retweet_count": 2901,
        "retweeted": false,
        "user_id_str": "221838349",
        "id_str": "1834021269559501236"
      },
      "url": "https://x.com/Austen/status/1935730646267158797"
    }
  ]
}
GET/v1/twitter/tweet

Post details

1 request

Returns one tweet by URL along with its author's profile and engagement numbers: rest_id, full_text, created_at, source, media entities, views count, favorite_count, reply_count, retweet_count, quote_count, and bookmark_count. Set trim for a smaller payload.

Query parameters

url
stringrequired
Link to the tweet.
trim
boolean
true returns a slimmer response.
cache_max_age
string
Accept a stored response up to this age. Inside that window the answer is free and comes back with cached: true and a cached_at time; past it, the request runs live for 1 request.

1d3d7d14d30d

curl "https://api.pandorlabs.com/v1/twitter/tweet?url=<url>" \  -H "Authorization: Bearer $PANDORLABS_KEY"
Example response

Response

{
  "success": true,
  "credits_charged": 1,
  "rest_id": "1935730646267158797",
  "views": {
    "count": "27539",
    "state": "EnabledWithCount"
  },
  "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
  "legacy": {
    "bookmark_count": 95,
    "bookmarked": false,
    "created_at": "Thu Jun 19 16:05:24 +0000 2025",
    "conversation_id_str": "1935730646267158797",
    "display_text_range": [
      0
    ],
    "entities": {
      "hashtags": [],
      "media": [
        {
          "display_url": "pic.x.com/YywdjQZde8",
          "expanded_url": "https://x.com/Austen/status/1935730646267158797/photo/1",
          "id_str": "1935730260303069184",
          "indices": [
            149
          ],
          "media_key": "3_1935730260303069184",
          "media_url_https": "https://pbs.twimg.com/media/Gt0YanJWwAA6B80.jpg",
          "type": "photo",
          "url": "https://t.co/YywdjQZde8",
          "ext_media_availability": {
            "status": "Available"
          },
          "allow_download_status": {
            "allow_download": true
          },
          "media_results": {
            "result": {
              "media_key": "3_1935730260303069184"
            }
          }
        }
      ],
      "symbols": [],
      "timestamps": [],
      "urls": [],
      "user_mentions": []
    },
    "extended_entities": {
      "media": [
        {
          "display_url": "pic.x.com/YywdjQZde8",
          "expanded_url": "https://x.com/Austen/status/1935730646267158797/photo/1",
          "id_str": "1935730260303069184",
          "indices": [
            149
          ],
          "media_key": "3_1935730260303069184",
          "media_url_https": "https://pbs.twimg.com/media/Gt0YanJWwAA6B80.jpg",
          "type": "photo",
          "url": "https://t.co/YywdjQZde8",
          "ext_media_availability": {
            "status": "Available"
          },
          "allow_download_status": {
            "allow_download": true
          },
          "media_results": {
            "result": {
              "media_key": "3_1935730260303069184"
            }
          }
        }
      ]
    },
    "favorite_count": 80,
    "favorited": false,
    "full_text": "This was created by a Gauntlet AI grad based on a whole lot of experimentation.\n\nOne of the most important things an AI dev can begin to understand. https://t.co/YywdjQZde8",
    "is_quote_status": false,
    "lang": "en",
    "possibly_sensitive": false,
    "possibly_sensitive_editable": true,
    "quote_count": 3,
    "reply_count": 6,
    "retweet_count": 5,
    "retweeted": false,
    "user_id_str": "221838349",
    "id_str": "1935730646267158797"
  }
}
GET/v1/twitter/tweet/transcript

Video transcript

1 request

Transcribes the video in a tweet with an AI model. The response holds the transcript text and a success flag. Videos must be shorter than 2 minutes. Responses take longer than other endpoints because of the transcription step.

Query parameters

url
stringrequired
Link to the tweet.
cache_max_age
string
Accept a stored response up to this age. Inside that window the answer is free and comes back with cached: true and a cached_at time; past it, the request runs live for 1 request.

1d3d7d14d30d

curl "https://api.pandorlabs.com/v1/twitter/tweet/transcript?url=https%3A%2F%2Fx.com%2FTheoVon%2Fstatus%2F1916982720317821050" \  -H "Authorization: Bearer $PANDORLABS_KEY"
Example response

Response

{
  "success": true,
  "credits_charged": 1,
  "transcript": "Since you're kind of like a leader in innovation and technology in our world, you know, um do you how do you know that what your convictions are, how do you gauge if what your convictions are are the best for everybody kind of? Like how do …"
}
GET/v1/twitter/community

Community details

1 request

Returns a Twitter/X Community by URL: rest_id, name, description, created_at, join_policy, rules, member_count, and creator_results holding the creator's profile, plus members_facepile_results containing avatars of recent members.

Query parameters

url
stringrequired
Link to the community.
curl "https://api.pandorlabs.com/v1/twitter/community?url=https%3A%2F%2Fx.com%2Fi%2Fcommunities%2F1926186499399139650" \  -H "Authorization: Bearer $PANDORLABS_KEY"
Example response

Response

{
  "success": true,
  "credits_charged": 1,
  "__typename": "Community",
  "is_member": false,
  "name": "The First Thousand",
  "role": "NonMember",
  "rest_id": "1926186499399139650",
  "actions": {
    "join_action_result": {
      "__typename": "CommunityJoinActionUnavailable"
    },
    "id": "Q29tbXVuaXR5QWN0aW9uczoxOTI2MTg2NDk5Mzk5MTM5NjUw"
  },
  "description": "This community is for creators and builders who are growing to their first 1,000 followers. Give insights, build your brand, and grow a loyal audience.",
  "creator_results": {
    "result": {
      "__typename": "User",
      "id": "VXNlcjoxOTIxMzY4NDU0NDQ5MjAxMTUy",
      "is_blue_verified": true,
      "core": {
        "screen_name": "CanaCarson"
      },
      "verification": {
        "verified": false
      }
    },
    "id": "VXNlclJlc3VsdHM6MTkyMTM2ODQ1NDQ0OTIwMTE1Mg=="
  },
  "join_policy": "Open",
  "created_at": 1748073622931,
  "rules": [
    {
      "rest_id": "1926189963793609186",
      "description": "This isn’t the space to drop ChatGPT engineered empty platitudes",
      "name": "No Empty Platitudes",
      "id": "Q29tbXVuaXR5UnVsZToxOTI2MTg5OTYzNzkzNjA5MTg2"
    }
  ],
  "members_facepile_results": [
    {
      "result": {
        "__typename": "User",
        "avatar": {
          "image_url": "https://pbs.twimg.com/profile_images/1944871269775601664/Ho7tiGd2_normal.jpg"
        },
        "id": "VXNlcjoxOTIxMzY4NDU0NDQ5MjAxMTUy"
      },
      "id": "VXNlclJlc3VsdHM6MTkyMTM2ODQ1NDQ0OTIwMTE1Mg=="
    }
  ],
  "member_count": 1896,
  "id": "Q29tbXVuaXR5OjE5MjYxODY0OTkzOTkxMzk2NTA="
}
GET/v1/twitter/community/tweets

Posts in a community

1 request

Returns tweets posted in a Twitter/X Community, given its URL. Each tweet has id, full_text, created_at, source, view_count, favorite_count, retweet_count, reply_count, quote_count, and bookmark_count. Its user object describes the author: name, screen_name, avatar, followers_count, and is_blue_verified.

Query parameters

url
stringrequired
Link to the community.
curl "https://api.pandorlabs.com/v1/twitter/community/tweets?url=https%3A%2F%2Fx.com%2Fi%2Fcommunities%2F1926186499399139650" \  -H "Authorization: Bearer $PANDORLABS_KEY"
Example response

Response

{
  "success": true,
  "credits_charged": 1,
  "tweets": [
    {
      "id": "1940874916771123735",
      "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>",
      "view_count": "8660",
      "bookmark_count": 10,
      "bookmarked": false,
      "created_at": "Thu Jul 03 20:46:54 +0000 2025",
      "conversation_id_str": "1940874916771123735",
      "display_text_range": [
        0
      ],
      "favorite_count": 173,
      "favorited": false,
      "full_text": "You just need 1 viral tweet https://t.co/Z4Q5jtsxAp",
      "is_quote_status": false,
      "lang": "en",
      "possibly_sensitive": false,
      "possibly_sensitive_editable": true,
      "quote_count": 2,
      "reply_count": 55,
      "retweet_count": 3,
      "retweeted": false,
      "user_id_str": "73647967",
      "id_str": "1940874916771123735",
      "user": {
        "__typename": "User",
        "id": "VXNlcjo3MzY0Nzk2Nw==",
        "rest_id": "73647967",
        "affiliates_highlighted_label": {},
        "avatar": {
          "image_url": "https://pbs.twimg.com/profile_images/1590652776719286274/eeualJ2p_normal.jpg"
        },
        "core": {
          "created_at": "Sat Sep 12 14:00:05 +0000 2009",
          "name": "Mike in’ Software",
          "screen_name": "mikeinsoftware"
        },
        "dm_permissions": {},
        "is_blue_verified": true,
        "legacy": {
          "default_profile": true,
          "default_profile_image": false,
          "description": "Senior SWE👨‍💻 Indie hacking my way to financial freedom 👀 Follow for free early access to next project",
          "entities": {
            "description": {
              "urls": []
            }
          },
          "fast_followers_count": 0,
          "favourites_count": 7532,
          "followers_count": 1173,
          "friends_count": 990,
          "has_custom_timelines": true,
          "is_translator": false,
          "listed_count": 8,
          "media_count": 518,
          "normal_followers_count": 1173,
          "pinned_tweet_ids_str": [
            "1945599110876176561"
          ],
          "possibly_sensitive": false,
          "profile_interstitial_type": "",
          "statuses_count": 2931,
          "translator_type": "none",
          "withheld_in_countries": []
        },
        "location": {
          "location": ""
        },
        "media_permissions": {},
        "parody_commentary_fan_label": "None",
        "profile_image_shape": "Circle",
        "professional": {
          "rest_id": "1928057904189559014",
          "professional_type": "Creator",
          "category": [
            {
              "id": 1055,
              "name": "Software developer/Programmer/Software engineer",
              "icon_name": "IconBriefcaseStroke"
            }
          ]
        },
        "privacy": {
          "protected": false
        },
        "relationship_perspectives": {},
        "tipjar_settings": {
          "is_enabled": false,
          "bandcamp_handle": "",
          "bitcoin_handle": "",
          "cash_app_handle": "",
          "ethereum_handle": "",
          "gofundme_handle": "",
          "patreon_handle": "",
          "pay_pal_handle": "",
          "venmo_handle": ""
        },
        "verification": {
          "verified": false
        }
      }
    }
  ]
}