WEIR

Account Based In on X: What It Means and How to Check

What X's "account based in" and "connected via" labels mean, why a VPN or a trip can make them wrong, and how to check them for a whole list of accounts.


Published · Updated · 7 min read

Cover image: Where is this account based?

"Account based in" on X is the country X thinks an account mostly connects from, worked out from its IP addresses.

You find it on the "About this account" screen, next to "Connected via" and the username history. This guide explains each label, when it is wrong, and how to read it for a list of accounts. We run Weir, the API in the examples.

Read one account's details with a single call:

curl https://api.weirapp.io/v1/x/users/github/about \
  --header "Authorization: Bearer $WEIR_API_KEY"

What "account based in" means on X

It is X's best guess at the country an account is run from. X's help center says the country or region "is inferred only by your aggregated IP addresses".

So it is not the location typed in the bio. It is not GPS either.

X began showing the screen to everyone on 22 November 2025. Nikita Bier, then X's head of product, called it "an important first step to securing the integrity of the global town square".

Owners can show a wider region instead of a country. Bier's launch post said the toggle was for people "in countries where speech has penalties".

X's help page says the switch sits behind the gear icon on that screen.

How to see where an X account is based

X shows it on every public profile, in the app and on the web. It takes three taps:

  1. Open the profileGo to the account on x.com or in the X app.
  2. Tap the "Joined" dateIt sits under the bio.
  3. Read the screen"About this account" lists where it is based, how it connects, and username changes.

You can do this for free, one account at a time. It gets slow when you need to check 50 accounts that just replied to your brand.

What does "Connected via" mean on X?

"Connected via" tells you how the account reaches X. It is either the web or an app from a named store.

When Bier first showed the screen in October 2025, The Register reported a sample that read "Connected via United States App Store". TechCrunch listed the U.S. App Store and Google Play as examples.

"Connected via Web" means X saw the account use X in a browser, not an app. Many brand accounts post from desktop tools, so "Web" is normal for them.

A mismatch is a clue, not proof.

An account that claims to be a local US shop but connects through another country's app store deserves a second look.

Is the X account location accurate?

Mostly, but not always. Three things make it wrong:

  • VPNs and proxies. NBC News saw a notice that "this account may have used a proxy, such as a VPN". The notice ends: "This data may not be accurate."
  • Recent travel. NBC News found three of its journalists' accounts listed where they had traveled in the last few months.
  • Slow fixes. Bier said wrong data is updated "on a delayed and randomized schedule to preserve privacy".

If the country is wrong, X lets the owner report it through a form linked from its help center.

Why some X accounts show no location

Government accounts with a grey check never show it. Bier wrote on 22 November 2025: "We do not show location on any gray check accounts to prevent acts of terrorism against government leaders."

We checked this on 21 October 2026 with @NASA, a grey check account. The country and "Connected via" came back empty:

{
  "username": "NASA",
  "aboutProfile": {
    "accountBasedIn": null,
    "locationAccurate": true,
    "source": null,
    "usernameChanges": { "count": 0, "lastChangedAt": null }
  }
}

Note the trap: locationAccurate still says true with no country to judge. Read it only when accountBasedIn has a value.

Check many accounts with the API

The API returns the same screen as data, so a script can read a whole list. Each call takes a username, with or without the @.

We ran it on @github on 21 October 2026. It cost 3 credits. Trimmed:

{
  "id": "13334762",
  "username": "github",
  "aboutProfile": {
    "accountBasedIn": "United States",
    "locationAccurate": true,
    "source": "Web",
    "usernameChanges": { "count": 0, "lastChangedAt": null }
  },
  "verificationInfo": {
    "isIdentityVerified": false,
    "verifiedSince": "2014-10-31T21:59:26.804Z"
  }
}

Each field matches a part of X's screen:

API field What it shows @github
accountBasedIn Account based in United States
locationAccurate No accuracy notice true
source Connected via Web
usernameChanges Username changes 0
isIdentityVerified Owner passed an ID check false
verifiedSince Date the check started 31 October 2014

When locationAccurate is false, X itself doubts the country.

A null means X showed nothing for that field. That happens for grey check accounts, and for renames that never happened. A protected or missing account returns a 404, which costs nothing.

To check a list, loop over it:

import os, requests

headers = {"Authorization": f"Bearer {os.environ['WEIR_API_KEY']}"}

for user in ["github", "NASA", "XDevelopers"]:
    r = requests.get(f"https://api.weirapp.io/v1/x/users/{user}/about",
                     headers=headers, timeout=60)
    if r.status_code == 404:  # protected or gone
        continue
    r.raise_for_status()
    about = r.json()["data"]["aboutProfile"] or {}
    print(user, about.get("accountBasedIn"), about.get("source"))
3credits per account, by username
5credits per account, by numeric id
1,666accounts a month on the free credits

A call costs 1 credit plus 2 for the profile. By numeric id it costs 2 more, because the id is turned into a username first.

The free tier allows 30 requests a minute, so pause between calls on a long list. Full rates are on the pricing page.

Use it to check accounts, not to track people

This data helps you judge whether an account is what it claims to be. Good uses:

  • Spotting fake brand accounts that copy a company's name from another country.
  • Studying bot networks, where many "local" accounts share one foreign country.
  • Vetting partner accounts before a brand deal or a press quote.

Don't use it to follow a person around.

X already shows this screen to anyone. But collecting it about a private person to watch, expose or harass them breaks Weir's acceptable use policy. Keep it at country level, and never tie it to someone's real-world identity.

When not to use Weir

  • You check one or two accounts. The X app shows the same screen for free.
  • You need where an account was based last year. X shows only the current guess, and so do we.
  • You want to locate a person. That is surveillance, and our policy forbids it.
  • You need data from X itself under contract. Weir reads public pages and is not licensed by X, so access can change.

FAQ

What does "account based in" mean on X?

It is the country or region X believes an account is run from. X works it out from the account's aggregated IP addresses, not from the bio. You see it by tapping the "Joined" date on a public profile.

Can a VPN change where an X account is based?

Yes. X guesses from IP addresses, so a VPN can move the country. When X suspects a proxy, it adds a notice that the data "may not be accurate". In our API, check locationAccurate: false means X doubts the country.

What does "connected via web" mean on X?

It means X saw the account use X in a web browser rather than an app. Other values name an app store, such as a country's App Store or Google Play. Brands that post from desktop tools often show "Web".

Why can't I see where an X account is based?

Three common reasons. The account is protected, so the screen is private. It has a grey check, and X hides location for government accounts. Or the owner chose to show a region, so you see a continent instead of a country.

Sources