Skip to content
Eden Engine

X (Twitter) List Follower Lookup (by List ID, Paginated)

omnial/twitter-web-fetch-list-followers

Given an X (Twitter) `list_id`, returns one page of that list's public followers: each follower's handle, display name, bio, verification/business-affiliate status, self-published location and website, and their own post/follower/friend/media counts. Pass the `next_cursor` from a prior call back in as `cursor` to fetch the next page. A list ID that does not resolve to a real list returns an empty result rather than an error.

activeper callv1
Provider
Web & Business Data Network
Category
twitter
Provider price
$0.0020475 per call
Latency p50 / p95
— / —
Success rate
—
Verified
—

Provider list price; Omnial MCP charges provider cost plus a platform markup on top.

Contract

input_schema.json
{
  "type": "object",
  "required": [
    "list_id"
  ],
  "properties": {
    "cursor": {
      "type": "string",
      "description": "Cursor"
    },
    "list_id": {
      "type": "string",
      "examples": [
        "84839422"
      ],
      "description": "List ID"
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "'ok' on the one real call observed."
    },
    "followers": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "user_id",
          "screen_name",
          "name",
          "created_at",
          "followers_count"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The follower's public display name."
          },
          "user_id": {
            "type": "string",
            "description": "The follower's numeric X user ID."
          },
          "website": {
            "type": [
              "string",
              "null"
            ],
            "description": "The follower's self-published external link, when set (real values observed on this list include a personal site and a business homepage); `null` when unset."
          },
          "location": {
            "type": "string",
            "description": "Free-text profile location the follower chose to publish; ranges from a real place ('Georgia, USA') to unrelated text or an empty string when unset. Not a verified home address."
          },
          "verified": {
            "type": "boolean",
            "description": "Legacy verification badge; observed `false` on every follower captured."
          },
          "created_at": {
            "type": "string",
            "description": "The follower account's creation date, e.g. 'Thu Mar 31 21:43:43 +0000 2011'."
          },
          "description": {
            "type": "string",
            "description": "The follower's own public bio text; empty string when unset."
          },
          "media_count": {
            "type": "number",
            "description": "The follower's own media post count."
          },
          "screen_name": {
            "type": "string",
            "description": "The follower's public @handle (without the @)."
          },
          "blue_verified": {
            "type": "boolean"
          },
          "friends_count": {
            "type": "number",
            "description": "The follower's own following (friends) count."
          },
          "profile_image": {
            "type": [
              "string",
              "null"
            ],
            "description": "The follower's profile picture. Observed `null` on every one of the 20 followers captured on the one real list calibrated -- unconfirmed whether a populated URL is ever returned by this endpoint at all."
          },
          "statuses_count": {
            "type": "number",
            "description": "The follower's own post count."
          },
          "followers_count": {
            "type": "number",
            "description": "The follower's own follower count (ranged 0 to over 10,000 on this list)."
          },
          "business_account": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "Observed `null` on every follower captured on the one real list calibrated."
          }
        },
        "additionalProperties": true
      },
      "description": "This page's followers, as observed on the one real list calibrated."
    },
    "more_users": {
      "type": "boolean",
      "description": "Whether a further page exists past `next_cursor`."
    },
    "next_cursor": {
      "type": "string",
      "description": "Pass back in as `cursor` to fetch the next page."
    }
  },
  "description": "The follower-list page, as returned at routing.responseResultPath ($.output). A list id that does not resolve to a real list returns an empty object `{}` (confirmed against the `invalid-list-error` fixture, which still billed $0 for that outcome) -- no field here is guaranteed present.",
  "additionalProperties": true
}

Pricing

Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.

Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.

ChargeRate
Per call
Flat, regardless of what comes back
$0.0020475
Cost basis
Not recorded

This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.

Updated
Sep 23, 2026