Twitter / X
Bearer Token communicationTwitter / X
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Get media upload status, post likers, user followed lists — Gets the status of a media upload for X/Twitter
- Lookup users, posts, user — Retrieves detailed information for specified X (formerly Twitter) user IDs
- Unmute user — Unmutes a target user for the authenticated user, allowing them to see Tweets and notifications from the target user again
- List list — Permanently deletes a specified Twitter List using its ID
- Search full archive, recent — Searches the full archive of public Tweets from March 2006 onwards
- Upload media — Uploads media (images only) to X/Twitter using the v2 API
Authentication
Section titled “Authentication”This connector uses Bearer Token authentication. Scalekit securely stores the token and injects it into API requests on behalf of your users. Your agent code never handles tokens directly — you only pass a connectionName and a user identifier.
Set up the connector
Register your Twitter app credentials with Scalekit so it can manage the OAuth 2.0 authentication flow and token lifecycle on your behalf. You’ll need a Client ID and Client Secret from the Twitter Developer Portal.
-
Create a Twitter connection in Scalekit
-
In Scalekit dashboard, go to Agent Auth → Create Connection. Search for Twitter and click Create.

-
In the Configure Twitter Connection panel, copy the Redirect URI. It looks like
https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback. You’ll paste this into Twitter in the next step.
-
-
Create an app in the Twitter Developer Portal
-
Go to the Twitter Developer Portal and sign in.
-
Click + Add App (or + Create Project to group apps by environment).

-
Select Production environment and give your app a name.
-
-
Configure user authentication settings
-
In your app’s overview, find User authentication settings and click Set up.

-
Set the following values:
Setting Value App permissions Read and Write — needed to post and manage content on behalf of users Type of App Web App, Automated App or Bot Callback URI / Redirect URL Paste the Redirect URI from Scalekit Website URL Your application’s public homepage -
Click Save.
-
-
Copy OAuth 2.0 credentials
-
In your app, navigate to Keys and tokens.
-
Under OAuth 2.0 Client ID and Client Secret, click Generate (or Regenerate if credentials already exist).
-
Copy the Client ID and Client Secret.

-
-
Add credentials in Scalekit
-
In Scalekit dashboard, go to Agent Auth → Connections and open the Twitter connection you created.
-
Enter your credentials:
- Client ID — from the Twitter OAuth 2.0 section
- Client Secret — copied in the previous step
- Scopes — select the permissions your app needs:
tweet.read— read tweets and timelinestweet.write— create, delete, and manage tweetsusers.read— read user profile datafollows.read— read follower/following listsfollows.write— follow and unfollow userslike.read— read liked tweetslike.write— like and unlike tweetsbookmark.read— read bookmarked tweetsbookmark.write— add and remove bookmarkslist.read— read list membership and tweetslist.write— create, update, and delete listsdm.read— read direct messagesdm.write— send direct messagesmute.read— read muted usersmute.write— mute and unmute usersblock.read— read blocked usersblock.write— block and unblock usersoffline.access— obtain refresh tokens for long-lived access

