Partner API
The Market Stalker API provides detailed insights into Telegram activity and KOL shares across X and Telegram channels.
The API is not public. To request access, please contact Market Stalker directly with your intended use case.
Each approved partner receives an API key and limited quota for selected endpoints.
Get Telegram User Profile
Purpose: Returns detailed user data including historic display/usernames, recent activity, and group roles.
Request:
GET /admin-roles?query=<user_id|@username>
Header: x-api-key: YOUR_PARTNER_KEYExample:
curl -H "x-api-key: YOUR_PARTNER_KEY"
".../user-report?query=DataWizz"Response:
{
"user_id": 6137747116,
"display_name": "DataWizz 🧙 (Market Stalker)",
"username": "DataWizz",
"first_seen": "2025-09-13T22:40:31+00:00",
"last_seen": "2025-11-04T06:41:29+00:00",
"history": {
"previous_display_names_count": 2,
"previous_display_names": [
"DataWizz 🧙",
"DataWizz (Channel in bio)"
],
"previous_usernames_count": 0,
"previous_usernames": []
},
"groups_summary": {
"total_groups": 5,
"active_in_last_7_days": 5,
"admin_in_group_count": 1
},
"groups": [
{
"group_id": -1002282510595,
"name": "The Market Stalker Community",
"first_seen_in_group": "2025-09-13T22:40:31+00:00",
"last_seen_in_group": "2025-11-04T06:41:29+00:00",
"members_count": 2285,
"token": {
"address": "0x522Ec96bCed6dc26325120EdF3931d34E417a620",
"chain": "ethereum",
"symbol": "STLKR"
},
"telegram": {
"link": "https://t.me/themarketstalker",
"link_type": "portal"
},
"admin": {
"is_admin": true,
"is_owner": true,
"role": "owner",
"admin_tag": "Owner",
"rights": {
"change_info": true,
"ban_users": true,
"delete_messages": true,
"pin_messages": true,
"add_admins": true
}
}
},
{
"group_id": -1003178265398,
"name": "White Monkey",
"first_seen_in_group": "2025-10-30T23:20:55+00:00",
"last_seen_in_group": "2025-10-30T23:20:55+00:00",
"members_count": 1977,
"token": null,
"telegram": {
"link": "https://t.me/whitemonkeyportal",
"link_type": "portal"
},
"admin": {
"is_admin": false,
"is_owner": false,
"role": null,
"admin_tag": null,
"rights": null
}
},
{
"group_id": -1002812191154,
"name": "Marie Rose - SPX Mascot 💹🧲🌹",
"first_seen_in_group": "2025-10-29T22:52:13+00:00",
"last_seen_in_group": "2025-10-29T22:52:13+00:00",
"members_count": 1591,
"token": {
"address": "0xcaa1E525ACb44aeC4e0D17a0e2467AA3Ea7EE3A6",
"chain": "ethereum",
"symbol": "MARIE"
},
"telegram": {
"link": "https://t.me/marieroseethereum",
"link_type": "portal"
},
"admin": {
"is_admin": false,
"is_owner": false,
"role": null,
"admin_tag": null,
"rights": null
}
},
{
"group_id": -1003072270133,
"name": "FRENLY COMMUNITY",
"first_seen_in_group": "2025-10-28T08:45:06+00:00",
"last_seen_in_group": "2025-10-28T08:45:06+00:00",
"members_count": 1335,
"token": {
"address": "0x26EcB65d997CBFf18FCa447cB85f6aF1175a22B0",
"chain": "base",
"symbol": "FRENLY"
},
"telegram": {
"link": "https://t.me/frenly_portal",
"link_type": "portal"
},
"admin": {
"is_admin": false,
"is_owner": false,
"role": null,
"admin_tag": null,
"rights": null
}
},
{
"group_id": -1002947732445,
"name": "Rhino - Official Ethereum Macot",
"first_seen_in_group": "2025-10-24T22:36:59+00:00",
"last_seen_in_group": "2025-10-24T22:36:59+00:00",
"members_count": 678,
"token": null,
"telegram": {
"link": "https://t.me/rhinoeth",
"link_type": "portal"
},
"admin": {
"is_admin": false,
"is_owner": false,
"role": null,
"admin_tag": null,
"rights": null
}
}
],
"admin_groups": [
{
"group_id": -1002282510595,
"name": "The Market Stalker Community",
"last_seen_in_group": "2025-11-04T06:41:29+00:00",
"members_count": 2285,
"telegram": {
"link": "https://t.me/themarketstalker",
"link_type": "portal"
},
"role": "owner",
"admin_tag": "Owner",
"rights": {
"change_info": true,
"ban_users": true,
"delete_messages": true,
"pin_messages": true,
"add_admins": true
}
}
]
}
Get Groups & Roles (Queried User Has Admin Rights)
Purpose: Returns only the groups where the user has admin privileges, with a normalized role (owner, super_admin, mod), optional admin_tag, and a best join link.
Request:
GET /admin-roles?query=<user_id|@username>
Header: x-api-key: YOUR_PARTNER_KEYExample:
curl -H "x-api-key: YOUR_PARTNER_KEY"
".../admin-roles?query=Cryptodevbsctg"Response:
{
"status": "ok",
"meta": {
"query": "Cryptodevbsctg"
},
"user": {
"id": 6171169457,
"username": "Cryptodevbsctg",
"display_name": "⚡Synergy⚡ OG",
"username_history": [],
"display_name_history": [
"⚡ Synergy⚡ OG",
"⚡Synergy⚡ OG",
"Synergy ⚡💹🧲🟦⚡ OG",
"Synergy 💹🧲🟦 OG"
]
},
"admin_summary": {
"owner": 6,
"super_admin": 3,
"mod": 4
},
"groups_with_admin": [
{
"id": -1003195316992,
"name": "$CORGI CULT",
"role": "owner",
"admin_tag": "OG",
"link_type": "public",
"join_url": "https://t.me/corgiog"
},
{
"id": -1002914932974,
"name": "Holder Guard",
"role": "owner",
"admin_tag": "—",
"link_type": "public",
"join_url": "https://t.me/holderguardtg"
},
{
"id": -1003001951506,
"name": "Mandela effect",
"role": "owner",
"admin_tag": "Admin",
"link_type": "public",
"join_url": "https://t.me/mandelaeffecttg"
},
{
"id": -1002993540678,
"name": "PumpBase Lounge",
"role": "owner",
"admin_tag": "Dev PumpBase",
"link_type": "public",
"join_url": "https://t.me/pumpbaseshillgroup"
},
{
"id": -1003255276513,
"name": "Pumpit",
"role": "owner",
"admin_tag": "Pumpit",
"link_type": "private",
"join_url": "https://t.me/+PL4QgMPDIcE3NjI5"
},
{
"id": -1003000895346,
"name": "⚡PumpBase⚡",
"role": "owner",
"admin_tag": "Base maxi",
"link_type": "public",
"join_url": "https://t.me/pumpbasepad"
},
{
"id": -1003112342557,
"name": "Group -1003112342557",
"role": "super_admin",
"admin_tag": "—",
"link_type": "—",
"join_url": "—"
},
{
"id": -1001733141232,
"name": "Playbunny",
"role": "super_admin",
"admin_tag": "—",
"link_type": "public",
"join_url": "https://t.me/playbunnycoin"
},
{
"id": -1002994396194,
"name": "Shield | Base",
"role": "super_admin",
"admin_tag": "Support",
"link_type": "public",
"join_url": "https://t.me/shieldcoinbase"
},
{
"id": -1002737779964,
"name": "$Kandy On Base",
"role": "mod",
"admin_tag": "—",
"link_type": "portal",
"join_url": "https://t.me/kandyonchain"
},
{
"id": -1003185428621,
"name": "$PUMPBULL",
"role": "mod",
"admin_tag": "Chad",
"link_type": "portal",
"join_url": "https://t.me/pumpbulll"
},
{
"id": -1002444269034,
"name": "Ape Alliance | Alpha Lounge",
"role": "mod",
"admin_tag": "OG SYNERGY",
"link_type": "private",
"join_url": "https://t.me/+Rm_PtVxosmdiYmNh"
},
{
"id": -1002489355941,
"name": "Yellow Pill CTO 🟨💊",
"role": "mod",
"admin_tag": "Support",
"link_type": "portal",
"join_url": "https://t.me/yellowpill_cto"
}
]
}Role Logic
owner→ user is group owner.super_admin→ admin withadmin_rights.add_admins = true.mod→ admin (or has rights) but withoutadd_admins.
Link Preference
portal→public→invite. If none, returns—withjoin_url: "—".
Get Group Members, Including Recent Activity + Admin List
Purpose: Return a group’s member list, recent activity windows (today / last 7 days), and a concise admin list.
Search by token address or by a group username (we match against both portal_username and group_public_username).
If multiple groups match, we pick the one with the most recent last_logged_at.
Request:
GET /group-members?token_address=<ca> | /group-members?group_username=<portal_or_public_username>
Header: x-api-key: YOUR_PARTNER_KEYExample:
# by group username (matches portal_username or group_public_username)
curl -H "x-api-key: YOUR_PARTNER_KEY" \
".../group-members?group_username=themarketstalker"
# by token address
curl -H "x-api-key: YOUR_PARTNER_KEY" \
".../group-members?token_address=0x522Ec96bCed6dc26325120EdF3931d34E417a620"
Response:
{
"status": "ok",
"meta": {
"match_by": "token_address",
"value": "0x522Ec96bCed6dc26325120EdF3931d34E417a620"
},
"group": {
"group_id": -1002282510595,
"group_name": "The Market Stalker Community",
"portal_username": "themarketstalker",
"group_public_username": null,
"members_count": 2285
},
"overview": {
"total_members_seen": 2285
},
"today": {
"active": 23,
"joined": 2
},
"last_7_days": {
"active": 95,
"joined": 35
},
"members": [
{ "user_id": 7202168682, "display_name": "BlindSilentNinja", "first_seen": "2025-09-13T22:46:51+00:00", "last_seen": "2025-11-04T10:19:00+00:00", "admin": true, "admin_tag": "Owner" },
{ "user_id": 6137747116, "display_name": "DataWizz 🧙 (Market Stalker)", "first_seen": "2025-09-13T22:40:31+00:00", "last_seen": "2025-11-04T06:41:29+00:00", "admin": true, "admin_tag": "Owner" },
{ "user_id": 2103605856, "display_name": "Syncieman.eth🐺", "first_seen": "2025-09-13T22:49:22+00:00", "last_seen": "2025-11-04T11:01:20+00:00", "admin": true, "admin_tag": "Mod" },
{ "user_id": 6068830149, "display_name": "Bill Kenn", "first_seen": "2025-09-13T23:36:50+00:00", "last_seen": "2025-11-03T20:37:31+00:00", "admin": true, "admin_tag": "Bill" },
{ "user_id": 567713533, "display_name": "𝘿𝙍𝗖𝗥𝗬𝗣𝗧𝗢🅳🅰️🆆🅶 $xᴀʟᴘʜᴀ | ᴄᴏᴛ ᴇʟɪᴛᴇ 🏠", "first_seen": "2025-09-14T07:32:22+00:00", "last_seen": "2025-11-02T13:17:20+00:00", "admin": true, "admin_tag": "DrCrypto" },
{ "user_id": 1361785012, "display_name": "Risk", "first_seen": "2025-09-14T07:35:43+00:00", "last_seen": "2025-10-31T17:26:48+00:00", "admin": true, "admin_tag": "Risk" },
{ "user_id": 6016060428, "display_name": "CubeETH", "first_seen": "2025-09-14T09:07:27+00:00", "last_seen": "2025-10-31T17:26:48+00:00", "admin": true, "admin_tag": "Cube" },
{ "user_id": 563515153, "display_name": "V - American Pepe $APE", "first_seen": "2025-09-15T04:39:19+00:00", "last_seen": "2025-10-31T17:26:48+00:00", "admin": true, "admin_tag": "V-Guy" },
{ "user_id": 6387792471, "display_name": "🎩 𝐌𝐫.🆆🅷🅰️🅻🅴 🐳", "first_seen": "2025-09-15T04:39:19+00:00", "last_seen": "2025-10-31T17:26:48+00:00", "admin": true, "admin_tag": "Whale" },
{ "user_id": 7031045125, "display_name": "GOAT", "first_seen": "2025-09-15T11:43:55+00:00", "last_seen": "2025-11-04T11:23:31+00:00", "admin": false, "admin_tag": null },
{ "user_id": 6724355432, "display_name": "ΞTM", "first_seen": "2025-09-14T04:41:45+00:00", "last_seen": "2025-11-04T10:55:47+00:00", "admin": false, "admin_tag": null },
{ "user_id": 1540594318, "display_name": "The Fox | SES | XDC | MMKK | (Ronin Arc)", "first_seen": "2025-09-15T11:43:55+00:00", "last_seen": "2025-11-04T10:53:50+00:00", "admin": false, "admin_tag": null }
]
}
Behavior & Notes
Query params: provide exactly one of
token_addressorgroup_username.group_usernamechecks bothportal_usernameandgroup_public_username.
Multi-match resolution: if multiple group docs match, we return the one with the latest
last_logged_at(most up-to-date snapshot).Activity windows:
Today = last 24 hours (UTC).
Last 7 days = rolling 7 days (UTC).
Sorting:
membersare sorted by most recentlast_seen(fallback tofirst_seen).Admin fields: When a member is an admin, we include
admin: trueandadmin_tag(if available).
Get Most Recent Groups Queried User Has Been Active In
Purpose: Return the most recent groups a user has been seen in (sorted by last_seen_in_group desc) and includes token details when available.
Request:
GET /recent-groups?query=<user_id|@username>&limit=<n>
Header: x-api-key: YOUR_PARTNER_KEYQuery Params
query(required): Telegramuser_idor@username.limit(optional, default 5, max 25): Number of groups to return.
Examples:
cURL (by @username)
curl -H "x-api-key: YOUR_PARTNER_KEY" \
".../recent-groups?query=@DataWizz&limit=5"cURL (by user_id)
curl -H "x-api-key: YOUR_PARTNER_KEY" \
".../recent-groups?query=6137747116&limit=5"
Response:
{
"status": "ok",
"meta": {
"query": "DataWizz",
"limit": 5
},
"user": {
"id": 6137747116,
"username": "DataWizz",
"display_name": "DataWizz 🧙 (Market Stalker)"
},
"results": [
{
"group_id": -1002282510595,
"group_name": "The Market Stalker Community",
"last_seen_in_group": "2025-11-04T06:41:29+00:00",
"telegram": {
"link": "https://t.me/themarketstalker",
"link_type": "portal"
},
"token": {
"address": "0x522Ec96bCed6dc26325120EdF3931d34E417a620",
"chain": "ethereum",
"symbol": "STLKR"
}
},
{
"group_id": -1003178265398,
"group_name": "White Monkey",
"last_seen_in_group": "2025-10-30T23:20:55+00:00",
"telegram": {
"link": "https://t.me/whitemonkeyportal",
"link_type": "portal"
},
"token": null
},
{
"group_id": -1002812191154,
"group_name": "Marie Rose - SPX Mascot 💹🧲🌹",
"last_seen_in_group": "2025-10-29T22:52:13+00:00",
"telegram": {
"link": "https://t.me/marieroseethereum",
"link_type": "portal"
},
"token": {
"address": "0xcaa1E525ACb44aeC4e0D17a0e2467AA3Ea7EE3A6",
"chain": "ethereum",
"symbol": "MARIE"
}
},
{
"group_id": -1003072270133,
"group_name": "FRENLY COMMUNITY",
"last_seen_in_group": "2025-10-28T08:45:06+00:00",
"telegram": {
"link": "https://t.me/frenly_portal",
"link_type": "portal"
},
"token": {
"address": "0x26EcB65d997CBFf18FCa447cB85f6aF1175a22B0",
"chain": "base",
"symbol": "FRENLY"
}
},
{
"group_id": -1002947732445,
"group_name": "Rhino - Official Ethereum Macot",
"last_seen_in_group": "2025-10-24T22:36:59+00:00",
"telegram": {
"link": "https://t.me/rhinoeth",
"link_type": "portal"
},
"token": null
}
]
}
Sorted by
last_seen_in_group(desc). If missing, falls back tofirst_seen_in_group.tokenblock is only returned if data stored includes token metadata (token_address,token_chain,token_symbol).
Get Telegram Group by CA
Purpose: Resolve a token contract address to its Telegram group(s). Useful for new launches that haven’t updated listing sites yet. If multiple groups match the same CA, results are sorted by the most recently updated group document (last_logged_at desc).
Request:
GET /group-by-ca?token_address=<ca>&limit=<n>
Header: x-api-key: YOUR_PARTNER_KEYExample:
curl -H "x-api-key: YOUR_PARTNER_KEY" \
".../group-by-ca?token_address=GFcSfsnVE1jnS6NmSMoYqXWJ1ZgPug9379byxYpump&limit=3"Response:
{
"status": "ok",
"meta": {
"token_address": "GFcSfsnVE1jnS6NmSMoYqXWJ1ZgPug9379byxYpump",
"limit": 3
},
"results": [
{
"group_id": -1003275229931,
"group_name": "THE 3 CULT CTO",
"members_count": 113,
"last_logged_at": "2025-11-04T11:56:21+00:00",
"telegram": {
"link": "https://t.me/the_3_cult_takeover",
"link_type": "public"
},
"token": {
"address": "GFcSfsnVE1jnS6NmSMoYqXWJ1ZgPug9379byxYpump",
"chain": "solana",
"symbol": "3",
"name": "Three"
}
},
{
"group_id": -1003145003968,
"group_name": "THE 3 CULT",
"members_count": 1436,
"last_logged_at": "2025-10-30T11:23:00+00:00",
"telegram": {
"link": "https://t.me/entryportal_3",
"link_type": "portal"
},
"token": {
"address": "GFcSfsnVE1jnS6NmSMoYqXWJ1ZgPug9379byxYpump",
"chain": "solana",
"symbol": "3",
"name": "Three"
}
}
]
}
Multi-match resolution: Results are sorted by
last_logged_at(most recent first). This ensures the most active or recently updated group appears first.Link resolution order:
portal_username→group_public_username→invite_link. If none are found,link_typewill be"—".Token block: Includes
address,chain,symbol, andnameto simplify integration with on-chain data tools.
KOLS by CA
Purpose: Return all Telegram and X (Twitter) KOLs (Key Opinion Leaders) who mentioned or called a specific token contract.
Each platform includes the timestamp, market cap, price at post, and source link. This endpoint is designed for influencer analysis, narrative tracking, and first-call detection.
Request:
GET /kols-by-ca?token_address=<ca>
Header: x-api-key: YOUR_PARTNER_KEYExample:
curl -H "x-api-key: YOUR_PARTNER_KEY" \
".../kols-by-ca?token_address=8fdBKZq7wo9fJbsZEZhq6omCgvKzLt97HY9XaGgqpump"
Response:
{
"status": "ok",
"meta": {
"token_address": "8fdBKZq7wo9fJbsZEZhq6omCgvKzLt97HY9XaGgqpump",
"chain": "sol"
},
"token": {
"name": "Neo 1x Companion",
"symbol": "NEO"
},
"telegram_kols": [
{
"account": "ranma_calls_solana",
"post_url": "https://t.me/Ranma_Calls_Solana/47879",
"post_timestamp": "2025-10-28T12:08:13Z",
"post_mc": 72937,
"post_price": 0.0000729
},
{
"account": "shitcoingemsalert",
"post_url": "https://t.me/shitcoingemsalert/110433",
"post_timestamp": "2025-10-28T12:08:34Z",
"post_mc": 77467,
"post_price": 0.0000774
},
{
"account": "sultanplays",
"post_url": "https://t.me/SultanPlays/49102",
"post_timestamp": "2025-10-28T12:49:06Z",
"post_mc": 481889,
"post_price": 0.0004819
},
{
"account": "mreduplays",
"post_url": "https://t.me/MrEduPlays/4268",
"post_timestamp": "2025-10-28T13:09:58Z",
"post_mc": 604311,
"post_price": 0.0006043
},
{
"account": "wizzytrades",
"post_url": "https://t.me/WizzyTrades/18662",
"post_timestamp": "2025-10-28T13:28:08Z",
"post_mc": 1112042,
"post_price": 0.001112
},
{
"account": "maybachcalls",
"post_url": "https://t.me/MaybachCalls/11355",
"post_timestamp": "2025-10-28T15:59:22Z",
"post_mc": 3114912,
"post_price": 0.003115
}
],
"x_kols": [
{
"account": "owarieth",
"post_type": "tweet",
"method": "cashtag",
"post_url": "https://x.com/OwariETH/status/1983340550209319048",
"post_mc": 1363448,
"post_price": 0.001363,
"post_timestamp": "2025-10-28T12:10:10Z"
},
{
"account": "pastelalpha",
"post_type": "tweet",
"method": "cashtag",
"post_url": "https://x.com/PastelAlpha/status/1983394635914637489",
"post_mc": 3990620,
"post_price": 0.00399,
"post_timestamp": "2025-10-28T13:58:25Z"
},
{
"account": "mariuscrypt0",
"post_type": "quote",
"method": "cashtag",
"post_url": "https://x.com/MariusCrypt0/status/1983457468198846914",
"post_mc": 2913715,
"post_price": 0.002913,
"post_timestamp": "2025-10-28T15:41:25Z"
},
{
"account": "evee0x",
"post_type": "quote",
"method": "cashtag",
"post_url": "https://x.com/evee0x/status/1983502049573536250",
"post_mc": 4182195,
"post_price": 0.004182,
"post_timestamp": "2025-10-28T16:11:54Z"
},
{
"account": "traderpaw",
"post_type": "tweet",
"method": "cashtag",
"post_url": "https://x.com/traderpaw/status/1984386148450648446",
"post_mc": 4223974,
"post_price": 0.004224,
"post_timestamp": "2025-10-29T08:45:00Z"
}
]
}
Field Reference & Notes
Shared Fields (Telegram & X)
account
string
The username or channel handle (Telegram or X).
post_url
string
Direct link to the post or Telegram message.
post_timestamp
string
When the KOL mentioned or posted about the token (ISO8601 UTC).
post_mc
number
Market cap at the time of the post (USD).
post_price
number
Token price at that same time (USD).
X-Specific Fields
post_type
string
Indicates if the post was an original tweet, retweet, quote, or reply.
method
string
How the token was referenced — e.g., cashtag ($NEO), ticker, or direct CA mention.
Ordering
Entries are sorted chronologically (earliest → latest) so you can visualize narrative momentum.
For first-mention analysis, look at the earliest
post_timestampacross both platforms.
Use Cases
Identify who called the token first on either platform.
Track cross-platform hype correlation (e.g., Telegram calls preceding X posts).
Detect organic narrative spreads vs. coordinated call activity.
Custom endpoints are available upon request and data avaliablity. Pricing varies by requirements. Contact @DataWizz on Telegram to enquire further.
Last updated
