How to Check if an X Account Is a Bot or Fake
Enter the account
Type the @handle, paste the profile link, or use the numeric user ID of any public X account.
Run the check
The checker reads the account’s profile, its About this account data and its latest 20 posts, in a few seconds. No login, and the owner is not notified.
Read the signals
Each of the 10 signals is marked Worth a look, Neutral or Not available, with one line on what it means. Start with the amber ones, then open the related tool for a deeper look.
Is This Account Real? What the Checker Looks At
A fake or automated account rarely gives itself away with one detail. It is the combination that matters, so the checker reads ten independent signals from three sources: the profile, X’s About this account panel and the account’s latest posts.
| Signal | What we read | Why it matters |
|---|---|---|
| 1Based in vs profile location | The country or region X assigns to the account, compared with the location typed in the bio | The most direct test of “is this account who it says it is” |
| 2Connected via | The app store region or client the account connects through | An independent second location hint |
| 3Username changes | How many times the @handle changed and when | Sold and repurposed accounts are usually renamed |
| 4Account age vs audience | Creation date against follower count | Big audiences on brand-new accounts deserve a second look |
| 5Premium timing | When X Premium started, relative to creation | Day-one checkmarks buy reach for new accounts |
| 6Posting hours | The hours (UTC) of the latest 20 posts | Reveals roughly which time zone the operator lives in |
| 7Post languages | The languages X detected in recent posts | Context for the location signals |
| 8Content mix | The share of original posts, replies, reposts and quotes | Pure amplification and pure reply spam are automation patterns |
| 9Made with AI labels | The share of recent posts labeled as AI-generated | Disclosed AI content at volume |
| 10Profile completeness | Default avatar, empty bio | Mass-created accounts often skip both |
The first five come from data X itself publishes, so they are facts about the account, not guesses. The last five describe behaviour and are best read together.
Why This Checker Shows Signals Instead of a Bot Score
For years, the standard answer to “is this account a bot” was a single number. The best known tool, Botometer, stopped checking live X accounts after X shut off free research access. Since May 31, 2023, Botometer X has only shown archived scores, and accounts created after that date have no data at all. The tools that replaced it mostly sell a verdict: pay per scan, receive “bot” or “human”, and take the model’s word for it.
A verdict is the wrong format for this question. Real people can look automated: a social media manager posting on a schedule, an expat whose location never matches, a night owl. Careful operators can look human. What holds up is evidence you can see and verify, so the checker shows you exactly what it found and leaves the judgment with you.
| Bot score tools | AI verdict tools | This checker | |
|---|---|---|---|
| Works on live X accounts | No, archived since 2023 | Yes | Yes |
| Free | Yes | No, per scan | Yes, 5 checks a day |
| Shows the evidence | Partly | Partly | Every signal |
| Uses X’s own location and history data | No | Rarely | Yes |
| Claims to know intent | Implied by the score | Yes | No |
What “Account Based In” Revealed About Fake Accounts
In November 2025, X added the About this account panel to profiles. It shows where an account is based, how it connects to X, when it joined and how many times it changed its @handle. Within days, users and journalists pointed out that several large accounts presenting themselves as American political voices were shown as based in other countries and regions.
That is why the first two signals in this checker compare what an account claims with where X places it. X infers the country from connection data, so the value can be wrong for accounts that use a VPN or travel often, and owners can choose to show a broad region instead of a country. X marks profiles where it suspects a proxy with a “Country or region may not be accurate” notice. Treat a mismatch as a lead, not a conclusion. To look at location alone, use the Location Finder.
Signs of a Bot or Fake Account on X
Use this list for anything the checker cannot see. Two or three matches together are worth taking seriously; one on its own rarely is.
- Checked aboveThe location in the bio doesn’t match where X says the account is based
- Checked aboveThe handle changed recently, especially after the account gained a following
- Checked aboveThe account is months old but has tens of thousands of followers
- Checked aboveThe checkmark was bought within days of creation
- Checked abovePosts arrive around the clock or only during another continent’s daytime
- Checked aboveAlmost everything is reposts or replies, with little original content
- Check yourselfThe profile photo is a stock image, a celebrity or an AI-generated face
- Check yourselfThe @handle is a name followed by a string of digits
- Check yourselfReplies are generic (“Great post!”, “Check my profile”) or identical across threads
- Check yourselfThe account pushes giveaways, tokens, investment tips or DMs within the first messages
- Check yourselfFollowers look hollow: no photos, no posts, created in the same weeks (spotting fake and bot followers)
- Check yourselfThe account imitates a known person or brand with one character changed
Bots, Fake Accounts and Coordinated Accounts Are Not the Same
“Bot” gets used for four different things, and they call for different responses.
Automated accounts
Software posts on a schedule: weather updates, price alerts, news feeds. Many are useful, and well-run ones carry X’s Automated label in the profile.
Spot it: regular timing, one topic, a label naming the owner.
Spam bots
Automated accounts built to push links, scams or engagement at volume.
Spot it: repetitive replies, reposts only, a bare profile.
Fake or impersonation accounts
A person or group pretending to be someone else: a celebrity, a brand, a support team, or simply a person who does not exist.
Spot it: renamed handles, lookalike names, a location that doesn’t match the story.
Coordinated inauthentic accounts
Real people running many accounts to fake grassroots support, often from another country.
Spot it: location mismatches, shared talking points, similar creation dates.
What to Do if an Account Looks Fake
- 1
Don’t act on it. Don’t send money, connect a wallet, click shortened links or move the conversation to DMs because an account asked you to.
- 2
Verify through a second channel. For a brand or public figure, check their official website or another verified profile they link to.
- 3
Mute or block if the account is bothering you. Neither action notifies the account.
Report it on X. Open the profile, tap the three-dot menu and choose Report, then pick spam or impersonation. If someone is impersonating you, X has a dedicated impersonation report in its Help Center.
- 5
If you manage a brand or community, check suspicious accounts that interact with you regularly, and keep the checker results as a record.
Check Accounts in Bulk: Authenticity Signals via API
This page checks one account at a time. Trust and safety teams, agencies vetting influencers, researchers mapping coordinated networks and crypto teams screening KOLs need the same signals for hundreds of accounts. All of them come from three Sorsa API endpoints: /about, /info and /user-tweets.
- One API key, no app approval, setup in about 3 minutes
- The based-in country and connection source, which the official X API does not include in its user object
- Flat 20 requests per second on every plan: a list of 1,000 accounts takes under three minutes
- Single lookups from $0.002 per call, and 100 free requests to start, no card
- Clean JSON, ready for your own scoring rules
import requests
H = {"ApiKey": "YOUR_API_KEY"}
BASE = "https://api.sorsa.io/v3"
def signals(handle):
about = requests.get(f"{BASE}/about", headers=H, params={"username": handle}).json()
info = requests.get(f"{BASE}/info", headers=H, params={"username": handle}).json()
return {
"based_in": about.get("country"),
"profile_location": info.get("location"),
"connected_via": about.get("source"),
"username_changes": about.get("username_change_count"),
"premium_since": about.get("premium_start_at"),
"created_at": info.get("created_at"),
"followers": info.get("followers_count"),
}Related Checks
Username History Checker
How many times the @handle changed, and how to find the old ones.
Blue Check Checker
Whether the account pays for X Premium, and since when.
Location Finder
Where the account is based, and how it connects.
Account Age Checker
The exact creation date and age.
Shadowban Checker
Whether X is hiding the account from search.
Frequently Asked Questions
Can this checker tell me for sure if an account is a bot?
No tool can, and this one does not pretend to. It shows ten signals, most of them straight from X’s own data, and marks the ones worth a closer look. Real people can trip a few signals, and careful fake accounts can avoid them. Read the amber signals together and draw your own conclusion.
Is this bot checker free?
Yes. Every visitor gets 5 free checks a day, which reset at 00:00 UTC, with no login and no account connection. Each check reads the profile, the About this account data and the latest 20 posts.
Will the account owner know I checked them?
No. The checker reads public data only. It never follows, messages or interacts with the account, and X sends no notification.
Is this a Botometer alternative?
Yes, for live accounts. Botometer stopped checking X accounts in real time when X ended free research access. Since May 31, 2023, Botometer X has only shown archived scores, with no data for newer accounts. This checker reads live data for any public account, and shows the evidence instead of a score.
How accurate is the “Account based in” signal?
It is X’s own value, inferred from the account’s connection data. It can be wrong for accounts that use a VPN or travel, and some owners choose to show a region instead of a country. X adds a “Country or region may not be accurate” notice where it suspects a proxy. Treat a mismatch as a lead, not proof.
Can a real person get several “worth a look” signals?
Yes. A social media manager posting on a schedule, an expat whose bio shows their hometown, or someone who bought Premium on day one can all trigger signals without doing anything wrong. That is why the checker explains each signal instead of adding them up into a verdict.
What does the Made with AI signal mean?
Since March 2026, X lets authors add a “Made with AI” label to posts that contain AI-generated or altered content. The label is voluntary, so it only counts disclosed AI content. A feed made mostly of labeled posts is worth knowing about, but it is not dishonest.
Can I check a private account?
Only partly. Protected accounts hide their posts and About this account details, so the checker can read only profile signals such as account age, audience size and profile completeness.
Does a blue check mean an account is real?
No. Since 2023 the blue check means the account pays for X Premium and passed an automated review, not that X confirmed the owner’s identity. The Blue Check Checker shows when an account’s Premium started.
How do I report a fake account on X?
Open the profile, tap the three-dot menu, choose Report, and pick spam or impersonation. If someone is pretending to be you, use the impersonation report in X’s Help Center.
What is the difference between this and a fake follower check?
This checker looks at one account and asks whether that account looks authentic. A fake follower check samples the account’s followers and asks how many of them look real. Use both when you vet an influencer: a real person can still have a bought audience.
Is there an API for bot and fake account signals?
Yes. The same data comes from three Sorsa API endpoints: /about for location, handle changes and Premium; /info for the profile; /user-tweets for recent posts. That is 20 requests per second on every plan, with 100 free requests to start and no card.