ConvertFleet

MCP docsTools › Twitter / X Scraper

Twitter / X Scraper

twitter_scrape slow · returns a job Social platforms

Scrape X/Twitter by search query, username, or tweet URLs. Returns tweets with engagement.

When to use. Pulling tweets for a topic (mode=search), a person's timeline (mode=profile) or specific tweet URLs (mode=url), with engagement numbers.
Not for. Follower lists, or DMs. Private/protected accounts return nothing.

Parameters

NameTypeRequiredDefaultDescription
mode string no "search" What to scrape. One of: search, profile, url.
queries string[] no Run several searches in one call. Use instead of `query` for multiple angles on a topic. Capped by plan: Starter 2, Pro 10, Gold 25 — extra queries are dropped, not rejected.
usernames string[] no Usernames without '@' (mode=profile).
urls string[] no Direct tweet URLs (mode=url).
max_tweets integer no 25 Max tweets to return.
include_replies boolean no false Include reply tweets.
include_retweets boolean no true Include retweets.

Returns

One row per tweet.

Each row typically carries: tweet_id url author author_handle text created_at likes retweets replies views is_retweet is_reply

The response body is { status, count, fields, results }. Runs that exceed the inline wait return { status: "running", job_id, tool_flow } instead — see Jobs & errors.

Call it over MCP

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "twitter_scrape",
    "arguments": {
      "mode": "search",
      "queries": [
        "ai agents saas"
      ],
      "max_tweets": 25
    }
  }
}

Call it over the REST API

curl -X POST https://convertfleet.online/api/tool-run \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tool":"twitter","params":{"mode":"search","queries":["ai agents saas"],"max_tweets":25}}'

Both paths run the same job engine, enforce the same plan limits and count against the same monthly quota. See the REST API page.

Related tools

JSON Schema

{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "description": "What to scrape.",
      "enum": [
        "search",
        "profile",
        "url"
      ],
      "default": "search"
    },
    "queries": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Run several searches in one call. Use instead of `query` for multiple angles on a topic. Capped by plan: Starter 2, Pro 10, Gold 25 — extra queries are dropped, not rejected."
    },
    "usernames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Usernames without '@' (mode=profile)."
    },
    "urls": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Direct tweet URLs (mode=url)."
    },
    "max_tweets": {
      "type": "integer",
      "description": "Max tweets to return.",
      "default": 25
    },
    "include_replies": {
      "type": "boolean",
      "description": "Include reply tweets.",
      "default": false
    },
    "include_retweets": {
      "type": "boolean",
      "description": "Include retweets.",
      "default": true
    }
  },
  "additionalProperties": false
}