Social API
What is trending on crypto X (Twitter) now
Tokens and accounts crypto X engages with most over 1h, 6h or 24h, ranked, with engagement and virality scores. A token row: read launchedAtIso.
/api/external/social/social-trendingWhat it returns
The tokens and accounts drawing the most engagement on crypto X (Twitter) over the last hour, 6 hours or 24 hours, ranked, each with its engagement and virality scores and per-window engagement. A token row carries its chain, address, symbol and launch time; an account row its username, followers, bio and creation date. The board moves by the minute. Token rows often lack an address or symbol; a Solana address usually comes only lower-cased (addressLowercased), since its real spelling cannot be recovered. Not scoped to any chain. The board cannot always be read as deep as asked: when it stops short, truncated is true and servedLimit says how deep it was read.
Chains
This endpoint is not tied to a chain: it takes no chain in its request.
Request
Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.
curl -H "x-dex-data-key: $DEXDATA_API_KEY" \ "https://api.dexdata.io/api/external/social/social-trending"
| Parameter | Description |
|---|---|
windowquery · string · optional | The engagement window the board is ranked on: 1h, 6h or 24h. Defaults to 6h.1h6h24h |
kindquery · string · optional | Which rows: tokens, accounts, or all of them. Defaults to all.alltokenaccount |
limitquery · integer · optional | How many rows, 1 to 100. Defaults to 25. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
window | string | The window asked for. |
kind | string | The kind asked for. |
truncated | boolean | true when the board could not be read as deep as limit (a row past servedLimit could not be read), so entries holds fewer rows than asked even if more are trending. false when it was read in full. |
requestedLimit | integer | The limit asked for. |
servedLimit | integer | null | How deep the board was read: equal to requestedLimit unless truncated, then smaller. null when truncated and the depth is not known. |
entries | object[] | Rank order. An empty board is a real answer. |
entries[].rank | integer | null | Its place on the board, from 1. null when not stated. |
entries[].kind | string | null | Whether the row is a token or an account. null when the row says neither. |
entries[].displayName | string | null | The name the row is shown under. null when not stated. |
entries[].engagementScore | number | null | Its engagement over the window: open-ended, higher = more. null when not stated. |
entries[].viralityScore | number | null | How fast that engagement is spreading: open-ended, higher = faster. null when not stated. |
entries[].accountScore | number | null | The influence of the account behind the row, as social-account-score publishes it. null when not scored. |
entries[].engagementLastHour | integer | null | Engagements in the last hour. null when not stated. |
entries[].engagementLast6h | integer | null | Engagements in the last 6 hours. null when not stated. |
entries[].engagementLast24h | integer | null | Engagements in the last 24 hours. null when not stated. |
entries[].account | object | null | The account, on an account row. null on a token row. |
entries[].account.username | string | null | Its username, without "@". null when not stated. |
entries[].account.followers | integer | null | How many accounts follow it. null when not stated. |
entries[].account.bio | string | null | Its bio, possibly shortened. null when not stated. |
entries[].account.createdAt | integer | null | When it was created, unix seconds. null when not known. |
entries[].token | object | null | The token, on a token row. null on an account row. |
entries[].token.chain | string | null | Its chain, e.g. "SOL" or "ETH". null when not stated. |
entries[].token.address | string | null | Its address as it is really spelled. null when not stated or when the spelling cannot be known — usually the case on Solana, where addresses are case-sensitive. |
entries[].token.addressLowercased | string | null | Its address lower-cased. Usable as is on EVM chains; on Solana it identifies the token but is not a valid address. null when not stated. |
entries[].token.symbol | string | null | Its symbol. null when not stated. |
entries[].token.name | string | null | Its name. null when not stated. |
entries[].token.launchedAt | integer | null | When it launched, unix seconds. null when not stated, or when it would be more than 5 minutes ahead of now. |
entries[].token.launchedAtIso | string | null | The same instant as launchedAt, as ISO 8601 UTC, e.g. 2026-10-05T17:03:18Z. null exactly when launchedAt is null. |
entries[].updatedAt | integer | null | When the row was last updated, unix seconds. null when not stated. |
Start building with DexData today
Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.
Get a free API key