Start the "Tweet Scraper|$0.25/1K Tweets | Pay-Per Result | No Rate Limits" Apif
Start the "Tweet Scraper|$0.25/1K Tweets | Pay-Per Result | No Rate Limits" Apify actor (kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest). Only $0.25/1000 tweets for Twitter scraping, 100% reliability, swift data retrieval.This incredible low price is almost too good to be true.Thanks to our larg…
Answeringour last check, 2026-09-24
1 of 1checks answered this week
253 msmedian answer time
$0.01listed price per call
$0.01price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://stableapify.dev/api/actors/kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest/call
| Category | Market data |
|---|---|
| Provider host | stableapify.dev |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 7 from 2 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-24 | valid payment request | 402 | $0.01 | 253 ms |
Example input (from the provider)
{
"body": {},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"input": {
"additionalProperties": {},
"description": "Normalized actor input. See field descriptions for the simplified shape; native Apify input also accepted (passed through).",
"properties": {
"-min_faves": {
"default": 0,
"description": "A maximum number of Faves.Eg.https://twitter.com/search?q=-min_faves%3A5000%20nasa&src=typed_query&f=live",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"-min_replies": {
"default": 0,
"description": "A maximum number of Replies.Eg.https://twitter.com/search?q=-min_replies%3A5000%20nasa&src=typed_query&f=live",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"-min_retweets": {
"default": 0,
"description": "A maximum number of Retweets.Eg.https://twitter.com/search?q=-min_retweets%3A5000%20nasa&src=typed_query&f=live",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"@": {
"description": "Mentioning a particular @username. Combine with -from:username to get only mentions.Eg.https://twitter.com/search?q=%40cern%20-from%3Acern&src=typed_query&f=live",
"type": "string"
},
"card_name": {
"description": "Tweets containing polls. For polls containing 2, 3, 4 choices, or image Polls.Eg.https://twitter.com/search?q=lang%3Aen%20card_name%3Apoll4choice_text_only%20OR%20card_name%3Apoll3choice_text_only%20OR%20card_name%3Apoll2choice_text_only&src=typed_query&f=live",
"enum": [
"poll2choice_text_only",
"poll3choice_text_only",
"poll4choice_text_only",
"poll2choice_image",
"poll3choice_image",
"poll4choice_image"
],
"type": "string"
},
"conversation_id": {
"description": "Tweets that are part of a thread (direct replies and other replies).Eg.https://twitter.com/search?q=conversation_id%3A1140437409710116865%20lang%3Aen&src=typed_query&f=live",
"type": "string"
},
"filter:blue_verified": {
"default": false,
"description": "Filter tweets from blue verified users only.However, I found that using filter:blue_verified alone causes issues and needs to be used together with filter:verified, possibly due to a Twitter bug.Eg.https://twitter.com/search?q=filter%3Ablue_verified%20-filter%3Averified&src=typed_query&f=live",
"type": "boolean"
},
"filter:consumer_video": {
"default": false,
"description": "Twitter native video only.Eg.https://twitter.com/search?q=filter%3Aconsumer_video%20%23nasamoontunes&src=typed_query&f=live",
"type": "boolean"
},
"filter:has_engagement": {
"default": false,
"description": "Has some engagement (replies, likes, retweets). Can be negated to find tweets with no engagement. Note all of these are mutually exclusive with filter:nativeretweets or include:nativeretweets, as they apply to the retweet, not the original tweet, so they won't work as expected.Eg.https://twitter.com/search?q=breaking%20filter%3Anews%20-filter%3Ahas_engagement&src=typed_query&f=live",
"type": "boolean"
},
"filter:hashtags": {
"default": false,
"description": "Containing any sort of hashtags.Eg.https://twitter.com/search?q=filter%3Ahashtags%20%23nasamoontunes&src=typed_query&f=live",
"type": "boolean"
},
"filter:images": {
"default": false,
"description": "Filter tweets with images.Eg.https://twitter.com/search?q=filter%3Aimages%20%23nasamoontunes&src=typed_query&f=live",
"type": "boolean"
},
"filter:links": {
"default": false,
"description": "Only containing some URL, includes media. use -filter:media for urls that aren't media.Eg.https://twitter.com/search?q=filter%3Alinks%20%23nasamoontunes&src=typed_query&f=live",
"type": "boolean"
},
"filter:media": {
"default": false,
"description": "Filter tweets with media,All media types.Eg.https://twitter.com/search?q=filter%3Amedia%20%23nasamoontunes&src=typed_query&f=live",
"type": "boolean"
},
"filter:mentions": {
"default": false,
"description": "Containing any sort of @mentions.Eg.https://twitter.com/search?q=filter%3Amentions%20%23nasamoontunes&src=typed_query&f=live",
"type": "boolean"
},
"filter:native_video": {
"default": false,
"description": "All Twitter-owned video types (native video, vine, periscope).Eg.https://twitter.com/search?q=filter%3Anative_video%20%23nasamoontunes&src=typed_query&f=live",
"type": "boolean"
},
"filt