X (Twitter) Scraper avatar

X (Twitter) Scraper

Pricing

from $0.23 / 1,000 timeline/list posts

Go to Apify Store
X (Twitter) Scraper

X (Twitter) Scraper

Collect public X (Twitter) profiles and content with structured exports, grouped input and bounded API usage. Provider access included.

Pricing

from $0.23 / 1,000 timeline/list posts

Rating

0.0

(0)

Developer

mscraper

mscraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Collect public X (Twitter) data into a structured Apify dataset. Export JSON, CSV, Excel or JSONL from the dataset. Managed provider access is included; customers do not supply API keys.

Provider access is included; no provider API key is required in input.

Quick start

{
"mode": "profiles",
"profiles": ["NASA"],
"maxItems": 1,
"maxRequests": 2
}

Choose a mode, supply only the matching source field, set result/request caps, and run. Empty profiles input in the default profile mode uses the example account. Clear the prefilled profiles when switching to other source types.

Collection modes

ModeCollectsSource fieldPagination
profilesProfilesprofilesSingle response
profilesByIdProfiles by IDuserIdsSingle response
postsProfile postsprofilesYes
mediaProfile media postsprofilesYes
likesLiked postsprofilesYes
followersFollowersprofilesYes
followingFollowingprofilesYes
postsByUrlPosts by URL or IDpostUrlsSingle response
postDetailsPost detailpostUrlsSingle response
likersPost likerspostUrlsYes
repostersPost reposterspostUrlsYes
listPostsList postslistIdsYes
followerIdsFollower IDsuserIdsYes
followingIdsFollowing IDsuserIdsYes
trendsTrendslocationsSingle response

Output

Every row includes an exact string ID, data type, source, URL, username, display name, text, timestamp and available counts. Unavailable values are null, not invented zeroes. mediaUrls contains links; files are not downloaded. includeRaw adds the original record. IDs are never converted to floating point numbers. The OUTPUT key-value record contains counts, stop reason, requests, estimated weighted units, retries and warnings.

Rows are deduplicated by type + ID across sources. If the same item appears in multiple sources, the first source is retained. A run can stop with item-limit, request-budget, charge-limit, or usage-limit; it may contain partial results. Provider failures mark the run failed while preserving saved data. Aborted runs record their summary.

Pricing

Operation modesUSD / 1,000 saved resultsReference
posts, media, likes, listPosts0.225Kaito tweets, Free plan
profiles, profilesById3.96API Dojo user scraper: $0.004 profile query + $0.0004 result
postsByUrl, postDetails0.81Axery post detail, Free plan (excluding start fee)
followers, following, likers, reposters, followerIds, followingIds0.135Kaito followers/following; adjacent modes use the same group rate
trends0.36Karamelo trends, Free plan

Each saved record triggers exactly one operation event. $1.00 per 1,000 empty-check units applies only to validated successful empty responses, including configured endpoint weights. No start fee. Errors, malformed data, duplicates and filtered records do not create empty fees. Lookups used to resolve usernames are not separately charged.

Prices are fixed across Apify plans and are at most 10% below the named comparator's baseline result rate, as checked on September 28, 2026. This compares result rates, not total invoices: competitors may have extra start/query fees or paid-plan discounts. Adjacent operations use the stated group rate, not a claim of an exact feature match.

Set a maximum run charge as well as request and result caps. A request may return many rows; the request cap includes lookups and retries. Endpoint weights default to one pending metering reconciliation. Provider access is included; see the Apify pricing configuration for platform usage billing.

Limitations

X keyword search is not available in this provider API. Likes, likers and reposters can be restricted by X and returned empty; emptiness is not evidence of no activity. Post detail exports the requested post; it does not expand the replies array. Some provider endpoints ignore count, so limits are enforced locally.

Only public, provider-accessible data is supported. There is no login, access to private accounts, deleted-content recovery, or content download. No short-link resolution. No guarantees of complete history or exhaustive follower lists; provider pagination and availability control coverage.

Local development

Node 22 or newer and Redis (for integration tests):

npm ci
npm run check
npm run publication:check
node --env-file=.env --import tsx src/main.ts

Copy INPUT.example.json to storage/key_value_stores/default/INPUT.json for local input. .env and samples/raw/ are ignored. Required owner configuration: RAPIDMINE_API_KEY; cloud runs additionally require Redis URL or Upstash REST URL/token. Local runs use the request cap and per-process rate; shared cloud usage counters are enforced on Apify. Never commit credentials or put them in the actor input.

The shared provider cap is 90,000 weighted units per internal 30-day guard window, with at most 60 requests per minute across all runs; paid user cap 1,000/day, free user 3/window and shared free pool 10/window. These internal windows start on first use and do not mirror provider billing dates. Unknown/free status uses the conservative free allowance. Redis errors stop calls before provider access.

Monitoring and deployment

PROVIDER_MONITOR_URL and PROVIDER_MONITOR_TOKEN optionally publish usage observations to the local dashboard collector. Cloud actors require a reachable collector URL; localhost on your laptop is not reachable from Apify. Monitoring failure does not fail a scrape.

See publication/READINESS.md, publication/PUBLISH.md and docs/CONTRACTS.md for verification evidence and release details.

Combine public X posts and profiles with other sources when researching a brand, creator or topic.

  • TikTok Scraper — Collect video metadata, creator profiles and comments to compare social content and engagement.
  • Reddit Scraper — Search Reddit posts and retrieve comments to explore longer discussions around the same topic.
  • Similarweb Quick Scraper — Add estimated website traffic, traffic sources and geographic reach for relevant domains.

Run each Actor separately and combine its exported data in your own workflow. Each Actor has its own input, output and pricing.