如何查询 X 账号的 account_based_in 所在地信号
X 简介里的 location 字段很容易被用户随手修改,也经常是玩笑或品牌文案。做达人审核、合作方复核、地区投放判断或可疑账号排查时,只看这个自由文本字段通常不够。
TwexAPI 的 User About 端点可以按用户名返回 account_based_in、location_accurate 以及相关账号元数据。请把这些字段当成复核证据,而不是实时 GPS 位置,也不是完整的身份验证结论。
这个端点回答什么问题
适合用它回答这类问题:
- 这个 X 账号显示基于哪个国家或地区?
- 响应是否标记该所在地信号为准确?
- 账号是否有关联机构或认证标签?
- 账号是否频繁改名,需要进入额外复核?
常见场景包括达人审核、合作方 onboarding、地区营销复核、账号风险评分和合规初筛。
API 端点
GET https://api.twexapi.io/twitter/{screen_name}/about
Authorization: Bearer <your_token>路径参数:
| 参数 | 说明 |
|---|---|
screen_name | 要检查的 X 用户名,不含 @ |
请求示例:
curl --request GET \
--url https://api.twexapi.io/twitter/elonmusk/about \
--header 'Authorization: Bearer <your_token>'重点响应字段
响应使用标准结构,包含 code、msg 和 data。账号详情在 data 对象中。
1{
2 "code": 200,
3 "msg": "success",
4 "data": {
5 "user_id": "44196397",
6 "name": "Elon Musk",
7 "screen_name": "elonmusk",
8 "account_based_in": "United States",
9 "location_accurate": true,
10 "source": "United States App Store",
11 "username_changes_count": 0,
12 "is_blue_verified": true,
13 "userLabelType": "BusinessLabel",
14 "affiliate_username": "X"
15 }
16}| 字段 | 如何理解 |
|---|---|
account_based_in | 账号所在国家或地区信号 |
location_accurate | 响应是否认为所在地信号准确 |
source | 可用时返回账号相关来源信息 |
username_changes_count | 账号频繁改名时,可用于复核队列 |
userLabelType / affiliate_username | 机构标签或关联账号上下文 |
is_blue_verified / verification | 认证信号,本身不等于身份可信 |
Python 示例
下面的示例查询一个账号,并输出一份紧凑的复核记录。如果结果要用于审计,建议同时保存原始响应。
1import os
2import requests
3
4API_BASE = "https://api.twexapi.io"
5TOKEN = os.environ["TWEXAPI_TOKEN"]
6
7def get_account_location(screen_name: str) -> dict:
8 response = requests.get(
9 f"{API_BASE}/twitter/{screen_name}/about",
10 headers={"Authorization": f"Bearer {TOKEN}"},
11 timeout=30,
12 )
13 response.raise_for_status()
14
15 payload = response.json()
16 if payload.get("code") not in (None, 200):
17 raise RuntimeError(payload.get("msg", "TwexAPI request failed"))
18
19 data = payload.get("data") or {}
20 return {
21 "screen_name": data.get("screen_name") or screen_name,
22 "user_id": data.get("user_id"),
23 "account_based_in": data.get("account_based_in"),
24 "location_accurate": data.get("location_accurate"),
25 "source": data.get("source"),
26 "username_changes_count": data.get("username_changes_count"),
27 "is_blue_verified": data.get("is_blue_verified"),
28 "user_label_type": data.get("userLabelType"),
29 "affiliate_username": data.get("affiliate_username"),
30 "raw": data,
31 }
32
33if __name__ == "__main__":
34 result = get_account_location("elonmusk")
35 print(result)运行方式:
TWEXAPI_TOKEN="your_twexapi_bearer_token" python check-account-based-in.py批量复核方式
这个端点每次检查一个 screen_name,所以批量任务应当循环名单,并在每个结果返回后立即写入存储。
生产环境建议:
- 使用
screen_name输入文件或数据库表 - 为每条结果保存
checked_at - 保存原始
data对象,方便审计 - 将
account_based_in标准化到自己的国家或地区枚举 - 把缺失、异常或低可信度结果送入人工复核
- 不要只凭这个字段自动批准或拒绝账号
常见误读
account_based_in 不等同于用户简介里的自由文本 location。它也不能证明账号持有人此刻就在对应国家或地区。
即使 location_accurate 为 true,也应该把它当作一个信号,而不是最终结论。涉及高影响决策时,请结合账号年龄、改名历史、机构关联、发帖语言、业务记录和人工复核。
放在哪些流程里
适合加入这些流程:
- 达人和影响者 onboarding
- 合作方或 affiliate 审核
- 地区营销资格检查
- 可疑账号初筛
- 市场研究分群
- 需要账号地理信息的合规流程
更稳妥的做法是保存结果,并把它和上下文一起展示给复核人员。让这个字段支持决策,而不是替你完成整个决策。