WEIR

Twitter Account Analyzer: Analyze Any Profile Free (2026)

Run a free Twitter account analyzer on any public profile: posting rate, best times, top posts and engagement, with an AI prompt, a script and real output.


Published · Updated · 7 min read

Cover image: One account, end to end

A Twitter account analyzer reads any public account's recent posts and shows how often it posts, when, what works and its engagement rate.

X's own analytics only covers your own account. This guide analyzes anyone's: a rival, a creator you may hire, or a brand you admire. You get an AI prompt, a free script and our full run on @OpenAI. We run Weir, the API both use.

Paste this into Claude or ChatGPT with Weir connected:

Use Weir to pull @OpenAI's last 60 original posts, leaving out
replies and reposts. Tell me posts per week, the busiest days and
hours in UTC, median views, the median engagement rate by views,
the best format, the top 3 posts and the main topics.
  1. Pull the posts3 pages, about 60 posts.
  2. Count the rhythmPosts a week, days and hours.
  3. Score each postEngagements divided by views.
  4. Compare formatsVideo, image, text.
  5. Read the winnersTop posts and topics.

What X's own analytics shows, and who can see it

X's analytics shows you your own posts only. For anyone else, you get the public counts under each post.

  • Your posts: X's business help says its post activity dashboard tracks impressions, engagements and engagement rate "for each post you send." It shows 28 days by default and exports a CSV.
  • Who gets it: the same page, in a June 2026 copy, calls it "a free service available to all X users who have an ads account."
  • Everyone else's posts: X's Help Center says "anyone on X can see view counts on posts," along with likes, reposts and replies.

X's Premium help page, in an October 2026 copy, doesn't list analytics in its tier summaries. So open your own analytics to see what your account gets.

For any other account, you add up the public counts yourself. That's what an analyzer does.

Twitter account analysis of @OpenAI: 60 posts, end to end

We pulled @OpenAI's 60 latest original posts through Weir on 28 October 2026. They ran from 13 August to 26 October and cost 63 credits.

5.7posts a week
2.7Mmedian views per post
0.55%median engagement rate by views

The engagement rate here is likes, reposts, replies, quotes and bookmarks, divided by views. Our guide to Twitter engagement rate explains both common formulas.

Posting days: @OpenAI posts in the working week, and never once on a Sunday in this sample.

@OpenAI original posts by weekday (UTC), 13 Aug to 26 Oct 2026
Tuesday20
Wednesday16
Thursday11
Friday7
Monday4
Saturday2

Posting hours: 42 of the 60 posts went out between 17:00 and 20:59 UTC. In US Pacific time, that's 10am to 2pm.

Formats: video gets the most views, but not the best rate.

Format Posts Median views Median rate
Video 24 4.0M 0.53%
Text or link 27 2.3M 0.54%
Image 9 1.0M 0.65%

Big launches go out as video, which reaches the most people. Images earn the best median rate, on a quarter of the views.

Top posts: the 3 September video "This is GPT-6 Astra" led with 510,109 engagements on 139 million views. A maths result on 8 September came second, then a model launch on 22 September.

Topics: reading the 60 by hand, product news led with 15 posts and safety came next with 14. Paste the texts into our free Twitter word cloud to see the words they lean on.

Use Claude or ChatGPT as a Twitter account AI analyzer

The prompt at the top works in Claude, ChatGPT, Codex or Cursor once Weir is connected. Our X MCP server page shows how.

We made the same three searches through Weir's MCP server for the numbers above. Each page held 20 posts, so ask for 60 posts, not one page.

For the fun version, follow up with a kind roast:

Now roast this account in 4 short lines, kindly, like a friend at
dinner. Base every joke on a number from your analysis. Tease the
posting habits only, never a person.

A sample of the kind of roast it writes, made by Claude from the numbers above:

Eight posts on 29 September. That's not a launch day, that's a live blog.
Tuesday got 20 posts. Sunday got none. Sunday would like a word.

A free Twitter profile analyzer in Python

This script uses only Python's standard library, so it runs in agent sandboxes with no pip. Set WEIR_API_KEY to a free key first.

The first half pulls up to three pages of original posts and stops on a null cursor:

