Skip to content
Twexapi
English
Esc
↑↓navigate↵open⌘Jpreview

Check Shadowban and Reply Visibility

Check People account search, default Top post search using from:username, and sampled reply visibility. Only an API key is required. The default response contains screen_name and five boolean/null flags: true means suspected restriction, false means no evidence in the checks performed, and null means inconclusive or skipped. Set details: true to add the complete evidence under data.details without changing the compact fields.

Reply checks are enabled by default and sample up to two original replies to other accounts from the last seven days. A reply must actually be found behind an explicit folded-replies cursor, such as Show probable spam, before suspecting Reply Deboosting. Ghost Ban requires an accessible parent, completed conversation traversal, and direct verification that the reply still exists. Incomplete pagination, inaccessible parents, absent samples and malformed placement are inconclusive. Account search checks People results rather than search suggestions. These are observations from one query account, not confirmation of X internal enforcement or account-wide visibility.

{
  "code": 200,
  "msg": "success",
  "data": {
    "screen_name": "example_user",
    "shadow_ban": false,
    "account_search_ban": false,
    "search_ban": false,
    "ghost_ban": false,
    "reply_deboosting": false
  }
}
Back to API Reference
/Search Endpoints
POST/twitter/shadowban/check
Authorization
AuthorizationBearer token · headerrequired
Global API Bearer Token for TwexAPI. Included as: Authorization: Bearer <YOUR_TWEXAPI_KEY>.
Request Body
requiredapplication/json
screen_namestringrequired
Username with optional @ and surrounding whitespace; 1–15 letters, digits or underscores. Profile URLs are not accepted.
matches ^\s*@?[A-Za-z0-9_]{1,15}\s*$
max_pagesinteger
Maximum pages per search, reply discovery and parent conversation. Send an integer JSON number from 1 to 3; null and numeric strings are invalid.
min 1 · max 3 · default: 2
check_repliesboolean
Enable Ghost Ban and Reply Deboosting checks. If false, only account and post search affect shadow_ban; both reply flags remain null.
default: true
Allowed:truefalse
detailsboolean
Include the original diagnostic result under data.details. The six compact fields remain unchanged. This option changes output only.
default: false
Allowed:truefalse
reply_sample_sizeinteger
Maximum automatically discovered recent replies to inspect, from 1 to 3. Does not limit explicitly supplied reply_ids.
min 1 · max 3 · default: 2
reply_idsstring[]
Optional 1–3 numeric tweet ID strings to inspect instead of automatic sampling. IDs must be target-authored replies to other accounts. Duplicates are checked once; no profile URLs or numeric JSON values.
min items 1 · max items 3
Responses
200true: suspected restriction; false: no evidence in the checks performed; null: inconclusive or skipped.
codeintegerrequired
msgstringrequired
dataShadowbanCheckDatarequired
Show properties
screen_namestringrequired
Username with optional @ and surrounding whitespace; 1–15 letters, digits or underscores. Profile URLs are not accepted.
shadow_banboolean | nullrequired
Combined result across enabled checks. Any supported restriction makes this true; unresolved enabled checks make it null when no positive evidence exists. true: suspected restriction; false: no evidence in the checks performed; null: inconclusive or skipped.
account_search_banboolean | nullrequired
Suspected missing visibility in People account search. true: suspected restriction; false: no evidence in the checks performed; null: inconclusive or skipped.
search_banboolean | nullrequired
Suspected missing visibility in default Top post search using from:username. true: suspected restriction; false: no evidence in the checks performed; null: inconclusive or skipped.
ghost_banboolean | nullrequired
Suspected hidden reply: still accessible directly but absent from a completely inspected parent conversation. true: suspected restriction; false: no evidence in the checks performed; null: inconclusive or skipped.
reply_deboostingboolean | nullrequired
A sampled reply was found only after loading an explicit folded-replies section. true: suspected restriction; false: no evidence in the checks performed; null: inconclusive or skipped.
detailsShadowbanCheckEvidence
Include the original diagnostic result under data.details. The six compact fields remain unchanged. This option changes output only.
Show properties
screen_namestringrequired
user_idstring | nullrequired
checked_atstring<date-time>required
statusstringrequired
Allowed:suspectedno_evidenceinconclusive
suspected_shadowbanboolean | nullrequired
true: suspected restriction; false: no evidence in the checks performed; null: inconclusive or skipped.
account_searchShadowbanSearchEvidencerequired
Show properties
statusstringrequired
Allowed:visiblenot_foundinconclusive
querystringrequired
pages_checkedintegerrequired
min 0
matched_idsstring[]required
reasonstringrequired
baseline_post_idsstring[]
post_searchShadowbanSearchEvidencerequired
Show properties
statusstringrequired
Allowed:visiblenot_foundinconclusive
querystringrequired
pages_checkedintegerrequired
min 0
matched_idsstring[]required
reasonstringrequired
baseline_post_idsstring[]
reply_visibilityShadowbanReplyVisibilityrequired
Show properties
statusstringrequired
Allowed:visiblehiddendeboostedinconclusivemixedskipped
sample_countintegerrequired
min 0
reasonstringrequired
samplesShadowbanReplySample[]required
Show properties
Array of ShadowbanReplySample
reply_idstringrequired
parent_tweet_idstring | nullrequired
statusstringrequired
Allowed:visiblehiddendeboostedinconclusive
reasonstringrequired
pages_checkedintegerrequired
min 0
reply_accessibleboolean | nullrequired
parent_accessiblebooleanrequired
matched_entry_idstring
folded_cursor_typestring
folded_action_textstring
ghost_banShadowbanReplySummaryrequired
Show properties
statusstringrequired
Allowed:suspectedno_evidenceinconclusive
suspectedboolean | nullrequired
true: suspected restriction; false: no evidence in the checks performed; null: inconclusive or skipped.
checked_repliesintegerrequired
min 0
affected_reply_idsstring[]required
reasonstringrequired
reply_deboostingShadowbanReplySummaryrequired
Show properties
statusstringrequired
Allowed:suspectedno_evidenceinconclusive
suspectedboolean | nullrequired
true: suspected restriction; false: no evidence in the checks performed; null: inconclusive or skipped.
checked_repliesintegerrequired
min 0
affected_reply_idsstring[]required
reasonstringrequired
limitationsstringrequired
400Invalid request
codeintegerrequired
msgstringrequired
dataobject | any[]required
Show properties
Any of:
object
object
any[]
Array of any
any
401Authentication failed
codeintegerrequired
msgstringrequired
dataobject | any[]required
Show properties
Any of:
object
object
any[]
Array of any
any
403Authentication, quota or query access denied
codeintegerrequired
msgstringrequired
dataobject | any[]required
Show properties
Any of:
object
object
any[]
Array of any
any
404Upstream resource not found
codeintegerrequired
msgstringrequired
dataobject | any[]required
Show properties
Any of:
object
object
any[]
Array of any
any
429Rate limit exceeded
codeintegerrequired
msgstringrequired
dataobject | any[]required
Show properties
Any of:
object
object
any[]
Array of any
any
500Server error
codeintegerrequired
msgstringrequired
dataobject | any[]required
Show properties
Any of:
object
object
any[]
Array of any
any
502Upstream service error
codeintegerrequired
msgstringrequired
dataobject | any[]required
Show properties
Any of:
object
object
any[]
Array of any
any
503Service temporarily unavailable
codeintegerrequired
msgstringrequired
dataobject | any[]required
Show properties
Any of:
object
object
any[]
Array of any
any
504Upstream request timed out
codeintegerrequired
msgstringrequired
dataobject | any[]required
Show properties
Any of:
object
object
any[]
Array of any
any
⚡Interactive ConsolePOST
⚡Interactive Console / Try APIPOST
Live Console
🌐Target Server:https://api.twexapi.io
● Production Ready
🔍
Public Data Read (TwexAPI Key Only, No Twitter Cookie Required)

