X API
Public posts, profiles and conversation threads.
Why teams scrape X (Twitter)
X (Twitter) holds some of the most commercially useful public data on the web, and almost none of it is available through a stable official feed at the volume real products need. Rate limits, partner-only access and shifting page structures mean teams either give up on the source or maintain a fragile scraper that breaks every few weeks.
Official API pricing changed the economics of social listening overnight. Teams that need conversation data for research and monitoring need another route to the same public posts.
Irmu removes the infrastructure question entirely. One authenticated request handles proxy selection, browser rendering, anti-bot challenges and retries, and AI Extract turns the resulting page into validated JSON against a schema you define. You get handle, display_name, followers, posts, replies, likes, reposts without writing or maintaining a single selector, and the same endpoint, quota and observability model you already use for every other source.
What it powers
Social listening
Track brand and category conversation in real time.
Crisis detection
Alert on negative sentiment spikes.
Research datasets
Collect public discourse for academic and model work.
Competitor announcements
Archive launches and outage notices.
Fields available
Everything below comes back typed and validated against your schema.
handle
Account handle
display_name
Profile name
followers
Follower count
posts
Post text, timestamp and metrics
replies
Thread replies
likes
Like count
reposts
Repost count
One call, no selectors
curl -G https://app.irmu.com/api/crawl \
-H "Authorization: Bearer $IRMU_API_KEY" \
--data-urlencode "url=https://x.com/search?q=web%20scraping" \
--data-urlencode "premium=true" \
--data-urlencode "ai_query=Extract handle, display_name, followers, posts, replies, likes as JSON"Validated JSON
{
"url": "https://x.com/search?q=web%20scraping",
"domain": "x.com",
"premium": true,
"js": true,
"ai_query": "Extract handle, display_name, followers, posts, replies, likes as JSON",
"credits_charged": 22,
"status": "completed",
"data": {
"handle": "@devopsdan",
"posts": [
{
"text": "Finally ditched our proxy layer",
"likes": 412
}
]
},
"error": null
}Copy, paste, ship
import os, requests
res = requests.get(
"https://app.irmu.com/api/crawl",
params={
"url": "https://x.com/search?q=web%20scraping",
"premium": "true",
"ai_query": "Extract handle, display_name, followers, posts as JSON",
},
headers={"Authorization": f"Bearer {os.environ['IRMU_API_KEY']}"},
)
print(res.json()["data"])Simple credits
Per post set page
22 credits
Requests we fail to serve for internal reasons, or to domains we do not cover, are not billed.
See full pricing →X API questions
Start extracting X (Twitter) data today
200 free credits every month. No card, no sales call.