Twitter Keyword Research (2026): Which Phrase Wins?
Do Twitter keyword research the way X users talk: count posts a day for each phrasing, read the top posts, keep the winners. Real counts and a script.
Tarun Khatri
Published ยท Updated ยท 7 min read
To do Twitter keyword research, count how many posts a day each phrasing gets on X, then read the top posts for each.
X keyword research works best for niche topics, like a developer tool or a product's nickname. You get the free method in X's search box, a tested Python script, and our real counts from 22 October 2026. We run Weir, the API in the script.
Paste this into X's search box, open the Latest tab, and swap in your own phrase:
"twitter api" lang:en since:2026-10-15 until:2026-10-22
- List the phrasingsName, nickname, old name, spelling.
- Count posts per daysince:, until: and the Latest tab.
- Read the top postsmin_faves: on the Top tab.
- Check for false matchesRead a page before you trust a count.
- Keep the winnersAs monitors or ad keywords.
Step 1: Start Twitter keyword research with a list of phrasings
The words you use for your product aren't always the words your buyers use. Write down every way people might say it:
- Old and new names, like "twitter api" and "x api".
- The full name and the nickname of a product.
- The brand's own spelling. X's developer account writes ๐, a math-style letter.
Stuck for phrasings? Paste a few dozen posts on your topic into our free Twitter word cloud generator and see which words come up most.
The idea is old. A 2012 Search Engine People guide used Topsy to compare "burger joint" with "burger place", and the joint won by more than five to one.
Step 2: Count posts per day with X's search (free)
Search each phrase in quotes, one day at a time, on the Latest tab:
"x api" lang:en since:2026-10-21 until:2026-10-22
since:anduntil:take calendar days in UTC, anduntil:leaves its own day out.lang:enkeeps posts X detected as English.
Counting by hand works up to a few dozen posts a day. Past that, use the script in Step 4.
Our X advanced search builder writes these queries. The operators guide and searching tweets by date cover the rest.
Is it x api or twitter api? Our quick test
On 22 October 2026, we pulled the three newest English posts for each phrase through Weir's search, at 4 credits each.
Three posts is a tiny sample, so read it as a hint. Still, the gap is wide enough to suggest "x api" is now the busier phrase.
It also shows the trap. One of the three "x api" posts was about an X-Api-Key header, not X's API, so read the matches before you trust a count.
All six posts came from personal accounts, so we show only the timing.
Then we searched "x api" from @XDevelopers, X's developer account. That came back empty, for 1 credit. Its latest post about its API, trimmed:
{
"id": "2111172163776708859",
"text": "New guide to the ๐ Chat API ...",
"createdAt": "2026-10-16T19:07:22.000Z",
"author": { "username": "XDevelopers", "followersCount": 697879 },
"likeCount": 119,
"viewCount": 14623
}
The brand writes ๐ and names the product, "๐ Chat API". Add the brand's own wording to your list, and search it too.
Step 3: Pull the top posts for each phrase
Top posts show who drives a phrase. On X, add a likes floor and open the Top tab:
"x api" lang:en min_faves:100 since:2026-10-15
min_faves: is X's own filter, so a post a little under the floor can slip in. Check the like counts yourself.
By API, Weir's search takes "sort": "top". Our "x api" run since 15 October asked for 3 posts and got 5, because X bundles a thread into Top results. Each was billed, so it cost 6 credits.
The most liked had 429 likes, and none came from a brand account. To judge the people behind a phrase, see how to find influencers on X.
Step 4: Build a Twitter keyword research tool in Python
This script reads a week of posts for each phrase, then prints totals, daily counts and the most liked posts. The first part fetches the pages:
import os, time, collections, requests
URL = "https://api.weirapp.io/v1/x/search"
HEADERS = {"Authorization": f"Bearer {os.environ['WEIR_API_KEY']}"}
def phrase_posts(body, max_pages=50): # about 20 posts a page
for _ in range(max_pages):
r = requests.post(URL, json=body, headers=HEADERS, timeout=60)
r.raise_for_status() # a 402 means out of credits: stop
page = r.json()
yield from page["data"]
if not (cursor := page["meta"]["nextCursor"]):
return
body = {**body, "cursor": cursor}
time.sleep(4) # 15 search pages a minute fits the free tier
raise RuntimeError("hit max_pages: narrow the window")
The second part compares the phrases:
for phrase in ["acme analytics", "acme stats"]:
body = {"phrase": phrase, "language": "en", "limit": 100,
"since": "2026-10-15T00:00:00Z", "until": "2026-10-22T00:00:00Z"}
posts = list({p["id"]: p for p in phrase_posts(body)}.values()) # no repeats
per_day = collections.Counter(p["createdAt"][:10] for p in posts)
print(f"{phrase}: {len(posts)} posts, {len(posts) / 7:.1f} a day")
print(" per day:", " ".join(f"{d[5:]}={n}" for d, n in sorted(per_day.items())))
for p in sorted(posts, key=lambda p: p["likeCount"] or 0, reverse=True)[:3]:
print(" top:", p["likeCount"], p["url"])
Here is what it printed, minus the top-post links. The example is illustrative: we ran it offline on made-up pages shaped like our real results, for a made-up brand.
acme analytics: 84 posts, 12.0 a day
per day: 10-15=10 10-16=14 10-17=9 10-18=12 10-19=11 10-20=15 10-21=13
acme stats: 21 posts, 3.0 a day
per day: 10-15=2 10-16=4 10-17=3 10-18=1 10-19=5 10-20=3 10-21=3
How much does Twitter keyword research cost?
A search page costs 1 credit plus 1 per post, at about 20 posts a page. A niche phrase with 50 posts a day costs about 1,576 credits for 30 days, inside your 5,000 free credits a month.
Popular terms cost too much to count post by post. Take a phrase with 5,000 posts a day over 7 days:
As of October 2026, X's recent counts cover 7 days for $0.005 a request, and full-archive counts go back to 2006 for $0.010. You buy X API credits first.
Our pick: X's counts endpoint for big terms, and the script when you also need the posts.
Step 5: Keep the winners as monitors or ad keywords
Keep a phrase that's busy and means one thing, then put it to work:
- As a monitor. A Weir search monitor reads one page of the newest matches per run, about 20 posts. The free tier allows one daily monitor; hourly runs need a purchase.
- As ad keywords. X's keyword targeting reaches people by what they search, post and engage with. X recommends at least 25 keywords.
X's ads match "stem variations, synonyms, misspellings, and slang," so close variants matter less there than in a monitor. For hashtags, use our hashtag tracker.
If your counts look off
- The script stops with "hit max_pages". It never returns a short count, so narrow the window or price a bigger run.
- One phrase looks too busy. It may match something else, like an
X-Api-Keyheader, so read a page of posts. - A
402stops the run. You're out of credits until a pack or next month's free grant.
When not to use Weir
- You only need volume, or the phrase is busy. X's recent counts endpoint returns a week of counts for $0.005 a request.
- You want what's trending. Weir has no trends endpoint.
- Your team wants reports. Sprout Social's reports measure "X keyword usage", and its plans start at $79 a seat a month, billed yearly.
Weir reads public posts and can't post. X's Terms of Service say you "cannot scrape the Services without X's express written permission," so check what applies to you. This isn't legal advice.
FAQ
Is there a free keyword analyzer for Twitter?
X's own search is free: search a phrase with dates on the Latest tab and count. For more, Weir's 5,000 free credits a month read about 4,760 posts, and the Step 4 script counts them.
Is there a Twitter keyword tool that shows search volume?
Not in X's search box. X's ads help says keyword targeting shows a daily global volume estimate as you type each keyword. X's API also has counts endpoints that return post volume per day or hour.
Is Topsy still available for Twitter keyword research?
No. Apple shut Topsy down in December 2015, Engadget reported. Older guides that rely on it, like PPC Hero's from 2015, need a new tool: X's search, its counts endpoint, or a script.
Sources
All checked on 22 October 2026:
- X API pricing: https://docs.x.com/x-api/getting-started/pricing
- X API post counts: https://docs.x.com/x-api/posts/counts/introduction
- X Business Help Center, keyword targeting (Wayback copy of 9 May 2026): https://business.x.com/en/help/campaign-setup/campaign-targeting/keyword-targeting
- X Terms of Service, effective 9 October 2026 (Wayback copy of 17 October 2026): https://x.com/en/tos
- Sprout Social, X integration and pricing: https://sproutsocial.com/integrations/twitter/ and https://sproutsocial.com/pricing/
- PPC Hero, Twitter research for ad performance (22 September 2015): https://www.ppchero.com/how-to-perform-twitter-research-to-improve-ad-performance
- Search Engine People, social media keyword research (22 March 2012): https://www.searchenginepeople.com/blog/social-media-keyword-research.html
- Engadget, Apple shutters Topsy (16 December 2015): https://www.engadget.com/2015-12-16-apple-shutters-topsy.html
- Weir search reference, billing and monitors: https://docs.weirapp.io/reference/x/searchX, https://docs.weirapp.io/billing and https://docs.weirapp.io/monitors
- Our Weir searches for x api and twitter api, and @XDevelopers posts, 22 October 2026