How to Track Cashtag Discussion Around Serenity Posts
When tracking cashtags related to Serenity, do not start with a broad market-wide search. A wide search can mix in unrelated tickers, reposts, replies, and accounts that are only repeating the topic. You may end up with a lot of data while losing the simpler question: what did Serenity actually post?
A cleaner first step is narrow: which original posts from @aleabitoreddit recently mentioned cashtags? Once those source posts are saved, you can decide whether to expand each cashtag into wider public discussion.
This guide uses TwexAPI's Advanced Twitter Search by Page endpoint for that first step.
Query Strategy
Query strategy means limiting the search to Serenity's own account and keeping only original posts with cashtags. The dataset is smaller, but each row is easier to explain and safer to use for alerts.
Use this fixed query:
from:aleabitoreddit filter:cashtags -filter:retweets -filter:repliesThe query has four important constraints:
| Filter | Purpose |
|---|---|
from:aleabitoreddit | Only include posts from Serenity's account |
filter:cashtags | Keep posts that contain cashtags such as $TSLA or $NVDA |
-filter:retweets | Exclude reposts so other people's opinions are not treated as Serenity's source posts |
-filter:replies | Exclude replies so the result is closer to an archive of original posts |
Use sortBy: "Latest". Monitoring cares about new source posts more than historically popular posts. If you use Top, the result becomes a view of older high-engagement content, which is less useful for detecting newly mentioned tickers.
API Endpoint
API endpoint means the request entry point used by this article. Do not use the cashtag-specific endpoint for this first step, because you are not starting with a known ticker and searching the whole network. You are discovering which tickers Serenity mentioned in original posts.
POST https://api.twexapi.io/twitter/advanced_search/page
Authorization: Bearer <your_token>
Content-Type: application/jsonThe first request does not need next_cursor:
curl --request POST \
--url https://api.twexapi.io/twitter/advanced_search/page \
--header 'Authorization: Bearer <your_token>' \
--header 'Content-Type: application/json' \
--data '{
"searchTerms": [
"from:aleabitoreddit filter:cashtags -filter:retweets -filter:replies"
],
"sortBy": "Latest"
}'Each page returns up to 20 tweets. If has_next_page is true, pass the returned next_cursor in the next request.
Pagination Example
Pagination example means connecting the first page, second page, and later pages into one repeatable job. In production, write each page as soon as it arrives instead of waiting for every page to finish.
1import requests
2
3TOKEN = "<your_token>"
4ENDPOINT = "https://api.twexapi.io/twitter/advanced_search/page"
5QUERY = "from:aleabitoreddit filter:cashtags -filter:retweets -filter:replies"
6
7def fetch_serenity_cashtag_posts(max_pages=5):
8 tweets = []
9 next_cursor = None
10
11 for _ in range(max_pages):
12 payload = {
13 "searchTerms": [QUERY],
14 "sortBy": "Latest",
15 }
16
17 if next_cursor:
18 payload["next_cursor"] = next_cursor
19
20 response = requests.post(
21 ENDPOINT,
22 headers={"Authorization": f"Bearer {TOKEN}"},
23 json=payload,
24 timeout=30,
25 )
26 response.raise_for_status()
27 body = response.json()
28
29 page_items = body.get("data") or []
30 tweets.extend(page_items)
31
32 if not body.get("has_next_page"):
33 break
34
35 next_cursor = body.get("next_cursor")
36 if not next_cursor:
37 break
38
39 return tweets
40
41for tweet in fetch_serenity_cashtag_posts():
42 print(
43 tweet.get("tweet_id"),
44 tweet.get("created_at_datetime"),
45 tweet.get("cashtags", []),
46 (tweet.get("text") or tweet.get("full_text") or "")[:140],
47 )The script pages in Latest order. For scheduled jobs, use tweet_id as the unique key: when the same post appears again, update engagement metrics rather than creating another row.
Storage And Alerts
Storage and alerts means turning the search into a durable monitor instead of a one-time command-line check. A minimal table can store tweet ID, publish time, text, cashtags, and engagement fields.
| Field | Use |
|---|---|
tweet_id | Primary key for dedupe and updates |
created_at_datetime | Timeline sorting and new-post checks |
text / full_text | Human review context so a ticker is not interpreted alone |
cashtags | Track which symbols Serenity recently mentioned |
view_count, retweet_count, quote_count, favorite_count | Prioritize posts that deserve review |
urls, media | Check whether a post cites news, filings, or screenshots |
A simple alert rule: if the latest page contains a tweet_id not yet in your database and the post has non-empty cashtags, send the text and cashtags to Slack, Feishu, or an internal dashboard.
Expand To Wider Discussion
Expanding to wider discussion means using the cashtags from Serenity's source posts in a broader search only after the source posts are confirmed. The order matters: source post first, market discussion second. Otherwise, you can easily mistake general market noise for Serenity-driven discussion.
Use this flow:
- Fetch Serenity's latest original posts with cashtags using the Advanced Search query above.
- Extract
cashtagssuch as$XYZfrom each source post. - Search broader public discussion for those cashtags and compare mention volume, engagement, and sentiment before and after the source post.
- Manually review high-engagement posts so jokes, sarcasm, and investment opinions are not treated as hard signals.
Related Resources
- Advanced Twitter Search by Page API Reference
- Get Serenity Tweets and Replies
- Analyze Replies to Serenity Tweets
Disclaimer
Disclaimer means this guide only explains how to collect and organize public X data. Cashtag activity is a social signal; it does not prove company fundamentals or future price movement and is not investment advice.