Users

Check an X account for a shadowban

Changed on

Checks 1 X account for a search ban, a search suggestion ban & reply deboosting. It also says if the account is active, protected or suspended.

Each check answers pass, fail or unknown, with its reason & the posts, suggestions or replies it read. The reply check answers pass or unknown, since X ranks replies for each viewer. A protected account gets the suggestion check only, and a suspended account gets the account check only. Each profile, post, suggestion & reply in the answer costs 1 credit.

Shadowban checks show if X search lists an account, with each post they read.

get/api/v1/x/users/{id}/shadowban

Request

  • Base URL
    https://xquik.com
  • URL
    https://xquik.com/api/v1/x/users/{id}/shadowban
  • Auth
    • API key in header x-api-key
    • or HTTP bearer
    • or none

Path parameters

idstring required

User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 invalid_user_id.

Query parameters

fieldsstring
Example:id,text,author.username

Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields. A longer URL fails at the edge before Xquik reads it. Pick only the fields you need with fields & omit.

omitstring
Example:entities,media

Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields. A longer URL fails at the edge before Xquik reads it.

Response

Shadowban checks

usernamestring nullable required

Username of the account. Null for a suspended account asked for by ID.

userIdstring nullable required

ID of the account. Null for a suspended account asked for by username.

account'active' | 'protected' | 'suspended' required

Whether the account is active, protected or suspended.

Example response

{
  "username": "NASA",
  "userId": "11348282",
  "account": "active",
  "checks": {
    "account": {
      "verdict": "pass",
      "reason": "active",
      "evidence": {
        "profileUrl": "https://x.com/NASA"
      }
    },
    "search": {
      "verdict": "pass",
      "reason": "listed",
      "evidence": {
        "query": "from:NASA",
        "searchUrl": "https://x.com/search?q=from%3ANASA&f=live",
        "recentPostIds": [
          "2103610284464316469"
        ],
        "foundPostIds": [
          "2103610284464316469"
        ]
      }
    },
    "suggestion": {
      "verdict": "pass",
      "reason": "suggested",
      "evidence": {
        "query": "NASA",
        "suggestedUsernames": [
          "NASA"
        ]
      }
    },
    "replies": {
      "verdict": "unknown",
      "reason": "no_recent_replies",
      "evidence": {
        "replies": []
      }
    }
  }
}

Changes