Python SDK
Use the TwexAPI Python SDK for tweet search, follower exports, and public reads in sync or async jobs.
Use the Python SDK when you want typed request objects, response models, retries, and pagination helpers for TwexAPI REST workflows in scripts, workers, and agent backends.
twexapi-dev/x-api-scraper-pythonPython SDK for TwexAPI public social data and approved account workflows. Independent third-party service.00| Python task | SDK call | Save |
|---|---|---|
| Search tweets | client.search.advanced |
next_cursor |
| Read profile | client.users.get_about |
screen_name |
| List followers | client.users.followers.list |
cursor |
Install
pip install x_api_scraper
Until PyPI is published, install from GitHub:
pip install git+https://github.com/twexapi-dev/x-api-scraper-python.git
Source: twexapi-dev/x-api-scraper-python
Authenticate
export X_API_SCRAPER_KEY="YOUR_API_KEY"
import os
from x_api_scraper import XApiScraper
client = XApiScraper(
bearer_auth=os.getenv("X_API_SCRAPER_KEY"),
)
Basic example
import os
from x_api_scraper import XApiScraper
client = XApiScraper(
bearer_auth=os.getenv("X_API_SCRAPER_KEY"),
)
result = client.search.advanced(
search_terms=["from:elonmusk"],
sort_by="Latest",
next_cursor="",
)
about = client.users.get_about(screen_name="elonmusk")
followers = client.users.followers.list(username="elonmusk")
Workflow: search tweets to JSON Lines
import json
import os
from x_api_scraper import XApiScraper
client = XApiScraper(bearer_auth=os.getenv("X_API_SCRAPER_KEY"))
query = "from:elonmusk AI"
cursor = ""
page_index = 0
while True:
page = client.search.advanced(
search_terms=[query],
sort_by="Latest",
next_cursor=cursor,
)
for tweet in page.tweets or []:
row = {
"source": "twexapi.python.search",
"query": query,
"tweet_id": tweet.id,
"text": tweet.text,
"page_index": page_index,
"next_cursor": page.next_cursor,
}
print(json.dumps(row))
if not page.has_next_page or not page.next_cursor:
break
cursor = page.next_cursor
page_index += 1
Error handling
from x_api_scraper.models.errors import XAPIScraperError
try:
client.search.advanced(
search_terms=["from:elonmusk"],
sort_by="Latest",
next_cursor="",
)
except XAPIScraperError as error:
print(error.status_code, error.body)
Enable debug logging with X_API_SCRAPER_DEBUG=true.