Skip to main content
This module provides the primary Client class for interacting with the X API. It coordinates all sub-clients and handles authentication, session management, and OAuth2 PKCE flows. All functionality is generated from the OpenAPI specification.

Client

Class Bases: object | None = None) Client for interacting with the X API.

Constructors

__init__

Initialize the X API client.

Parameters

path.base_url
str
default:"'https://api.x.com'"
The base URL for the X API (defaults to https://api.x.com).
path.bearer_token
str or None
default:"None"
The bearer token for the X API (app-only authentication).
path.access_token
str or None
default:"None"
The OAuth2 access token for user context (can be used directly as bearer token).
path.client_id
str or None
default:"None"
The client ID for the X API (required for OAuth2 PKCE flow).
path.client_secret
str or None
default:"None"
The client secret for the X API.
path.redirect_uri
str or None
default:"None"
The redirect URI for OAuth2 authorization.
path.token
Dict[str, Any] or None
default:"None"
An existing OAuth2 token dictionary (if available). If provided, access_token will be extracted.
path.scope
str or List[str] or None
default:"None"
Space-separated string or list of strings for OAuth2 authorization scopes.
path.authorization_base_url
str
default:"'https://x.com/i'"
The base URL for OAuth2 authorization (defaults to https://x.com/i).
path.auth
OAuth1
OAuth1 instance for OAuth1.0a authentication.

Parameters

path.base_url
str
default:"'https://api.x.com'"
path.bearer_token
str or None
default:"None"
path.access_token
str or None
default:"None"
path.client_id
str or None
default:"None"
path.client_secret
str or None
default:"None"
path.redirect_uri
str or None
default:"None"
path.token
Dict[str, Any] or None
default:"None"
path.scope
str or List[str] or None
default:"None"
path.authorization_base_url
str
default:"'https://x.com/i'"
path.auth
OAuth1

exchange_code

Exchange authorization code for tokens (matches TypeScript API).

Parameters

path.code
Any
The authorization code from the callback.
path.code_verifier
Any
default:"None"
Optional code verifier (uses stored verifier if not provided).

fetch_token

Fetch token using authorization response URL (legacy method).

Parameters

path.authorization_response
Any
The full callback URL received after authorization.

get_authorization_url

Get the authorization URL for the OAuth2 PKCE flow.

Parameters

path.state
Any
default:"None"
Optional state parameter for security.

is_token_expired

Check if the OAuth2 token is expired.

refresh_token

Refresh the OAuth2 token.