For SDK extraction jobs, treat
202 Accepted as a queued run receipt. Poll GET /extractions/{id} before exporting rows. Xquik reserves credits after the job starts. The run can lower resultsLimit to the affordable count or fail with insufficient_credits.TypeScript / Node.js
Use typed REST calls for Node.js, Bun, Next.js route handlers, tweet search exports, media tweets, and DMs.
Python
Build sync or async jobs for tweet search, JSON Lines, CSV, XLSX, monitors, and webhook automation.
Go
Add tweet search exports, write actions, and monitor workers to Go services with context-aware calls.
Java
Use Maven or Gradle to add the Java SDK to Spring, worker, and JVM backend applications.
Kotlin
Use idiomatic Kotlin types, nullable values, sequences, and suspend-friendly client methods.
C# / .NET
Install from NuGet. Use REST for support attachment downloads.
Ruby
Use the Ruby gem with Yard, RBS, RBI, retries, and connection pooling.
PHP
Add the Composer package to PHP 8.1+ applications with named parameters and typed exceptions.
CLI
Run terminal workflows for tweet search exports, JSON output, CSV or XLSX handoff, and scripted API calls.
Terraform provider
Install from the Terraform Registry and manage Xquik resources as infrastructure.
Choose an SDK
- TypeScript / Node.js. Install with
npm install x-twitter-scraper. Source: Xquik-dev/x-twitter-scraper-typescript. Open the TypeScript SDK guide. - Python. Install with
pip install x_twitter_scraper. Source: Xquik-dev/x-twitter-scraper-python. Open the Python SDK guide. - Go. Install with
go get github.com/Xquik-dev/x-twitter-scraper-go. Source: Xquik-dev/x-twitter-scraper-go. Open the Go SDK guide. - Java. Maven Central publication is pending. Build from source at Xquik-dev/x-twitter-scraper-java. Open the Java SDK guide.
- Kotlin. Maven Central publication is pending. Build from source at Xquik-dev/x-twitter-scraper-kotlin. Open the Kotlin SDK guide.
- C# / .NET. Install with
dotnet add package XTwitterScraper. Use REST forGET /support/attachments/{id}. Source: Xquik-dev/x-twitter-scraper-csharp. Open the C# SDK guide. - Ruby. Install with
gem install x-twitter-scraper. Source: Xquik-dev/x-twitter-scraper-ruby. Open the Ruby SDK guide. - PHP. Install with
composer require xquik/x-twitter-scraper. Source: Xquik-dev/x-twitter-scraper-php. Open the PHP SDK guide. - CLI. Install with
go install github.com/Xquik-dev/x-twitter-scraper-cli/cmd/x-twitter-scraper@latest. Source: Xquik-dev/x-twitter-scraper-cli. Open the CLI guide. - Terraform provider. Install
Xquik-dev/x-twitter-scraperfrom the Terraform Registry. Open the Terraform guide.
Choose by job
- Tweet search exports. Start with TypeScript, Python, Go SDK, or CLI plus Search Tweets. Hand off
PaginatedTweets,tweets,has_next_page,next_cursor, andxquik-tweet-search.jsonlfor JSON Lines, CSV, or XLSX. Cost: 1 credit per tweet returned. - Follower export files. Start with Follower Export CRM Workflow, TypeScript, Python, Go SDK, or CLI. Run
follower_explorerwithtargetUsernameand optionalresultsLimit, then export CSV, JSON, or XLSX from Export Extraction. Store the202 AcceptedreceiptidandtoolType, then pollGET /extractions/{id}forjob.status,results,hasMore, andnextCursor. Cost: 1 credit per follower extracted or returned. - Post media tweets or replies. Start with TypeScript, Go SDK, or CLI plus Create Tweet. Pass public media URLs in
media: up to 4 image URLs or exactly 1 MP4 video URL up to 100 MB. StoretweetId,reply_to_tweet_id,chargedCredits, orwriteActionId. Cost: 30 credits text-only, plus 2 credits per started MB across attached media. - Upload DM attachments. Call Upload Media, then Send Direct Message. Use the returned
mediaIdas the one-itemmedia_idsvalue. StoremediaUrland the returnedmessageId. Cost: 10 credits per media upload plus 10 credits per DM send. - Monitor tweets to webhooks. Start with Create Monitor, Webhooks, or Terraform. Store monitor IDs, webhook IDs, event types, and signed delivery metadata. Active monitors cost 21 credits per monitor-hour.
- Agent handoff. Use the MCP Server for tool calls, or SDKs for direct code. Return JSON objects with the endpoint path, request parameters, result fields, pagination cursor, and endpoint cost.
Authentication
All SDKs accept the same API credentials as the REST API:X_TWITTER_SCRAPER_BEARER_TOKEN.
Common workflows
- Search tweets or scrape tweets to JSON Lines, CSV, or XLSX through Search Tweets. Keep
xquik-tweet-search.jsonlor the language-specific export file as the downstream handoff. - Inspect threads through Get Tweet and Tweet Thread.
- Look up profiles and relationships through Get User, Followers, and Check Follower.
- Post media tweets or replies with up to 4 public image URLs or exactly 1 public MP4 video URL up to 100 MB through Create Tweet. Text-only tweet or reply writes cost 30 credits. Attached media adds 2 credits per started MB across all files. Upload media through Upload Media when Send Direct Message needs one uploaded media ID in
media_ids. - Create account monitors with Create Monitor, then receive events through Webhooks.
- Run exports and giveaway workflows with Extractions and Draws.
- Connect agents through the MCP Server when you need tool use instead of direct SDK calls.
Error handling & pagination
Generated SDKs map HTTP errors into language-native exception or error types. Start with the error handling guide for status code semantics and the per-language page for idiomatic handling. Paginated endpoints return a page object with a next-page marker such ashas_next_page, hasNextPage, or HasNextPage depending on language casing. Use the SDK’s generated pagination helpers when available, or pass the cursor fields documented on each endpoint.