-
Click Save.
-
Code examples
Connect a user’s Twitter account and make API calls on their behalf — Scalekit handles OAuth 2.0 PKCE and token management automatically.
Proxy API calls
import { ScalekitClient } from '@scalekit-sdk/node';import 'dotenv/config';
const connectionName = 'twitter'; // connection name from Agent Auth → Connectionsconst identifier = 'user_123'; // your unique user identifier
// Get credentials from app.scalekit.com → Developers → Settings → API Credentialsconst scalekit = new ScalekitClient( process.env.SCALEKIT_ENV_URL, process.env.SCALEKIT_CLIENT_ID, process.env.SCALEKIT_CLIENT_SECRET);const actions = scalekit.actions;
// Step 1: Generate an authorization link and redirect your user to itconst { link } = await actions.getAuthorizationLink({ connectionName, identifier,});console.log('Authorize Twitter:', link);process.stdout.write('Press Enter after authorizing...');await new Promise(r => process.stdin.once('data', r));
// Step 2: Make Twitter API v2 requests via the Scalekit proxy// No token management needed — Scalekit handles refresh automaticallyconst me = await actions.request({ connectionName, identifier, path: '/2/users/me', method: 'GET', params: { 'user.fields': 'name,username,profile_image_url,description' },});console.log('Authenticated user:', me);
// Example: post a tweetconst tweet = await actions.request({ connectionName, identifier, path: '/2/tweets', method: 'POST', body: { text: 'Hello from Scalekit Agent Auth!' },});console.log('Posted tweet:', tweet);
// Example: search recent tweetsconst search = await actions.request({ connectionName, identifier, path: '/2/tweets/search/recent', method: 'GET', params: { query: 'from:twitterdev', max_results: '10' },});console.log('Search results:', search);import osimport scalekit.clientfrom dotenv import load_dotenvload_dotenv()
connection_name = "twitter" # connection name from Agent Auth → Connectionsidentifier = "user_123" # your unique user identifier
# Get credentials from app.scalekit.com → Developers → Settings → API Credentialsscalekit_client = scalekit.client.ScalekitClient( client_id=os.getenv("SCALEKIT_CLIENT_ID"), client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"), env_url=os.getenv("SCALEKIT_ENV_URL"),)actions = scalekit_client.actions
# Step 1: Generate an authorization link and redirect your user to itlink_response = actions.get_authorization_link( connection_name=connection_name, identifier=identifier)print("Authorize Twitter:", link_response.link)input("Press Enter after authorizing...")
# Step 2: Make Twitter API v2 requests via the Scalekit proxyme = actions.request( connection_name=connection_name, identifier=identifier, path="/2/users/me", method="GET", params={"user.fields": "name,username,profile_image_url,description"})print("Authenticated user:", me)
# Example: post a tweettweet = actions.request( connection_name=connection_name, identifier=identifier, path="/2/tweets", method="POST", body={"text": "Hello from Scalekit Agent Auth!"})print("Posted tweet:", tweet)
# Example: search recent tweetssearch = actions.request( connection_name=connection_name, identifier=identifier, path="/2/tweets/search/recent", method="GET", params={"query": "from:twitterdev", "max_results": "10"})print("Search results:", search)Tool list
Section titled “Tool list” twitter_activity_subscription_create Creates a subscription for an X activity event. Use when you need to monitor specific user activities like profile updates, follows, or spaces events. 2 params
Creates a subscription for an X activity event. Use when you need to monitor specific user activities like profile updates, follows, or spaces events.
event_types array required List of event types to subscribe to, e.g. profile.updated, follows, spaces user_id string required Twitter user ID to subscribe to activities for twitter_blocked_users_get Retrieves the authenticated user's block list. The id parameter must be the authenticated user's ID. Use Get Authenticated User action first to obtain your user ID. 5 params
Retrieves the authenticated user's block list. The id parameter must be the authenticated user's ID. Use Get Authenticated User action first to obtain your user ID.
id string required Authenticated user's Twitter ID — must match the authenticated user expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-1000) pagination_token string optional Pagination token for next page user_fields string optional Comma-separated user fields twitter_bookmark_add Adds a specified, existing, and accessible Tweet to a user's bookmarks. Success is indicated by the 'bookmarked' field in the response. 2 params
Adds a specified, existing, and accessible Tweet to a user's bookmarks. Success is indicated by the 'bookmarked' field in the response.
id string required Authenticated user's Twitter ID tweet_id string required ID of the Tweet to bookmark twitter_bookmark_remove Removes a Tweet from the authenticated user's bookmarks. The Tweet must have been previously bookmarked by the user for the action to have an effect. 2 params
Removes a Tweet from the authenticated user's bookmarks. The Tweet must have been previously bookmarked by the user for the action to have an effect.
id string required Authenticated user's Twitter ID tweet_id string required ID of the bookmarked tweet to remove twitter_bookmarks_get Retrieves Tweets bookmarked by the authenticated user. The provided User ID must match the authenticated user's ID. 5 params
Retrieves Tweets bookmarked by the authenticated user. The provided User ID must match the authenticated user's ID.
id string required Authenticated user's Twitter ID expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page tweet_fields string optional Comma-separated tweet fields twitter_compliance_job_create Creates a new compliance job to check the status of Tweet or user IDs. Upload IDs as a plain text file (one ID per line) to the upload_url received in the response. 2 params
Creates a new compliance job to check the status of Tweet or user IDs. Upload IDs as a plain text file (one ID per line) to the upload_url received in the response.
type string required Type of compliance job resumable boolean optional Whether the job should be resumable twitter_compliance_job_get Retrieves status, download/upload URLs, and other details for an existing Twitter compliance job specified by its unique ID. 1 param
Retrieves status, download/upload URLs, and other details for an existing Twitter compliance job specified by its unique ID.
id string required Compliance job ID twitter_compliance_jobs_list Returns a list of recent compliance jobs, filtered by type (tweets or users) and optionally by status. 2 params
Returns a list of recent compliance jobs, filtered by type (tweets or users) and optionally by status.
type string required Type of compliance jobs to list status string optional Filter by job status twitter_dm_conversation_events_get Fetches Direct Message (DM) events for a one-on-one conversation with a specified participant ID, ordered chronologically newest to oldest. Does not support group DMs. 6 params
Fetches Direct Message (DM) events for a one-on-one conversation with a specified participant ID, ordered chronologically newest to oldest. Does not support group DMs.
participant_id string required User ID of the DM conversation participant dm_event_fields string optional Comma-separated DM event fields event_types string optional Filter by event types expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page twitter_dm_conversation_retrieve Retrieves Direct Message (DM) events for a specific conversation ID on Twitter. Useful for analyzing messages and participant activities. 5 params
Retrieves Direct Message (DM) events for a specific conversation ID on Twitter. Useful for analyzing messages and participant activities.
dm_conversation_id string required DM conversation ID dm_event_fields string optional Comma-separated DM event fields expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page twitter_dm_conversation_send Sends a message with optional text and/or media attachments (using pre-uploaded media_ids) to a specified Twitter Direct Message conversation. 3 params
Sends a message with optional text and/or media attachments (using pre-uploaded media_ids) to a specified Twitter Direct Message conversation.
dm_conversation_id string required DM conversation ID to send the message to media_id string optional Pre-uploaded media ID to attach text string optional Message text twitter_dm_delete Permanently deletes a specific Twitter Direct Message (DM) event using its event_id, if the authenticated user sent it. This action is irreversible and does not delete entire conversations. 2 params
Permanently deletes a specific Twitter Direct Message (DM) event using its event_id, if the authenticated user sent it. This action is irreversible and does not delete entire conversations.
event_id string required ID of the DM event to delete participant_id string required User ID of the DM conversation participant twitter_dm_event_get Fetches a specific Direct Message (DM) event by its unique ID. Allows optional expansion of related data like users or tweets. 3 params
Fetches a specific Direct Message (DM) event by its unique ID. Allows optional expansion of related data like users or tweets.
event_id string required DM event ID dm_event_fields string optional Comma-separated DM event fields expansions string optional Comma-separated expansions twitter_dm_events_get Returns recent Direct Message events for the authenticated user, such as new messages or changes in conversation participants. 5 params
Returns recent Direct Message events for the authenticated user, such as new messages or changes in conversation participants.
dm_event_fields string optional Comma-separated DM event fields event_types string optional Filter by event types expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page twitter_dm_group_conversation_create Creates a new group Direct Message (DM) conversation on Twitter. The conversation_type must be 'Group'. Include participant_ids and an initial message with text and optional media attachments using media_id (not media_url). Media must be uploaded first. 3 params
Creates a new group Direct Message (DM) conversation on Twitter. The conversation_type must be 'Group'. Include participant_ids and an initial message with text and optional media attachments using media_id (not media_url). Media must be uploaded first.
message_text string required Initial message text participant_ids array required List of Twitter user IDs to include message_media_ids array optional Media IDs to attach to initial message twitter_dm_send Sends a new Direct Message with text and/or media (media_id for attachments must be pre-uploaded) to a specified Twitter user. Creates a new DM and does not modify existing messages. 3 params
Sends a new Direct Message with text and/or media (media_id for attachments must be pre-uploaded) to a specified Twitter user. Creates a new DM and does not modify existing messages.
participant_id string required Twitter user ID of the DM recipient media_id string optional Pre-uploaded media ID to attach text string optional Message text twitter_followers_get Retrieves a list of users who follow a specified public Twitter user ID. 5 params
Retrieves a list of users who follow a specified public Twitter user ID.
id string required Twitter user ID to get followers for expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-1000) pagination_token string optional Pagination token for next page user_fields string optional Comma-separated user fields twitter_following_get Retrieves users followed by a specific Twitter user, allowing pagination and customization of returned user and tweet data fields via expansions. 5 params
Retrieves users followed by a specific Twitter user, allowing pagination and customization of returned user and tweet data fields via expansions.
id string required Twitter user ID expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-1000) pagination_token string optional Pagination token for next page user_fields string optional Comma-separated user fields twitter_full_archive_search Searches the full archive of public Tweets from March 2006 onwards. Use start_time and end_time together for a defined time window. Requires Academic Research access. 10 params
Searches the full archive of public Tweets from March 2006 onwards. Use start_time and end_time together for a defined time window. Requires Academic Research access.
query string required Search query using X search syntax end_time string optional ISO 8601 end time expansions string optional Comma-separated expansions max_results integer optional Max results per page (10-500) next_token string optional Next page token since_id string optional Minimum tweet ID start_time string optional ISO 8601 start time e.g. 2021-01-01T00:00:00Z tweet_fields string optional Comma-separated tweet fields until_id string optional Maximum tweet ID user_fields string optional Comma-separated user fields twitter_full_archive_search_counts Returns a count of Tweets from the full archive that match a specified query, aggregated by day, hour, or minute. start_time must be before end_time if both are provided. since_id/until_id cannot be used with start_time/end_time. 7 params
Returns a count of Tweets from the full archive that match a specified query, aggregated by day, hour, or minute. start_time must be before end_time if both are provided. since_id/until_id cannot be used with start_time/end_time.
query string required Search query end_time string optional ISO 8601 end time granularity string optional Aggregation granularity next_token string optional Next page token since_id string optional Minimum tweet ID start_time string optional ISO 8601 start time until_id string optional Maximum tweet ID twitter_list_create Creates a new, empty List on X (formerly Twitter). The provided name must be unique for the authenticated user. Accounts are added separately. 3 params
Creates a new, empty List on X (formerly Twitter). The provided name must be unique for the authenticated user. Accounts are added separately.
name string required Unique name for the new list description string optional Description of the list private boolean optional Whether the list should be private twitter_list_delete Permanently deletes a specified Twitter List using its ID. The list must be owned by the authenticated user. This action is irreversible. 1 param
Permanently deletes a specified Twitter List using its ID. The list must be owned by the authenticated user. This action is irreversible.
list_id string required ID of the Twitter List to delete twitter_list_follow Allows the authenticated user to follow a specific Twitter List they are permitted to access, subscribing them to the list's timeline. This does not automatically follow individual list members. 2 params
Allows the authenticated user to follow a specific Twitter List they are permitted to access, subscribing them to the list's timeline. This does not automatically follow individual list members.
id string required Authenticated user's Twitter ID list_id string required ID of the list to follow twitter_list_followers_get Fetches a list of users who follow a specific Twitter List, identified by its ID. Ensure the authenticated user has access if the list is private. 5 params
Fetches a list of users who follow a specific Twitter List, identified by its ID. Ensure the authenticated user has access if the list is private.
id string required Twitter List ID expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page user_fields string optional Comma-separated user fields twitter_list_lookup Returns metadata for a specific Twitter List, identified by its ID. Does not return list members. Can expand the owner's User object via the expansions parameter. 4 params
Returns metadata for a specific Twitter List, identified by its ID. Does not return list members. Can expand the owner's User object via the expansions parameter.
id string required Twitter List ID expansions string optional Comma-separated expansions list_fields string optional Comma-separated list fields user_fields string optional Comma-separated user fields twitter_list_member_add Adds a user to a specified Twitter List. The list must be owned by the authenticated user. 2 params
Adds a user to a specified Twitter List. The list must be owned by the authenticated user.
list_id string required ID of the Twitter List user_id string required ID of the user to add twitter_list_member_remove Removes a user from a Twitter List. The response is_member field will be false if removal was successful or the user was not a member. The updated list of members is not returned. 2 params
Removes a user from a Twitter List. The response is_member field will be false if removal was successful or the user was not a member. The updated list of members is not returned.
id string required Twitter List ID user_id string required ID of the user to remove from the list twitter_list_members_get Fetches members of a specific Twitter List, identified by its unique ID. 5 params
Fetches members of a specific Twitter List, identified by its unique ID.
id string required Twitter List ID expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page user_fields string optional Comma-separated user fields twitter_list_pin Pins a specified List to the authenticated user's profile. The List must exist, the user must have access rights, and the pin limit (typically 5 Lists) must not be exceeded. 2 params
Pins a specified List to the authenticated user's profile. The List must exist, the user must have access rights, and the pin limit (typically 5 Lists) must not be exceeded.
id string required Authenticated user's Twitter ID list_id string required ID of the list to pin twitter_list_timeline_get Fetches the most recent Tweets posted by members of a specified Twitter List. 6 params
Fetches the most recent Tweets posted by members of a specified Twitter List.
id string required Twitter List ID expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page tweet_fields string optional Comma-separated tweet fields user_fields string optional Comma-separated user fields twitter_list_unfollow Enables a user to unfollow a specific Twitter List, which removes its tweets from their timeline and stops related notifications. Reports following: false on success, even if the user was not initially following the list. 2 params
Enables a user to unfollow a specific Twitter List, which removes its tweets from their timeline and stops related notifications. Reports following: false on success, even if the user was not initially following the list.
id string required Authenticated user's Twitter ID list_id string required ID of the list to unfollow twitter_list_unpin Unpins a List from the authenticated user's profile. The user ID is automatically retrieved if not provided. 2 params
Unpins a List from the authenticated user's profile. The user ID is automatically retrieved if not provided.
id string required Authenticated user's Twitter ID list_id string required ID of the list to unpin twitter_list_update Updates an existing Twitter List's name, description, or privacy status. Requires the List ID and at least one mutable property. 4 params
Updates an existing Twitter List's name, description, or privacy status. Requires the List ID and at least one mutable property.
id string required Twitter List ID to update description string optional New description name string optional New name for the list private boolean optional Set to true to make private, false for public twitter_media_upload Uploads media (images only) to X/Twitter using the v2 API. Only supports images (tweet_image, dm_image) and subtitle files. For GIFs, videos, or any file larger than ~5 MB, use twitter_media_upload_large instead. 3 params
Uploads media (images only) to X/Twitter using the v2 API. Only supports images (tweet_image, dm_image) and subtitle files. For GIFs, videos, or any file larger than ~5 MB, use twitter_media_upload_large instead.
media string required Base64-encoded image data media_type string required MIME type, e.g. image/jpeg or image/png media_category string optional Media category for use context twitter_media_upload_append Appends a data chunk to an ongoing media upload session on X/Twitter. Use during chunked media uploads to append each segment of media data in sequence. 3 params
Appends a data chunk to an ongoing media upload session on X/Twitter. Use during chunked media uploads to append each segment of media data in sequence.
media_data string required Base64-encoded chunk data media_id string required Media ID from the INIT step segment_index integer required Zero-based index of the chunk segment twitter_media_upload_base64 Uploads media to X/Twitter using base64-encoded data. Use when you have media content as a base64 string. Only supports images and subtitle files. For videos or GIFs, use twitter_media_upload_large. 3 params
Uploads media to X/Twitter using base64-encoded data. Use when you have media content as a base64 string. Only supports images and subtitle files. For videos or GIFs, use twitter_media_upload_large.
media_data string required Base64-encoded media data media_type string required MIME type, e.g. image/jpeg media_category string optional Media category for use context twitter_media_upload_init Initializes a media upload session for X/Twitter. Returns a media_id for subsequent APPEND and FINALIZE commands. Required for uploading large files or when using the chunked upload workflow. 4 params
Initializes a media upload session for X/Twitter. Returns a media_id for subsequent APPEND and FINALIZE commands. Required for uploading large files or when using the chunked upload workflow.
media_type string required MIME type, e.g. video/mp4 or image/gif total_bytes integer required Total size of the media file in bytes additional_owners string optional Comma-separated user IDs to also own the media media_category string optional Media category for use context twitter_media_upload_large Uploads media files to X/Twitter. Automatically uses chunked upload for GIFs, videos, and images larger than 5 MB. Use for videos, GIFs, or any file larger than 5 MB. 5 params
Uploads media files to X/Twitter. Automatically uses chunked upload for GIFs, videos, and images larger than 5 MB. Use for videos, GIFs, or any file larger than 5 MB.
media_data string required Base64-encoded media file data media_type string required MIME type, e.g. video/mp4 or image/gif total_bytes integer required Total size of the file in bytes additional_owners string optional Comma-separated user IDs to also own the media media_category string optional Media category for use context twitter_media_upload_status_get Gets the status of a media upload for X/Twitter. Use to check the processing status of uploaded media, especially for videos and GIFs. Only needed if the FINALIZE command returned processing_info. 1 param
Gets the status of a media upload for X/Twitter. Use to check the processing status of uploaded media, especially for videos and GIFs. Only needed if the FINALIZE command returned processing_info.
media_id string required Media ID from the upload INIT step twitter_muted_users_get Returns user objects muted by the X user identified by the id path parameter. 5 params
Returns user objects muted by the X user identified by the id path parameter.
id string required Twitter user ID expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-1000) pagination_token string optional Pagination token for next page user_fields string optional Comma-separated user fields twitter_openapi_spec_get Fetches the OpenAPI specification (JSON) for Twitter's API v2. Used to programmatically understand the API's structure for developing client libraries or tools. 0 params
Fetches the OpenAPI specification (JSON) for Twitter's API v2. Used to programmatically understand the API's structure for developing client libraries or tools.
twitter_post_analytics_get Retrieves analytics data for specified Posts within a defined time range. Returns engagement metrics, impressions, and other analytics. Requires OAuth 2.0 with tweet.read and users.read scopes. 3 params
Retrieves analytics data for specified Posts within a defined time range. Returns engagement metrics, impressions, and other analytics. Requires OAuth 2.0 with tweet.read and users.read scopes.
end_time string required ISO 8601 end time start_time string required ISO 8601 start time tweet_ids string required Comma-separated list of Tweet IDs twitter_post_create Creates a Tweet on Twitter. The `text` field is required unless card_uri, media_media_ids, poll_options, or quote_tweet_id is provided. Supports media, polls, geo, and reply targeting. 7 params
Creates a Tweet on Twitter. The `text` field is required unless card_uri, media_media_ids, poll_options, or quote_tweet_id is provided. Supports media, polls, geo, and reply targeting.
geo_place_id string optional Place ID for geo tag media_media_ids array optional Media IDs to attach poll_duration_minutes integer optional Duration of poll in minutes poll_options array optional Up to 4 poll options quote_tweet_id string optional ID of the tweet to quote reply_in_reply_to_tweet_id string optional ID of the tweet to reply to text string optional Text content of the tweet twitter_post_delete Irreversibly deletes a specific Tweet by its ID. The Tweet may persist in third-party caches after deletion. 1 param
Irreversibly deletes a specific Tweet by its ID. The Tweet may persist in third-party caches after deletion.
id string required ID of the Tweet to delete twitter_post_like Allows the authenticated user to like a specific, accessible Tweet. The authenticated user's ID is automatically determined from the OAuth token — you only need to provide the tweet_id. 2 params
Allows the authenticated user to like a specific, accessible Tweet. The authenticated user's ID is automatically determined from the OAuth token — you only need to provide the tweet_id.
id string required Authenticated user's Twitter ID tweet_id string required ID of the Tweet to like twitter_post_likers_get Retrieves users who have liked the Post (Tweet) identified by the provided ID. 5 params
Retrieves users who have liked the Post (Tweet) identified by the provided ID.
id string required Tweet ID expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page user_fields string optional Comma-separated user fields twitter_post_lookup Fetches comprehensive details for a single Tweet by its unique ID, provided the Tweet exists and is accessible. 5 params
Fetches comprehensive details for a single Tweet by its unique ID, provided the Tweet exists and is accessible.
id string required Tweet ID expansions string optional Comma-separated expansions media_fields string optional Comma-separated media fields tweet_fields string optional Comma-separated tweet fields user_fields string optional Comma-separated user fields twitter_post_quotes_get Retrieves Tweets that quote a specified Tweet. Requires a valid Tweet ID. 5 params
Retrieves Tweets that quote a specified Tweet. Requires a valid Tweet ID.
id string required Tweet ID expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page tweet_fields string optional Comma-separated tweet fields twitter_post_retweet Retweets a Tweet for the authenticated user. The user ID is automatically fetched from the authenticated session — you only need to provide the tweet_id. 2 params
Retweets a Tweet for the authenticated user. The user ID is automatically fetched from the authenticated session — you only need to provide the tweet_id.
id string required Authenticated user's Twitter ID tweet_id string required ID of the Tweet to retweet twitter_post_retweeters_get Retrieves users who publicly retweeted a specified public Post ID, excluding Quote Tweets and retweets from private accounts. 5 params
Retrieves users who publicly retweeted a specified public Post ID, excluding Quote Tweets and retweets from private accounts.
id string required Tweet ID expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page user_fields string optional Comma-separated user fields twitter_post_retweets_get Retrieves Tweets that Retweeted a specified public or authenticated-user-accessible Tweet ID. Optionally customize the response with fields and expansions. 5 params
Retrieves Tweets that Retweeted a specified public or authenticated-user-accessible Tweet ID. Optionally customize the response with fields and expansions.
id string required Tweet ID expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page tweet_fields string optional Comma-separated tweet fields twitter_post_unlike Allows an authenticated user to remove their like from a specific post. The action is idempotent and completes successfully even if the post was not liked. 2 params
Allows an authenticated user to remove their like from a specific post. The action is idempotent and completes successfully even if the post was not liked.
id string required Authenticated user's Twitter ID tweet_id string required ID of the Tweet to unlike twitter_post_unretweet Removes a user's retweet of a specified Post, if the user had previously retweeted it. 2 params
Removes a user's retweet of a specified Post, if the user had previously retweeted it.
id string required Authenticated user's Twitter ID source_tweet_id string required ID of the Tweet to unretweet twitter_posts_lookup Retrieves detailed information for one or more Posts (Tweets) identified by their unique IDs. Allows selection of specific fields and expansions. 5 params
Retrieves detailed information for one or more Posts (Tweets) identified by their unique IDs. Allows selection of specific fields and expansions.
ids string required Comma-separated list of Tweet IDs (up to 100) expansions string optional Comma-separated expansions media_fields string optional Comma-separated media fields tweet_fields string optional Comma-separated tweet fields user_fields string optional Comma-separated user fields twitter_recent_search Searches Tweets from the last 7 days matching a query using X's search syntax. Ideal for real-time analysis, trend monitoring, or retrieving posts from specific users (e.g., from:username). Note: impression_count returns 0 for other users' tweets — use retweet_count, like_count, or quote_count for engagement filtering instead. 11 params
Searches Tweets from the last 7 days matching a query using X's search syntax. Ideal for real-time analysis, trend monitoring, or retrieving posts from specific users (e.g., from:username). Note: impression_count returns 0 for other users' tweets — use retweet_count, like_count, or quote_count for engagement filtering instead.
query string required Search query using X search syntax, e.g. from:username -is:retweet end_time string optional ISO 8601 end time expansions string optional Comma-separated expansions max_results integer optional Max results per page (10-100) media_fields string optional Comma-separated media fields next_token string optional Next page token since_id string optional Minimum tweet ID start_time string optional ISO 8601 start time tweet_fields string optional Comma-separated tweet fields until_id string optional Maximum tweet ID user_fields string optional Comma-separated user fields twitter_recent_tweet_counts Retrieves the count of Tweets matching a specified search query within the last 7 days, aggregated by 'minute', 'hour', or 'day'. 6 params
Retrieves the count of Tweets matching a specified search query within the last 7 days, aggregated by 'minute', 'hour', or 'day'.
query string required Search query end_time string optional ISO 8601 end time granularity string optional Aggregation granularity since_id string optional Minimum tweet ID start_time string optional ISO 8601 start time until_id string optional Maximum tweet ID twitter_reply_visibility_set Hides or unhides an existing reply Tweet. Allows the authenticated user to hide or unhide a reply to a conversation they own. You can only hide replies to posts you authored. Requires tweet.moderate.write OAuth scope. 2 params
Hides or unhides an existing reply Tweet. Allows the authenticated user to hide or unhide a reply to a conversation they own. You can only hide replies to posts you authored. Requires tweet.moderate.write OAuth scope.
hidden boolean required true to hide, false to unhide tweet_id string required ID of the reply tweet to hide or unhide twitter_space_get Retrieves details for a Twitter Space by its ID, allowing for customization and expansion of related data. 4 params
Retrieves details for a Twitter Space by its ID, allowing for customization and expansion of related data.
id string required Twitter Space ID expansions string optional Comma-separated expansions space_fields string optional Comma-separated space fields user_fields string optional Comma-separated user fields twitter_space_posts_get Retrieves Tweets that were shared/posted during a Twitter Space broadcast. Returns Tweets that participants explicitly shared during the Space session, NOT audio transcripts. Most Spaces have zero associated Tweets — empty results are normal. 4 params
Retrieves Tweets that were shared/posted during a Twitter Space broadcast. Returns Tweets that participants explicitly shared during the Space session, NOT audio transcripts. Most Spaces have zero associated Tweets — empty results are normal.
id string required Twitter Space ID expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-100) tweet_fields string optional Comma-separated tweet fields twitter_space_ticket_buyers_get Retrieves a list of users who purchased tickets for a specific, valid, and ticketed Twitter Space. 3 params
Retrieves a list of users who purchased tickets for a specific, valid, and ticketed Twitter Space.
id string required Twitter Space ID expansions string optional Comma-separated expansions user_fields string optional Comma-separated user fields twitter_spaces_by_creator_get Retrieves Twitter Spaces created by a list of specified User IDs, with options to customize returned data fields. 4 params
Retrieves Twitter Spaces created by a list of specified User IDs, with options to customize returned data fields.
user_ids string required Comma-separated list of user IDs to get spaces for expansions string optional Comma-separated expansions space_fields string optional Comma-separated space fields user_fields string optional Comma-separated user fields twitter_spaces_get Fetches detailed information for one or more Twitter Spaces (live, scheduled, or ended) by their unique IDs. At least one Space ID must be provided. 4 params
Fetches detailed information for one or more Twitter Spaces (live, scheduled, or ended) by their unique IDs. At least one Space ID must be provided.
ids string required Comma-separated list of Space IDs expansions string optional Comma-separated expansions space_fields string optional Comma-separated space fields user_fields string optional Comma-separated user fields twitter_spaces_search Searches for Twitter Spaces by a textual query. Optionally filter by state (live, scheduled, all) to discover audio conversations. 5 params
Searches for Twitter Spaces by a textual query. Optionally filter by state (live, scheduled, all) to discover audio conversations.
query string required Text to search for in Space titles expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-100) space_fields string optional Comma-separated space fields state string optional Filter by space state twitter_tweet_label_stream Stream real-time Tweet label events (apply/remove). Requires Enterprise access and App-Only OAuth 2.0 auth. Returns PublicTweetNotice or PublicTweetUnviewable events. 403 errors indicate missing Enterprise access or wrong auth type. 3 params
Stream real-time Tweet label events (apply/remove). Requires Enterprise access and App-Only OAuth 2.0 auth. Returns PublicTweetNotice or PublicTweetUnviewable events. 403 errors indicate missing Enterprise access or wrong auth type.
backfill_minutes integer optional Minutes of backfill to stream on reconnect (0-5) expansions string optional Comma-separated expansions tweet_fields string optional Comma-separated tweet fields twitter_tweet_usage_get Fetches Tweet usage statistics for a Project (e.g., consumption, caps, daily breakdowns for Project and Client Apps) to monitor API limits. Data can be retrieved for 1 to 90 days. 2 params
Fetches Tweet usage statistics for a Project (e.g., consumption, caps, daily breakdowns for Project and Client Apps) to monitor API limits. Data can be retrieved for 1 to 90 days.
days integer optional Number of days to retrieve usage data for, default 7 usage_fields string optional Comma-separated usage fields to include twitter_user_follow Allows an authenticated user to follow another user. Results in a pending request if the target user's tweets are protected. 2 params
Allows an authenticated user to follow another user. Results in a pending request if the target user's tweets are protected.
id string required Authenticated user's Twitter ID target_user_id string required ID of the user to follow twitter_user_followed_lists_get Returns metadata (not Tweets) for lists a specific Twitter user follows. Optionally includes expanded owner details. 6 params
Returns metadata (not Tweets) for lists a specific Twitter user follows. Optionally includes expanded owner details.
id string required Twitter user ID expansions string optional Comma-separated expansions list_fields string optional Comma-separated list fields max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page user_fields string optional Comma-separated user fields twitter_user_liked_tweets_get Retrieves Tweets liked by a specified Twitter user, provided their liked tweets are public or accessible. 6 params
Retrieves Tweets liked by a specified Twitter user, provided their liked tweets are public or accessible.
id string required Twitter user ID expansions string optional Comma-separated expansions max_results integer optional Max results per page (5-100) pagination_token string optional Pagination token for next page tweet_fields string optional Comma-separated tweet fields user_fields string optional Comma-separated user fields twitter_user_list_memberships_get Retrieves all Twitter Lists a specified user is a member of, including public Lists and private Lists the authenticated user is authorized to view. 6 params
Retrieves all Twitter Lists a specified user is a member of, including public Lists and private Lists the authenticated user is authorized to view.
id string required Twitter user ID expansions string optional Comma-separated expansions list_fields string optional Comma-separated list fields max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page user_fields string optional Comma-separated user fields twitter_user_lookup Retrieves detailed public information for a Twitter user by their ID. Optionally expand related data (e.g., pinned tweets) and specify particular user or tweet fields to return. 4 params
Retrieves detailed public information for a Twitter user by their ID. Optionally expand related data (e.g., pinned tweets) and specify particular user or tweet fields to return.
id string required Twitter user ID expansions string optional Comma-separated expansions tweet_fields string optional Comma-separated tweet fields user_fields string optional Comma-separated user fields twitter_user_lookup_by_username Fetches public profile information for a valid and existing Twitter user by their username. Optionally expands related data like pinned Tweets. Results may be limited for protected profiles not followed by the authenticated user. 4 params
Fetches public profile information for a valid and existing Twitter user by their username. Optionally expands related data like pinned Tweets. Results may be limited for protected profiles not followed by the authenticated user.
username string required Twitter username without the @ symbol, e.g. elonmusk expansions string optional Comma-separated expansions tweet_fields string optional Comma-separated tweet fields user_fields string optional Comma-separated user fields twitter_user_me Returns profile information for the currently authenticated X user. Use this to get the authenticated user's ID before calling endpoints that require it. 3 params
Returns profile information for the currently authenticated X user. Use this to get the authenticated user's ID before calling endpoints that require it.
expansions string optional Comma-separated expansions tweet_fields string optional Comma-separated tweet fields user_fields string optional Comma-separated user fields to return, e.g. created_at,description,public_metrics twitter_user_mute Mutes a target user on behalf of an authenticated user, preventing the target's Tweets and Retweets from appearing in the authenticated user's home timeline without notifying the target. 2 params
Mutes a target user on behalf of an authenticated user, preventing the target's Tweets and Retweets from appearing in the authenticated user's home timeline without notifying the target.
id string required Authenticated user's Twitter ID target_user_id string required ID of the user to mute twitter_user_owned_lists_get Retrieves Lists created (owned) by a specific Twitter user, not Lists they follow or are subscribed to. 6 params
Retrieves Lists created (owned) by a specific Twitter user, not Lists they follow or are subscribed to.
id string required Twitter user ID expansions string optional Comma-separated expansions list_fields string optional Comma-separated list fields max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page user_fields string optional Comma-separated user fields twitter_user_pinned_lists_get Retrieves the Lists a specific, existing Twitter user has pinned to their profile to highlight them. 4 params
Retrieves the Lists a specific, existing Twitter user has pinned to their profile to highlight them.
id string required Twitter user ID expansions string optional Comma-separated expansions list_fields string optional Comma-separated list fields user_fields string optional Comma-separated user fields twitter_user_timeline_get Retrieves the home timeline (reverse chronological feed) for the authenticated Twitter user. Returns tweets from accounts the user follows and the user's own tweets. CRITICAL: The id parameter MUST be the authenticated user's own numeric Twitter user ID. Use twitter_user_me to get your ID first. Cannot fetch another user's home timeline. 7 params
Retrieves the home timeline (reverse chronological feed) for the authenticated Twitter user. Returns tweets from accounts the user follows and the user's own tweets. CRITICAL: The id parameter MUST be the authenticated user's own numeric Twitter user ID. Use twitter_user_me to get your ID first. Cannot fetch another user's home timeline.
id string required Authenticated user's own numeric Twitter ID — must be your own ID exclude string optional Comma-separated types to exclude: retweets,replies expansions string optional Comma-separated expansions max_results integer optional Max results per page (1-100) pagination_token string optional Pagination token for next page tweet_fields string optional Comma-separated tweet fields user_fields string optional Comma-separated user fields twitter_user_unfollow Allows the authenticated user to unfollow an existing Twitter user, which removes the follow relationship. The source user ID is automatically determined from the authenticated session. 2 params
Allows the authenticated user to unfollow an existing Twitter user, which removes the follow relationship. The source user ID is automatically determined from the authenticated session.
id string required Authenticated user's Twitter ID target_user_id string required ID of the user to unfollow twitter_user_unmute Unmutes a target user for the authenticated user, allowing them to see Tweets and notifications from the target user again. The source_user_id is automatically populated from the authenticated user's credentials. 2 params
Unmutes a target user for the authenticated user, allowing them to see Tweets and notifications from the target user again. The source_user_id is automatically populated from the authenticated user's credentials.
id string required Authenticated user's Twitter ID target_user_id string required ID of the user to unmute twitter_users_lookup Retrieves detailed information for specified X (formerly Twitter) user IDs. Optionally customize returned fields and expand related entities like pinned tweets. 4 params
Retrieves detailed information for specified X (formerly Twitter) user IDs. Optionally customize returned fields and expand related entities like pinned tweets.
ids string required Comma-separated list of Twitter user IDs (up to 100) expansions string optional Comma-separated expansions tweet_fields string optional Comma-separated tweet fields user_fields string optional Comma-separated user fields twitter_users_lookup_by_username Retrieves detailed information for 1 to 100 Twitter users by their usernames (each 1-15 alphanumeric characters/underscores). Allows customizable user/tweet fields and expansion of related data like pinned tweets. 4 params
Retrieves detailed information for 1 to 100 Twitter users by their usernames (each 1-15 alphanumeric characters/underscores). Allows customizable user/tweet fields and expansion of related data like pinned tweets.
usernames string required Comma-separated list of Twitter usernames without @ symbols (up to 100) expansions string optional Comma-separated expansions tweet_fields string optional Comma-separated tweet fields user_fields string optional Comma-separated user fields