Twitter/X Search Scraper · Small Jobs & Advanced Queries
Pricing
from $1.50 / 1,000 results
Twitter/X Search Scraper · Small Jobs & Advanced Queries
Search public Twitter/X posts and profiles by keyword, hashtag, mention, or documented advanced operator. Export unique results with bounded pagination, clear empty and partial outcomes, and no login or cookies.
Pricing
from $1.50 / 1,000 results
Rating
5.0
(1)
Developer
Data Slayer
Maintained by CommunityActor stats
1
Bookmarked
513
Total users
80
Monthly active users
9 days ago
Last modified
Categories
Share
Search public Twitter/X results by keyword, phrase, hashtag, mention, or documented advanced operator. Export unique posts or profiles with bounded pagination and clear empty or partial outcomes—without providing a Twitter/X login or cookies.
Watch the demo
What this Actor does
Use this Actor for one-off research, small searches, repeatable automations, or larger bounded exports. It supports the existing Top, Latest, People, Photos, and Videos sections. Each run stops at your page or row limit, removes duplicate result IDs within the run, and stores a run summary separately from the billable Dataset.
Search availability and result volume vary by query, section, time, account visibility, and what Twitter/X exposes publicly. A successful empty search is reported honestly; it is not presented as complete historical coverage.
Input
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
query | string | Yes | new york | Keyword, phrase, hashtag, mention, or advanced query, up to 512 characters. |
section | enum | No | top | One of top, latest, people, photos, or videos. |
maxPages | integer | No | 1 | Maximum pages to request, from 1 to 100. The legacy key and default are preserved. |
maxItems | integer | No | unset | Optional cap of 1–10,000 unique Dataset rows. |
fromUser | string | No | unset | Convenience field that appends the documented from: operator. |
verifiedOnly | boolean | No | false | Convenience field that appends the documented filter:verified operator. |
The convenience fields do not add undocumented filters. You can still place supported operators directly in query. If query already contains the same operator, the Actor does not append it again.
Example input
{"query": "product launch","section": "latest","maxPages": 3,"maxItems": 100,"fromUser": "nasa","verifiedOnly": true}
The effective query is product launch from:nasa filter:verified.
Output
The default Dataset contains one unique search result per row. Existing tweet/profile keys are preserved for compatibility. Fields vary by section and public availability; missing data may be absent or null.
Common tweet fields include:
tweet_id,text,created_at,lang, andconversation_idscreen_nameand nesteduser_infofavorites,retweets,bookmarks,views,replies, andquotes- nested
entitiessuch as hashtags, mentions, and media
The People section may return profile-shaped rows instead of tweet-shaped rows. The schema therefore remains open to existing section-specific fields. Internal routing, authentication, quota, request, and raw-response metadata are removed from customer rows.
Example JSON row
{"type": "tweet","tweet_id": "1734567890123456789","screen_name": "tech_innovator","text": "A public product launch update #AI","created_at": "Mon Dec 16 14:23:15 +0000 2025","favorites": 2847,"retweets": 456,"bookmarks": 189,"views": "87432","replies": 34,"quotes": 12,"conversation_id": "1734567890123456789","lang": "en","entities": {"hashtags": [{"text": "AI", "indices": [31, 34]}],"user_mentions": [],"media": []},"user_info": {"screen_name": "tech_innovator","name": "Tech Innovator","followers_count": 45678,"verified": true}}
Example CSV columns
type,tweet_id,screen_name,text,created_at,favorites,retweets,views,langtweet,1734567890123456789,tech_innovator,A public product launch update #AI,Mon Dec 16 14:23:15 +0000 2025,2847,456,87432,en
Nested objects are represented according to Apify's Dataset CSV export behavior. JSON is the canonical format for nested data.
Empty, partial, and failed runs
The Dataset contains customer results only—never status rows. The key-value store record named OUTPUT reports:
complete: the Actor reached the end of available pages or a configured bound.empty: the request completed but returned no matching rows.partial: some rows were accepted before a later page, time, request, customer-budget, cancellation, or output boundary stopped the run.failed: no rows were accepted and the request could not complete.
The summary includes pages fetched, request attempts, accepted rows, observed automatic-charge receipts, duplicates skipped, termination reason, and expected billable Dataset rows. It distinguishes matched billing, customer-budget termination, and a reconciliation mismatch that needs review. Pagination tokens are represented only by a short fingerprint.
Reliability and limits
- Transient rate limits, timeouts, and server errors use bounded retries with jitter and
Retry-Afterwhen available. - Pagination stops on the page limit, unique-row limit, request budget, time budget, missing cursor, or repeated cursor.
- Duplicate rows are removed by stable result ID within one run.
- A customer max-total-charge limit stops further Dataset delivery when the Apify SDK reports that the event budget is exhausted.
- An uncertain Dataset write is not retried automatically; the run stops to avoid duplicating a possibly accepted and charged row.
- Public, deleted, restricted, private, region-limited, or unavailable content may be missing.
- Search results—especially Latest and date-bounded queries—may be sparse. The Actor does not promise complete history or a fixed number of matches.
- This Actor is not affiliated with or endorsed by Twitter/X.
Automation and export
Run the Actor in Apify Console, through the Apify API, on a schedule, or from a webhook-enabled workflow. Download the Dataset as JSON, CSV, or Excel. For repeated monitoring, set a narrow result bound and keep your own durable cross-run deduplication key based on the returned result ID.
Pricing semantics
The primary billable event is one accepted row in the default Dataset. The small Actor-start event covers bounded retrieval work even when a query is sparse or empty. The OUTPUT summary is stored outside the Dataset and is not a result event.
Other Twitter/X Actors by Data Slayer
- Twitter Tweets Scraper
- Twitter Comments Scraper
- Twitter Followers Scraper
- Twitter Following Scraper
- Twitter Profile Scraper
- Twitter List Members Scraper
- Twitter Community Members Scraper
- Twitter Trends Scraper
Support
Create an issue in the Actor's Issues tab with the section, a redacted query example, and the OUTPUT termination reason. Do not include account credentials or private data.
FAQ
How much does it cost to run this Actor? Pricing is listed in the Pricing section above, charged per row returned. You only pay for the rows the Actor actually produces, so a small test run costs cents.
Do I need cookies or a login? No. This Actor reads public data only - no cookies, no account, no browser automation.
Can I schedule it? Yes. Run it from the Apify API, on a schedule, or via a webhook, and export results as JSON, CSV or Excel.
What if I need a slightly different output? Open an issue on the Actor's Issues tab describing the shape you need.
Related actors
More Twitter actors from the same portfolio. Apify only auto-recommends actors in the same category, so here are the rest of ours: