
Cheap & Simple Twitter / X.com API
A robust, pay-per-event Apify actor, providing simplified, flattened, noise-free tweet and user objects. Designed for easy integration, strict field filtering, and reliable automation.
$0.009375 per non-empty API response (pay-per-event)
Cheap & Simple Twitter / X.com API β Apify Actor
A robust, dirt-cheap, affordable, pay-per-use Apify actor that wraps the raw Twitter API endpoints, providing simplified, noise-free tweet and user objects. Designed for easy integration, strict field filtering, and reliable automation.
π Features
- Pay-per-event monetization: Only pay for successful, non-empty results. As low as $0.00046 per tweet.
- Comprehensive endpoint support (see below)
- Unified Twitter API access via Apify
- Strict field filtering for tweet and user objects (no noise)
- Production-ready error handling
- Pagination support via
cursorparameter for all list endpoints - Advanced search supports
queryType(Latest/Top)
Getting Started Guide
I've created a detailed Getting Started Guide, available in Markdown or a PDF file
Complex Advanced Search Query Builder
This little tool will help you create complex API search queries: π Twitter search builder
πΈ Pricing (Tiered Discounts)
This actor uses Apify's tiered pricing model. The more you use Apify, the less you pay per result.
| Tier | Price per Result | Total for 1,000 Items | Savings |
|---|---|---|---|
| Free (Guest) | $0.02 | $20.00 | - |
| Bronze | $0.000575 | $0.575 | 97.1% Off |
| Silver | $0.000475 | $0.475 | 97.6% Off |
| Gold | $0.000375 | $0.375 | 98.1% Off |
[!TIP] Pro Tip: Upgrading to even the smallest Apify paid plan (Bronze) reduces your costs by over 97% instantly.
- Trial Quota: Users on the Apify Free plan are strictly limited to a trial quota of 20 results per run. Upgrade to any paid plan for unlimited results.
π οΈ How to Use
1. Via Apify UI
- Go to the actor page and click "Run".
- Fill in the input fields:
endpoint: (string) The endpoint to call (see list below)parameters: (object) Parameters for the endpoint (see below)
2. Via Apify API
Send a POST request to the actor with a JSON body:
{
"endpoint": "user/info",
"parameters": { "userName": "NASA" }
}
π₯ Input Schema
{
"endpoint": "string (required)",
"parameters": "object (required)"
}
π€ Output Schema
- User object:
{ "type": "user", "userName": "string", "url": "string", "id": "string", "name": "string", "isBlueVerified": true, "profilePicture": "string", "coverPicture": "string", "description": "string", "location": "string", "followers": 123, "following": 123 } - Tweet object:
{ "type": "tweet", "id": "string", "url": "string", "text": "string", "source": "string", "retweetCount": 123, "replyCount": 123, "likeCount": 123, "quoteCount": 123, "viewCount": 123, "createdAt": "string", "lang": "string", "bookmarkCount": 123, "isReply": true, "media": "string", "video": { "duration_millis": 123, "variants": [ { "bitrate": 123, "content_type": "string", "url": "string" } ] }, "author": { ...user object... } } - Array: Most endpoints return an array of user or tweet objects.
π Supported Endpoints & Usage
| Endpoint | Description | Parameters (required) | Example Input |
|---|---|---|---|
user/info |
Get user info by username | userName (string) |
{ "endpoint": "user/info", "parameters": { "userName": "NASA" } } |
user/last_tweets |
Get latest tweets by user | userName (string), cursor (optional) |
{ "endpoint": "user/last_tweets", "parameters": { "userName": "NASA", "cursor": "NEXT_CURSOR" } } |
user/followers |
Get followers of a user | userName (string), cursor (optional) |
{ "endpoint": "user/followers", "parameters": { "userName": "NASA", "cursor": "NEXT_CURSOR" } } |
user/followings |
Get users followed by a user | userName (string), cursor (optional) |
{ "endpoint": "user/followings", "parameters": { "userName": "NASA", "cursor": "NEXT_CURSOR" } } |
user/mentions |
Get tweets mentioning a user | userName (string), cursor (optional) |
{ "endpoint": "user/mentions", "parameters": { "userName": "NASA", "cursor": "NEXT_CURSOR" } } |
tweet/by_ids |
Get tweets by IDs | tweet_ids (string, comma-separated) |
{ "endpoint": "tweet/by_ids", "parameters": { "tweet_ids": "1920130001699062027" } } |
tweet/replies |
Get replies to a tweet | tweet_id (string), cursor (optional) |
{ "endpoint": "tweet/replies", "parameters": { "tweet_id": "1920130001699062027", "cursor": "NEXT_CURSOR" } } |
tweet/quotes |
Get quotes of a tweet | tweet_id (string), cursor (optional) |
{ "endpoint": "tweet/quotes", "parameters": { "tweet_id": "1920130001699062027", "cursor": "NEXT_CURSOR" } } |
tweet/retweeters |
Get users who retweeted a tweet | tweetId (string), cursor (optional) |
{ "endpoint": "tweet/retweeters", "parameters": { "tweetId": "1920130001699062027", "cursor": "NEXT_CURSOR" } } |
tweet/advanced_search |
Advanced tweet search | query (string, required), queryType (enum: Latest, Top, required, default: Latest), cursor (optional) |
{ "endpoint": "tweet/advanced_search", "parameters": { "query": "from:NASA", "queryType": "Latest", "cursor": "NEXT_CURSOR" } } |
list/tweets |
Get tweets from a list | listId (string), cursor (optional) |
{ "endpoint": "list/tweets", "parameters": { "listId": "YOUR_LIST_ID", "cursor": "NEXT_CURSOR" } } |
π§βπ» Example Usage
Input JSON (Apify UI or API):
{
"endpoint": "tweet/advanced_search",
"parameters": { "query": "from:NASA", "queryType": "Latest", "cursor": "NEXT_CURSOR" }
}
Sample Output:
{
"type": "user",
"userName": "NASA",
"url": "https://twitter.com/NASA",
"id": "123456789",
"name": "Muzli",
"isBlueVerified": true,
"profilePicture": "https://...",
"coverPicture": "https://...",
"description": "Curated design inspiration",
"location": "Internet",
"followers": 100000,
"following": 1
}
β οΈ Error Handling
- If the API call fails or returns no results, you will receive an error object:
{
"error": true,
"message": "Error message",
"stack": "Stack trace"
}
π Support
- For questions or issues, use the Apify actor page "Issues" tab or contact the maintainer.
Actor ID: gdN28kzr6QsU4nVh8
Pricing: $0.009375 per successful, non-empty API response