Subpackages
- xdk.account_activity package
- xdk.activity package
- xdk.communities package
- xdk.community_notes package
- xdk.compliance package
- xdk.connections package
- xdk.direct_messages package
- Submodules
- xdk.direct_messages.client module
- xdk.direct_messages.models module
CreateByConversationIdRequestCreateByConversationIdResponseCreateByParticipantIdRequestCreateByParticipantIdResponseCreateConversationRequestCreateConversationResponseDeleteEventsResponseGetEventsByConversationIdResponseGetEventsByIdResponseGetEventsByParticipantIdResponseGetEventsResponse
- Module contents
DirectMessagesClientDirectMessagesClient.__init__()DirectMessagesClient.create_by_conversation_id()DirectMessagesClient.create_by_participant_id()DirectMessagesClient.create_conversation()DirectMessagesClient.delete_events()DirectMessagesClient.get_events()DirectMessagesClient.get_events_by_conversation_id()DirectMessagesClient.get_events_by_id()DirectMessagesClient.get_events_by_participant_id()
- Submodules
- xdk.general package
- xdk.lists package
- xdk.media package
- Submodules
- xdk.media.client module
- xdk.media.models module
AppendUploadRequestAppendUploadResponseCreateMetadataRequestCreateMetadataResponseCreateSubtitlesRequestCreateSubtitlesResponseDeleteSubtitlesRequestDeleteSubtitlesResponseFinalizeUploadResponseGetAnalyticsResponseGetByKeyResponseGetByKeysResponseGetUploadStatusResponseInitializeUploadRequestInitializeUploadResponseUploadRequestUploadResponse
- Module contents
MediaClientMediaClient.__init__()MediaClient.append_upload()MediaClient.create_metadata()MediaClient.create_subtitles()MediaClient.delete_subtitles()MediaClient.finalize_upload()MediaClient.get_analytics()MediaClient.get_by_key()MediaClient.get_by_keys()MediaClient.get_upload_status()MediaClient.initialize_upload()MediaClient.upload()
- Submodules
- xdk.news package
- xdk.posts package
- Submodules
- xdk.posts.client module
- xdk.posts.models module
CreateRequestCreateResponseDeleteResponseGetAnalyticsResponseGetByIdResponseGetByIdsResponseGetCountsAllResponseGetCountsRecentResponseGetInsights28hrResponseGetInsightsHistoricalResponseGetLikingUsersResponseGetQuotedResponseGetRepostedByResponseGetRepostsResponseHideReplyRequestHideReplyResponseSearchAllResponseSearchRecentResponse
- Module contents
PostsClientPostsClient.__init__()PostsClient.create()PostsClient.delete()PostsClient.get_analytics()PostsClient.get_by_id()PostsClient.get_by_ids()PostsClient.get_counts_all()PostsClient.get_counts_recent()PostsClient.get_insights28hr()PostsClient.get_insights_historical()PostsClient.get_liking_users()PostsClient.get_quoted()PostsClient.get_reposted_by()PostsClient.get_reposts()PostsClient.hide_reply()PostsClient.search_all()PostsClient.search_recent()
- Submodules
- xdk.spaces package
- xdk.stream package
- Submodules
- xdk.stream.client module
- xdk.stream.models module
GetRuleCountsResponseGetRulesResponseLabelsComplianceResponseLikesComplianceResponseLikesFirehoseResponseLikesSample10ResponsePostsComplianceResponsePostsFirehoseEnResponsePostsFirehoseJaResponsePostsFirehoseKoResponsePostsFirehosePtResponsePostsFirehoseResponsePostsResponsePostsSample10ResponsePostsSampleResponseUpdateRulesRequestUpdateRulesResponseUsersComplianceResponse
- Module contents
StreamClientStreamClient.__init__()StreamClient.get_rule_counts()StreamClient.get_rules()StreamClient.labels_compliance()StreamClient.likes_compliance()StreamClient.likes_firehose()StreamClient.likes_sample10()StreamClient.posts()StreamClient.posts_compliance()StreamClient.posts_firehose()StreamClient.posts_firehose_en()StreamClient.posts_firehose_ja()StreamClient.posts_firehose_ko()StreamClient.posts_firehose_pt()StreamClient.posts_sample()StreamClient.posts_sample10()StreamClient.update_rules()StreamClient.users_compliance()
- Submodules
- xdk.trends package
- xdk.usage package
- xdk.users package
- Submodules
- xdk.users.client module
- xdk.users.models module
BlockDmsResponseCreateBookmarkRequestCreateBookmarkResponseDeleteBookmarkResponseFollowListRequestFollowListResponseFollowUserRequestFollowUserResponseGetBlockingResponseGetBookmarkFoldersResponseGetBookmarksByFolderIdResponseGetBookmarksResponseGetByIdResponseGetByIdsResponseGetByUsernameResponseGetByUsernamesResponseGetFollowedListsResponseGetFollowersResponseGetFollowingResponseGetLikedPostsResponseGetListMembershipsResponseGetMeResponseGetMentionsResponseGetMutingResponseGetOwnedListsResponseGetPinnedListsResponseGetPostsResponseGetRepostsOfMeResponseGetTimelineResponseLikePostRequestLikePostResponseMuteUserRequestMuteUserResponsePinListRequestPinListResponseRepostPostRequestRepostPostResponseSearchResponseUnblockDmsResponseUnfollowListResponseUnfollowUserResponseUnlikePostResponseUnmuteUserResponseUnpinListResponseUnrepostPostResponse
- Module contents
UsersClientUsersClient.__init__()UsersClient.block_dms()UsersClient.create_bookmark()UsersClient.delete_bookmark()UsersClient.follow_list()UsersClient.follow_user()UsersClient.get_blocking()UsersClient.get_bookmark_folders()UsersClient.get_bookmarks()UsersClient.get_bookmarks_by_folder_id()UsersClient.get_by_id()UsersClient.get_by_ids()UsersClient.get_by_username()UsersClient.get_by_usernames()UsersClient.get_followed_lists()UsersClient.get_followers()UsersClient.get_following()UsersClient.get_liked_posts()UsersClient.get_list_memberships()UsersClient.get_me()UsersClient.get_mentions()UsersClient.get_muting()UsersClient.get_owned_lists()UsersClient.get_pinned_lists()UsersClient.get_posts()UsersClient.get_reposts_of_me()UsersClient.get_timeline()UsersClient.like_post()UsersClient.mute_user()UsersClient.pin_list()UsersClient.repost_post()UsersClient.search()UsersClient.unblock_dms()UsersClient.unfollow_list()UsersClient.unfollow_user()UsersClient.unlike_post()UsersClient.unmute_user()UsersClient.unpin_list()UsersClient.unrepost_post()
- Submodules
- xdk.webhooks package
Submodules
- xdk.client module
- xdk.oauth1_auth module
- xdk.oauth2_auth module
OAuth2PKCEAuthOAuth2PKCEAuth.__init__()OAuth2PKCEAuth.access_tokenOAuth2PKCEAuth.exchange_code()OAuth2PKCEAuth.fetch_token()OAuth2PKCEAuth.get_authorization_url()OAuth2PKCEAuth.get_code_challenge()OAuth2PKCEAuth.get_code_verifier()OAuth2PKCEAuth.is_token_expired()OAuth2PKCEAuth.refresh_token()OAuth2PKCEAuth.set_pkce_parameters()
- xdk.paginator module
- xdk.streaming module
StreamConfigStreamConfig.max_retriesStreamConfig.initial_backoffStreamConfig.max_backoffStreamConfig.backoff_multiplierStreamConfig.jitterStreamConfig.timeoutStreamConfig.chunk_sizeStreamConfig.on_connectStreamConfig.on_disconnectStreamConfig.on_reconnectStreamConfig.on_errorStreamConfig.__init__()StreamConfig.backoff_multiplierStreamConfig.chunk_sizeStreamConfig.initial_backoffStreamConfig.jitterStreamConfig.max_backoffStreamConfig.max_retriesStreamConfig.on_connectStreamConfig.on_disconnectStreamConfig.on_errorStreamConfig.on_reconnectStreamConfig.timeout
StreamErrorStreamErrorTypeStreamStatestream_with_retry()
Module contents
XDK Python SDK. A Python SDK for the X API that provides convenient access to the X API endpoints with type safety and authentication support.class xdk.Client
Client for interacting with the X API.
Parameters
__init__
Initialize the X API client.
Parameters
The base URL for the X API (defaults to https://api.x.com).
The bearer token for the X API (app-only authentication).
The OAuth2 access token for user context (can be used directly as bearer token).
The client ID for the X API (required for OAuth2 PKCE flow).
The client secret for the X API.
The redirect URI for OAuth2 authorization.
An existing OAuth2 token dictionary (if available). If provided, access_token will be extracted.
Space-separated string or list of strings for OAuth2 authorization scopes.
The base URL for OAuth2 authorization (defaults to https://x.com/i).
OAuth1 instance for OAuth1.0a authentication.
exchange_code
Exchange authorization code for tokens (matches TypeScript API).
Parameters
The authorization code from the callback.
Optional code verifier (uses stored verifier if not provided).
fetch_token
Fetch token using authorization response URL (legacy method).
Parameters
The full callback URL received after authorization.
get_authorization_url
Get the authorization URL for the OAuth2 PKCE flow.
Parameters
Optional state parameter for security.
is_token_expired
Check if the OAuth2 token is expired.
refresh_token
Refresh the OAuth2 token.
class xdk.Cursor
[ResponseType]
Parameters
__init__
Initialize the cursor.
Parameters
The API method to call for each page (must support pagination)
items
Iterate over individual items from paginated responses.
Parameters
Maximum number of items to return (None for unlimited)
Returns
IteratorAny
pages
Iterate over pages of responses.
Parameters
Maximum number of pages to return (None for unlimited)
Returns
IteratorResponseType
class xdk.StreamConfig
Configuration for streaming connections with retry behavior.
Parameters
__init__
Parameters
on_error : Callable[[[StreamError]
exception xdk.StreamError
Exception raised for streaming errors with classification.
Parameters
__init__
Parameters
class xdk.StreamErrorType
Classification of streaming errors for retry decisions.
Parameters
class xdk.StreamState
Internal state for a streaming connection.
Parameters
__init__
Parameters
last_error : [StreamError]
xdk.cursor
Create a cursor with proper type inference and validation.
This factory function helps with type inference so you get proper
type hints for the response type, and validates that the method
supports pagination at both static analysis and runtime.
Parameters
The API method to wrap (must support pagination)