TwitterScore.io / API docs

Leaderboard of accounts most mentioned by smart accounts over the last 1, 7 or 30 days (Smart Mentions page).

GET https://twitterscore.io/api/v1/get_smart_mentions

Returns the Smart Mentions ranking: up to 1,000 accounts ordered by how many times they were mentioned by TwitterScore-tracked authors in the selected window (days = 1, 7 or 30), paginated up to 100 per page. No target account is needed. Each row gives the account's profile, its Twitter Score and follower count with their change over the period (*_diff_int plus a human-readable *_diff_str with space-grouped thousands), all-time mention totals (mentions_total, unique_mentioners_total), the period's mentions and unique mentioners (mentions_diff_int, unique_mentioners_diff_int), the single highest-scored mentioner (top_mentioner) and up to six top mentioners (mentioners_list), plus the account's categories. category_id filters the board to one account category (0 = all, -1 = accounts with no category). by changes the ranking column: mentions (period mentions, default), mentioners (ALL-TIME unique mentioners), score, followers; ties are broken by all-time mentions descending. Only non-suspended accounts with at least one period mention and at least 2/3/4 distinct mentioning authors (for 1/7/30 days) are listed. Data comes from a pre-aggregated cache refreshed by cron; the extra days and category_name fields echo the applied filters. Nested fields

Parameters

Parameter Type Required Default Description
days integer (1, 7, 30) no 7 Lookback window in days: 1, 7 or 30. Non-numeric falls back to 7; any other number returns success=false with message "Days params is only available: 1|7|30".
category_id integer no 0 Account category filter: 0 = all accounts, -1 = accounts without a category, otherwise a category id from get_categories. Unknown id returns success=false with message "Category with id=N not found". Non-numeric falls back to 0.
by string (score, followers, mentions, mentioners) no mentions Ranking column: mentions = mentions received in the window, mentioners = all-time unique mentioners, score = Twitter Score, followers = follower count. Any other value returns success=false with message "Sorting is only possible by [score|followers|mentions|mentioners]".
sort string (asc, desc, ascending, descending) no desc asc/ascending (case-insensitive) for ascending; anything else descending.
page integer no 1 1-based page number. Non-numeric, 0 or negative falls back to 1; a page past the last returns an empty list.
size integer no 10 Rows per page. Clamped to 100; 0 or negative becomes 1; non-numeric falls back to 10.

Example request

curl -s "https://twitterscore.io/api/v1/get_smart_mentions?days=7" \
  -H "X-API-Key: $TWITTERSCORE_API_KEY" \
  -H "User-Agent: my-app/1.0 ([email protected])"
import os, requests

r = requests.get(
    "https://twitterscore.io/api/v1/get_smart_mentions",
    params={"days": 7},
    headers={"X-API-Key": os.environ["TWITTERSCORE_API_KEY"],
             "User-Agent": "my-app/1.0 ([email protected])"},
    timeout=15,
)
data = r.json()
if not data.get("success", True):      # errors arrive as success=false (see /developers/errors/)
    raise RuntimeError(data["message"])
print(data)
const r = await fetch("https://twitterscore.io/api/v1/get_smart_mentions?days=7", {
  headers: { "X-API-Key": process.env.TWITTERSCORE_API_KEY,
             "User-Agent": "my-app/1.0 ([email protected])" },
});
const data = await r.json();
if (data.success === false) throw new Error(data.message);
console.log(data);

Example response

{
  "success": true,
  "total": 1000,
  "page": 1,
  "size": 1,
  "pages": 1000,
  "days": 7,
  "category_name": "all",
  "data": [
    {
      "twitter_id": "295218901",
      "username": "VitalikButerin",
      "name": "vitalik.eth",
      "profile_url": "/twitter/VitalikButerin",
      "profile_image": "https://twitterscore.io/media/profiles/VitalikButerin.jpg",
      "blue_verified": true,
      "description": "mi pinxe lo crino tcati",
      "twitter_score": 1000,
      "twitter_score_diff_int": 0,
      "twitter_score_diff_str": "0",
      "current_followers": 5812345,
      "followers_diff_int": 1532,
      "followers_diff_str": "1 532",
      "mentions_total": 184233,
      "mentions_diff_int": 2417,
      "mentions_diff_str": "2 417",
      "unique_mentioners_total": 41208,
      "unique_mentioners_diff_int": 1136,
      "unique_mentioners_diff_str": "1 136",
      "top_mentioner": {
        "name": "Ethereum",
        "username": "ethereum",
        "image": "https://twitterscore.io/media/profiles/ethereum.jpg",
        "score": 912,
        "verified": true
      },
      "mentioners_list": [
        {
          "name": "Ethereum",
          "username": "ethereum",
          "image": "https://twitterscore.io/media/profiles/ethereum.jpg",
          "score": 912,
          "verified": true
        },
        {
          "name": "Coinbase",
          "username": "coinbase",
          "image": "https://twitterscore.io/media/profiles/coinbase.jpg",
          "score": 871,
          "verified": true
        }
      ],
      "categories": [
        {
          "id": 3,
          "name": "Influencers"
        }
      ]
    }
  ]
}

Errors

Error codes this endpoint can return (see Errors for the body format): api_key_missing, api_key_invalid, api_access_deactivated, api_key_revoked, method_not_allowed, rate_limited, quota_exceeded, server_error.


Authentication: X-API-Key header (or Authorization: Bearer), see Authentication. Limits: per-minute rate and monthly quota by plan, see Rate limits. Machine-readable definition: /openapi.json.

This page as Markdown.