import json, os, sys, urllib.request
def posts(user, max_pages=3):
    body = {"fromUsers": [user], "query": "-filter:nativeretweets", "onlyOriginal": True, "limit": 100}
    headers = {"Authorization": f"Bearer {os.environ['WEIR_API_KEY']}", "Content-Type": "application/json"}
    out = []
    for _ in range(max_pages):
        req = urllib.request.Request("https://api.weirapp.io/v1/x/search",
                                     data=json.dumps(body).encode(), headers=headers)
        with urllib.request.urlopen(req, timeout=60) as r:
            page = json.load(r)
        out += page["data"]
        if not page["meta"]["nextCursor"]:
            break
        body["cursor"] = page["meta"]["nextCursor"]
    return out

The second half scores each post and prints the summary:

import statistics
from collections import Counter
from datetime import datetime
COUNTS = ("likeCount", "retweetCount", "replyCount", "quoteCount", "bookmarkCount")
def eng(p):
    return sum(p[k] or 0 for k in COUNTS)
def fmt(p):
    kinds = {m["type"] for m in p["media"]}
    return "video" if kinds & {"video", "animated_gif"} else "image" if "photo" in kinds else "text or link"
def rate(group):
    return statistics.median(100 * eng(p) / p["viewCount"] for p in group if p["viewCount"])
ps = posts(sys.argv[1])
when = [datetime.fromisoformat(p["createdAt"].replace("Z", "+00:00")) for p in ps]
days = max((max(when) - min(when)).total_seconds() / 86400, 1)

The last lines print it:

print(f"{len(ps)} posts, {7 * len(ps) / days:.1f} a week")
print("Busiest days:", Counter(w.strftime("%A") for w in when).most_common(2))
print("Busiest hours, UTC:", Counter(w.hour for w in when).most_common(3))
print(f"Median views: {statistics.median(p['viewCount'] or 0 for p in ps):,.0f}")
print(f"Median engagement rate: {rate(ps):.2f}% of views")
for f in ("video", "image", "text or link"):
    group = [p for p in ps if fmt(p) == f]
    print(f"  {f}: {len(group)} posts, median {rate(group):.2f}%")
top = max(ps, key=eng)
print(f"Top post: {eng(top):,} engagements, {top['url']}")

Save the three parts as analyze.py and run python analyze.py OpenAI. Checked against our three pages, it printed:

60 posts, 5.7 a week
Busiest days: [('Tuesday', 20), ('Wednesday', 16)]
Busiest hours, UTC: [(17, 14), (19, 11), (18, 9)]
Median views: 2,739,106
Median engagement rate: 0.55% of views
  video: 24 posts, median 0.53%
  image: 9 posts, median 0.65%
  text or link: 27 posts, median 0.54%
Top post: 510,109 engagements, https://x.com/OpenAI/status/2095595741528125780

What it costs: 1 credit per post and 1 per call, so 60 posts cost 63 credits. Weir's 5,000 free credits a month cover about 79 runs like this. To check one post by hand, use the free engagement rate calculator.

What about Twitter account follower growth?

Posts can't show follower growth, because each one carries only today's follower count. @OpenAI had 5,486,458 followers on 28 October.

For the past, you read saved copies of the profile. Our guide to Twitter follower count history shows how, and how to track it from today. To compare several brands side by side, see our Twitter competitor analysis.

When not to use Weir

  • It's your own account. X's dashboard is free with an ads account and shows clicks no outsider can see.
  • You want a dashboard, not code. Hosted analyzers do this in a browser.
  • You need years of history. Each run reads recent posts, page by page.
  • Price per post matters most. TwitterAPI.io lists $0.15 per 1,000 tweets as of October 2026.

Weir is read-only and isn't licensed by X, so access can change. X's Terms of Service restrict scraping, so check what applies to you. This isn't legal advice.

FAQ

Is there a free Twitter account analyzer?

Yes. Our script and AI prompt run on Weir's 5,000 free monthly credits, enough for about 79 accounts at 60 posts each. iWeaver's Twitter Analyzer also offers 3 free runs a day, according to its own page.

Can I analyze someone else's Twitter account?

Yes, if it's public. Views, likes, reposts, replies, quotes and bookmarks are public on every post. Clicks and profile visits go only to the account owner, so no outside analyzer can show them.

What does a Twitter account analysis roast do?

It turns the numbers into friendly jokes about posting habits, like eight posts in one day. Keep it kind and about the account's habits, never the people behind it. The roast prompt above does that.

How do I find the best time an account posts?

Group its recent posts by weekday and hour, in one time zone. The script prints the busiest days and hours in UTC. @OpenAI's busiest hour was 17:00 UTC, with 14 of 60 posts.

Sources

All checked on 28 October 2026; X's help pages as Wayback copies, dated in brackets: