Irmu
Social

X API

Public posts, profiles and conversation threads.

Start freePOST https://app.irmu.com/api/extract22 credits
Why

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.

Use cases

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.

Data

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

Request

One call, no selectors

request.sh
curl -X POST https://app.irmu.com/api/extract \
  -H "Authorization: Bearer irmu_sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://x.com/search?q=web%20scraping",
    "schema": {
      "handle": "string",
      "display_name": "string",
      "followers": "string",
      "posts": "string",
      "replies": "string",
      "likes": "string"
    }
  }'
Response

Validated JSON

response.json
{
  "data": {
    "handle": "@devopsdan",
    "posts": [
      {
        "text": "Finally ditched our proxy layer",
        "likes": 412
      }
    ]
  },
  "credits_used": 22,
  "status": 200
}
SDKs

Copy, paste, ship

import requests

res = requests.post(
    "https://app.irmu.com/api/extract",
    headers={"Authorization": "Bearer irmu_sk_live_..."},
    json={
        "url": "https://x.com/search?q=web%20scraping",
        "schema": {
            "handle": "string",
            "display_name": "string",
            "followers": "string",
            "posts": "string"
        },
    },
)

data = res.json()["data"]
print(data)
Pricing

Simple credits

Per post set page

22 credits

Failed requests are retried automatically and never billed.

See full pricing →
FAQ

X API questions

Start extracting X (Twitter) data today

1,000 free credits every month. No card, no sales call.