Create New Pump.Fun Tweets Monitor - API Reference
Creates a new monitor to receive alerts when any profile posts a link to pump.fun coin page. This monitor will only detect tweets that contain links to pump.fun posted by non-shadow-banned Twitter users that have at least 1000 followers.
Headers
Authorization Bearer header containing your SocialData API key
Example: Bearer YOUR_API_KEY
Body
Monitor-specific webhook URL that will override your global webhook URL. Not required.
If you want to send events to Discord or Telegram, please read the following section
Example: https://my-website.com/webhook
Code Examples
curl -X POST "https://api.socialdata.tools/monitors/search-pump-fun" \ -H 'Authorization: Bearer YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -H 'Accept: application/json'
const API_KEY = 'YOUR_API_KEY_HERE';
fetch('https://api.socialdata.tools/monitors/search-pump-fun', { method: 'POST', headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json', 'Accept': 'application/json' }}).then(response => response.json()).then(response => console.log(response)).catch(err => console.error(err));
import requests
API_KEY = 'YOUR_API_KEY_HERE'
url = 'https://api.socialdata.tools/monitors/search-pump-fun'
headers = { 'Authorization': f'Bearer {API_KEY}', 'Content-Type': 'application/json', 'Accept': 'application/json'}
response = requests.post(url, headers=headers)
if response.status_code == 200: data = response.json() print(data)else: print(f"Error: {response.status_code}") print(response.text)
$API_KEY = 'YOUR_API_KEY_HERE';
$url = "https://api.socialdata.tools/monitors/search-pump-fun";
$ch = curl_init();
curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_HTTPHEADER => [ "Authorization: Bearer $API_KEY", "Content-Type: application/json", "Accept: application/json" ]]);
$response = curl_exec($ch);$data = json_decode($response, true);print_r($data);
curl_close($ch);
Example Responses
{ "status": "success", "data": { "id": "01jmsjfcer1yhqb2qxgr3812f6", "created_at": "2025-02-23T14:13:14.000000Z", "monitor_type": "search_pump_fun", "webhook_url": null, "parameters": [] }}
{ "status": "error", "message": "Insufficient balance"}
{ "status": "error", "message": "You already have an active pump.fun monitor"}
Response Codes
- 200 OK - request succeeded
- 402 Payment Required - not enough credits to perform this request
- 422 Unprocessable Content - validation failed (e.g. one of the required parameters was not provided)
- 500 Internal Error - API internal error, typically means that SocialData API failed to obtain the requested information and you should try again later
Webhook Payload Example
When a monitor detects a new tweet with a link to pump.fun coin page, the API will make a POST
request to your webhook URL with the following payload:
{ "event": "new_tweet", "data": { "tweet_created_at": "2025-03-11T04:49:55.000000Z", "id": 1899321865522331859, "id_str": "1899321865522331859", "conversation_id_str": "1899321865522331859", "text": null, "full_text": "https:\/\/t.co\/HxlxOljYWB\n\nLFG \ud83d\ude80\ud83d\ude80\ud83d\ude80", "source": "<a href=\"http:\/\/twitter.com\/download\/iphone\" rel=\"nofollow\">Twitter for iPhone<\/a>", "truncated": false, "in_reply_to_status_id": null, "in_reply_to_status_id_str": null, "in_reply_to_user_id": null, "in_reply_to_user_id_str": null, "in_reply_to_screen_name": null, "user": { "id": 1066319257951064069, "id_str": "1066319257951064069", "name": "Rohan Cerveli | TDO", "screen_name": "rohancerv", "location": "", "url": "http:\/\/safemoon.meme", "description": "No X support No Airdrops No giveaways \u2026 Just Advice \ud83d\ude02\ud83e\udef6\ud83c\udffe", "protected": false, "verified": true, "followers_count": 1921, "friends_count": 76, "listed_count": 8, "favourites_count": 19810, "statuses_count": 17926, "created_at": "2018-11-24T13:14:57.000000Z", "profile_banner_url": "https:\/\/pbs.twimg.com\/profile_banners\/1066319257951064069\/1740427809", "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/1879574201641648128\/TMsKFPwm_normal.jpg", "can_dm": true }, "quoted_status_id": null, "quoted_status_id_str": null, "is_quote_status": false, "quoted_status": null, "retweeted_status": null, "quote_count": 0, "reply_count": 0, "retweet_count": 0, "favorite_count": 0, "views_count": null, "bookmark_count": 0, "lang": "und", "entities": { "hashtags": [], "symbols": [], "timestamps": [], "urls": [ { "display_url": "pump.fun\/coin\/FaGkRQrH3\u2026", "expanded_url": "https:\/\/pump.fun\/coin\/FaGkRQrH3Zop9XD8F7q7yS7dRT3JqZ7B7CfwG59opump", "url": "https:\/\/t.co\/HxlxOljYWB", "indices": [ 0, 23 ] } ], "user_mentions": [] }, "is_pinned": false }, "meta": { "monitor_id": "01jmsjfcer1yhqb2qxgr3812f6", "monitor_type": "search_pump_fun" }}
interface NewPumpFunTweetEvent { event: string; data: Tweet; meta: { monitor_id: string; monitor_type: string; };}
interface Tweet { tweet_created_at: string; id: number; id_str: string; conversation_id_str: string | null; text: string | null; full_text: string; source: string; truncated: boolean; in_reply_to_status_id: number | null; in_reply_to_status_id_str: string | null; in_reply_to_user_id: number | null; in_reply_to_user_id_str: string | null; in_reply_to_screen_name: string | null; user: User; quoted_status_id: number | null; quoted_status_id_str: string | null; is_quote_status: boolean; quoted_status: Tweet | null; retweeted_status: Tweet | null; quote_count: number; reply_count: number; retweet_count: number; favorite_count: number; views_count: number | null; bookmark_count: number; lang: string; entities: any; is_pinned: boolean;}
interface User { id: number; id_str: string; name: string; screen_name: string; location: string; url: string | null; description: string; protected: boolean; verified: boolean; followers_count: number; friends_count: number; listed_count: number; favourites_count: number; statuses_count: number; created_at: string; profile_banner_url: string; profile_image_url_https: string; can_dm: boolean;}
Receiving Events in Telegram or Discord
SocialData Monitor event schema differs from what Discord or Telegram expect. If you would like to receive notifications in your Discord channel or Telegram bot, we provide pre-built webhook handlers hosted on Val Town, eliminating the need to develop your own custom application.
Simply copy the following webhook handler to your own Val Town account and configure your monitor’s webhook_url
to direct events to your webhook handler:
Tweet event webhook handler