Extract Twitter/X Data Without Rate Limit Pain
User profiles, tweet history, followers, and search. Full Twitter data access. Structured JSON, cursor pagination, no OAuth complexity.
Twitter's API Pricing Killed Most Data Workflows
Twitter's API v2 restructuring in 2023 changed the economics of Twitter data. The free tier was gutted to 1,500 tweets/month read access. Basic tier ($100/month) offers 10,000 tweets/month. Pro tier ($5,000/month) unlocks 1M tweets. For most teams, the cost of Twitter's official API exceeds the value of the data they need.
The result: teams that built on Twitter's API either absorbed massive cost increases, degraded their products, or stopped using Twitter data entirely. Academic researchers lost access. Small companies were priced out. The data is still there — it's just behind a wall that most budgets can't justify.
Meanwhile, the demand for Twitter data hasn't decreased. Brand monitoring, trend analysis, competitive intelligence, and audience research all depend on understanding what's happening on the platform.
Five Endpoints for Twitter/X Data
User Profile /api/twitter/user
Core profile data: name, username, bio, follower count, following count, tweet count, verification status, join date, location, and profile images.
Response Example
{
"id": "12345678",
"name": "Jane Doe",
"username": "janedoe",
"description": "Building data infrastructure. Previously @TechCorp.",
"followers_count": 15420,
"following_count": 892,
"tweet_count": 8740,
"verified": true,
"created_at": "2015-03-14T12:00:00Z",
"location": "San Francisco",
"profile_image_url": "https://pbs.twimg.com/...",
"profile_banner_url": "https://pbs.twimg.com/..."
}
Cost: 1 credit.
User Posts /api/twitter/user/posts
Extract tweets from any user. Returns tweet text, timestamps, engagement metrics (likes, retweets, replies, quotes, views), media attachments, and referenced tweets.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
username |
string | Yes | Twitter username |
count |
integer | No | Number of tweets to retrieve |
cursor |
string | No | Pagination cursor |
Cost: 1 credit per page (20 tweets per page).
User Followers /api/twitter/user/followers
Get the follower list for any account. Returns usernames, profile data, and follower counts for each follower.
Cost: 1 credit per page.
Search Posts /api/twitter/search/posts
Search all of Twitter by keyword, with date range filtering and engagement minimum filters. The most powerful endpoint for brand monitoring and trend research.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | Search keywords |
since |
string | No | Start date (YYYY-MM-DD) |
until |
string | No | End date (YYYY-MM-DD) |
min_likes |
integer | No | Minimum like count |
min_retweets |
integer | No | Minimum retweet count |
count |
integer | No | Results per page |
cursor |
string | No | Pagination cursor |
Cost: 1 credit per page (20 tweets per page).
Search Users /api/twitter/search/users
Search for Twitter accounts by keyword. Returns matching profiles with follower counts and bios.
Cost: 1 credit per page (20 users per page).
Code Examples
import requests API_KEY = "YOUR_API_KEY" BASE = "https://api.anysite.io" headers = {"access-token": API_KEY} # Search for brand mentions with engagement filters mentions = requests.post( f"{BASE}/api/twitter/search/posts", headers=headers, json={ "query": "TechCorp OR @techcorp", "since": "2026-03-01", "until": "2026-03-11", "min_likes": 5, "count": 50 } ).json() for tweet in mentions["results"]: print(f"@{tweet['username']}: {tweet['text'][:120]}") print(f" Likes: {tweet['likes']} | RT: {tweet['retweets']} | Views: {tweet.get('views', 'N/A')}")
competitors = ["competitor_a", "competitor_b", "competitor_c"] for username in competitors: profile = requests.post( f"{BASE}/api/twitter/user", headers=headers, json={"user": username} ).json() tweets = requests.post( f"{BASE}/api/twitter/user/posts", headers=headers, json={"username": username, "count": 40} ).json() total_engagement = sum( t["likes"] + t["retweets"] for t in tweets["results"] ) avg = total_engagement / len(tweets["results"]) if tweets["results"] else 0 print(f"@{username}: {profile['followers_count']:,} followers, avg engagement: {avg:.0f}")
curl -X POST "https://api.anysite.io/api/twitter/user" \ -H "access-token: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"user": "janedoe"}'
curl -X POST "https://api.anysite.io/api/twitter/search/posts" \ -H "access-token: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "query": "AI infrastructure", "since": "2026-03-01", "min_likes": 10, "count": 50 }'
const response = await fetch("https://api.anysite.io/api/twitter/user", { method: "POST", headers: { "access-token": "YOUR_API_KEY", "Content-Type": "application/json" }, body: JSON.stringify({ user: "janedoe" }) }); const profile = await response.json(); console.log(`@${profile.username}: ${profile.followers_count} followers`);
const searchRes = await fetch("https://api.anysite.io/api/twitter/search/posts", { method: "POST", headers: { "access-token": "YOUR_API_KEY", "Content-Type": "application/json" }, body: JSON.stringify({ query: "AI infrastructure", since: "2026-03-01", min_likes: 10, count: 50 }) }); const tweets = await searchRes.json(); tweets.results.forEach(t => console.log(`@${t.username}: ${t.text.slice(0, 100)}`));
anysite api /api/twitter/user user=janedoe
anysite api /api/twitter/user/posts username=janedoe count=40 \ --format table --fields "text,likes,retweets,created_at"
anysite api /api/twitter/search/posts \ query="AI agents" since=2026-03-01 min_likes=10 count=50
anysite api /api/twitter/user --from-file accounts.txt \ --input-key user --parallel 5 --format csv
name: twitter-monitoring sources: brand_mentions: endpoint: /api/twitter/search/posts input: query: "TechCorp OR @techcorp -filter:retweets" since: "2026-03-01" count: 50 competitor_tweets: endpoint: /api/twitter/user/posts input: username: ${file:competitors.txt} count: 20 parallel: 3 industry_trends: endpoint: /api/twitter/search/posts input: query: "data infrastructure API" min_likes: 25 count: 50 storage: format: parquet path: ./data/twitter-intel
Use Cases
Brand and Product Monitoring
Problem
Your brand is mentioned on Twitter hundreds of times a week. Some mentions are praise, some are complaints, some are feature requests. Twitter's official API costs $100–5,000/month just to read tweets. Without systematic monitoring, you're reacting to what happens to surface on your feed.
Solution
Search for brand mentions with date range filters. Pull tweets mentioning your brand, product names, or key executives. Use engagement filters to surface the conversations that matter (10+ likes means the audience noticed). Run on a daily schedule.
Result
A daily feed of every meaningful brand mention, sorted by engagement. Respond to complaints early, amplify positive coverage, and catch product feedback that would otherwise disappear into the feed.
Audience Research and Persona Building
Problem
Understanding your target audience — what they talk about, who they follow, what content they engage with — requires immersion in their Twitter conversations. At scale, this means analyzing thousands of profiles and tweets.
Solution
Search for industry-relevant conversations. Pull profiles and tweet histories for engaged participants. Analyze content themes, hashtag usage, and engagement patterns to build detailed audience personas.
Result
Data-driven audience personas built from actual behavior, not surveys. Know what topics your audience cares about, what tone resonates, and which voices they follow.
Competitive Intelligence
Problem
Tracking how competitors use Twitter — their posting cadence, content strategy, audience growth, and engagement rates — requires manual monitoring across multiple accounts.
Solution
Pull competitor profiles and tweet histories on a weekly schedule. Track follower growth, engagement per tweet, and content themes. Compare across competitors to identify gaps and opportunities.
Result
A competitive Twitter dashboard. Know who's growing fastest, what content strategy is working, and where competitors are vulnerable.
Influencer and KOL Identification
Problem
Finding Key Opinion Leaders in a specific niche requires searching through thousands of accounts and assessing their actual influence (not just follower counts).
Solution
Search for niche-relevant tweets with high engagement. Pull profiles for the most-engaged authors. Analyze follower counts, engagement rates, and content consistency. Build ranked influencer lists.
Result
Ranked lists of genuine influencers in any niche, backed by engagement data rather than follower vanity metrics.
How Anysite Compares
| Feature | Anysite | Twitter API v2 (Basic) | Twitter API v2 (Pro) | Apify | Nitter |
|---|---|---|---|---|---|
| User profiles | 1 credit | Included | Included | Actor-based | Free (unstable) |
| Tweet history | 1 credit/20 tweets | 10K tweets/mo | 1M tweets/mo | Actor-based | Free (unstable) |
| Search | Full search + date range | Limited search | Full archive | Actor-based | Not available |
| Followers | Paginated endpoint | Limited | Included | Actor-based | Not available |
| Price | $49/mo (15K credits) | $100/mo | $5,000/mo | $49+/mo (per actor) | Free |
| Auth | API key | OAuth 2.0 + App | OAuth 2.0 + App | API key | None |
| Rate limits | 60 req/min (Starter) | 100 req/15min | 300 req/15min | Actor limits | Aggressive throttling |
| Other platforms | 9+ sources | Twitter only | Twitter only | 1,800+ actors | Twitter only |
Twitter's official API at the Basic tier ($100/month) gives you 10,000 tweet reads per month. At the same budget, Anysite's Starter plan gives you 15,000 credits — enough for 15,000 profile lookups or 300,000 tweets via search pages. The economics are fundamentally different.
Twitter's Pro tier at $5,000/month makes sense for companies that need the full firehose. For targeted monitoring, search, and profile analysis, Anysite provides the same data at 1–2% of the cost.
Pricing
| Endpoint | Cost | Page Size |
|---|---|---|
| User profile | 1 credit | Single result |
| User posts | 1 credit/page | 20 tweets |
| User followers | 1 credit/page | Per page |
| Search posts | 1 credit/page | 20 tweets |
| Search users | 1 credit/page | 20 users |
Cost Examples by Use Case
| Use Case | Monthly Volume | Credits | Recommended Plan |
|---|---|---|---|
| Monitor 1 brand (daily search) | ~30 search pages | ~30 | Starter ($49/mo) |
| Track 20 competitors (weekly) | 80 profiles + 80 post pages | ~160 | Starter ($49/mo) |
| Audience research (1,000 profiles) | 1,000 profiles + 1,000 tweet pages | ~2,000 | Starter ($49/mo) |
| Full social listening pipeline | search + competitors + influencers | ~3,000 | Starter ($49/mo) |
Comparison with Twitter's Official API
| Capability | Twitter Basic ($100/mo) | Anysite Starter ($49/mo) |
|---|---|---|
| Tweet reads | 10,000/mo | 300,000+ (via search pages) |
| Profile lookups | Included | 15,000 |
| Search | Limited | Full with date range + engagement filters |
| Other platforms | None | LinkedIn, Instagram, Reddit, YouTube, + more |
Frequently Asked Questions
since and until parameters in YYYY-MM-DD format. Combine with keyword queries and engagement minimums for targeted results.min_likes and min_retweets parameters to filter for tweets that reached a minimum engagement threshold.Related Endpoints
Start Extracting Twitter Data
7-day free trial with 1,000 credits. Full search with date range filters, no Twitter developer account required.