Tweets
Twitter shadowban test API to check X accounts
Check whether X hides an account from search, search suggestions, or reply threads, with the posts and replies behind each result. 1 credit per item read.
- 200
- 400
- 401
- 402
- 403
- 404
- 424
- 429
- 502
- 503
GET
Twitter shadowban test API to check X accounts
1 credit per profile, post, suggestion & reply in the answerAll plans from $0.00012/credit · Supports guest paid reads
Is an account shadowbanned on X?
UseGET /x/users/{id}/shadowban to run 4 checks on 1 account. Name the account by user ID, username, or profile URL.
accountreads whether the account is active, protected, or suspended.searchlooks for the account’s recent posts in X search. It usesfrom:username, sorted by Latest.suggestionlooks for the account among the accounts X suggests for its username.repliesopens the threads of up to 3 recent replies to other accounts. It finds where each reply shows.
pass, fail, or unknown. It adds a reason and the evidence it read. The reply check answers pass
or unknown, since X ranks replies for each viewer. A protected account gets the suggestion check only. A suspended
account gets the account check only.
Path parameters
string
required
User ID, username with or without
@, or URL-encoded profile URL, such as x.com/nasa. See
path IDs.Query parameters
string
Fields to keep in each row, comma-separated, such as
id,text,author.username. Use dots for nested fields. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name returns 400 unknown_field with the valid names, before any read. The price stays the same.string
Fields to drop from each row, comma-separated, such as
entities,media. It takes the same names as fields. With fields, it drops from the kept fields.Headers
string
Full account key. Sessions and OAuth also work.
string
Bearer xq_your_guest_key_here for paid_reads.Response
200 OK
string | null
Username of the account.
null for a suspended account named by user ID.string | null
ID of the account.
null for a suspended account named by username.string
active, protected, or suspended.object
The 4 checks. Each has
verdict, reason, and evidence.object
pass with active or protected, or fail with suspended. evidence.profileUrl opens the
profile on X.object
pass with listed or fail with missing. evidence holds query, searchUrl,
recentPostIds, and foundPostIds.object
pass with suggested or fail with not_suggested. evidence holds query and
suggestedUsernames.object
pass with in_thread, or unknown with more_replies or not_found. evidence.replies lists
each reply with its placement, replyUrl, and parentUrl.400 Invalid input
404 User not found
401 Unauthenticated
Anonymous requests getWWW-Authenticate: Bearer and a guest wallet checkout action. This is not a Payment challenge.
402 Payment required
Account keys get account options. Guest keys get guest top-up only. No checkout starts automatically. Confirm any payment action.502 X API unavailable
Related. Get user · Search tweets · Search autocomplete