$0.375/1000 Twitter / X API Flat & Simple
Pricing
from $0.38 / 1,000 results
$0.375/1000 Twitter / X API Flat & Simple
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.
Pricing
from $0.38 / 1,000 results
Rating
5.0
(4)
Developer
Practical Tools
Maintained by CommunityActor stats
8
Bookmarked
201
Total users
8
Monthly active users
15 days ago
Last modified
Categories
Share
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-result monetization: Only pay for successful, non-empty results. As low as $0.000375 per result.
- 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.
| Your Apify Plan | Price per Result | Total for 1,000 Items | Savings |
|---|---|---|---|
| Free | $0.02 | $20.00 | - |
| Starter | $0.000575 | $0.575 | 97.1% Off |
| Scale | $0.000475 | $0.475 | 97.6% Off |
| Business | $0.000375 | $0.375 | 98.1% Off |
[!TIP] Pro Tip: Upgrading to even the smallest Apify paid plan (Starter) 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.
- Platform usage is included β you are charged per result only, with no separate compute costs on top.
π οΈ 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 a call cannot be completed, the run fails with a plain-language status message explaining why β for example a rejected API key, a user or tweet that does not exist, or an upstream rate limit. No error object is written to the dataset, so anything you read from the dataset is always a valid result.
- Transient failures (rate limits, 5xx responses, network timeouts) are retried automatically up to 3 times with exponential backoff.
- Permanent failures (bad API key, missing user/tweet) fail fast without burning retries.
- Partial results are kept. If pagination fails midway, everything fetched up to that point stays in the dataset and the status message reports how many items were returned.
Check the run's status message, or the Log tab, to see the reason for a failure.
π Support
- For questions or issues, use the Apify actor page "Issues" tab or contact the maintainer.
Actor ID: gdN28kzr6QsU4nVh8
Pricing: Pay per result β $0.02 on the Apify Free plan, down to $0.000375 on Business. See the Pricing section above.