This endpoint queries public Twitter data — no Twitter account or Cookie required! Simply enter your TwexAPI Platform Key (Bearer Token) in the "API Authorization" section below to test.

🔑API Authorization
📝Request Bodyapplication/json
📡
No Response Yet

Configure parameters in the Request tab and click Send Request below.

Request
curl -X POST "https://api.twexapi.io/twitter/shadowban/check" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "screen_name": "example_user"
}'
Response
{
  "code": 200,
  "msg": "string",
  "data": {
    "screen_name": "string",
    "shadow_ban": true,
    "account_search_ban": true,
    "search_ban": true,
    "ghost_ban": true,
    "reply_deboosting": true,
    "details": {
      "screen_name": "string",
      "user_id": "string",
      "checked_at": "2019-08-24T14:15:22Z",
      "status": "suspected",
      "suspected_shadowban": true,
      "account_search": {
        "status": "visible",
        "query": "string",
        "pages_checked": 0,
        "matched_ids": [
          "string"
        ],
        "reason": "string",
        "baseline_post_ids": [
          "string"
        ]
      },
      "post_search": {
        "status": "visible",
        "query": "string",
        "pages_checked": 0,
        "matched_ids": [
          "string"
        ],
        "reason": "string",
        "baseline_post_ids": [
          "string"
        ]
      },
      "reply_visibility": {
        "status": "visible",
        "sample_count": 0,
        "reason": "string",
        "samples": [
          {
            "reply_id": "string",
            "parent_tweet_id": "string",
            "status": "visible",
            "reason": "string",
            "pages_checked": 0,
            "reply_accessible": true,
            "parent_accessible": true,
            "matched_entry_id": "string",
            "folded_cursor_type": "string",
            "folded_action_text": "string"
          }
        ]
      },
      "ghost_ban": {
        "status": "suspected",
        "suspected": true,
        "checked_replies": 0,
        "affected_reply_ids": [
          "string"
        ],
        "reason": "string"
      },
      "reply_deboosting": {
        "status": "suspected",
        "suspected": true,
        "checked_replies": 0,
        "affected_reply_ids": [
          "string"
        ],
        "reason": "string"
      },
      "limitations": "string"
    }
  }
}