---
title: "User Status"
method: GET
path: "/user/status"
tags: ["User Reads"]
---

# User Status

`GET /user/status`

## Request

- Base URL: `https://api.twitterapis.com/twitter`
- URL: `https://api.twitterapis.com/twitter/user/status`
- Auth: HTTP bearer

Return the liveness state of a handle: alive, suspended, not_found, or unavailable. Every outcome is an HTTP 200 and the caller branches on the status field. This exists because a standard profile lookup collapses suspended, deleted, and never-existed into one indistinguishable 404. Cost: $0.0008 per call.

## Query parameters

- `userName` string, required: Handle without the leading @. The alias `username` is also accepted.
- `fields` string
- `compact` '1'

## Response `200`

Check whether an account is alive, suspended, or deleted.

- object
  - `userName` string: The handle you asked about, echoed back.
  - `status` string: One of alive, suspended, not_found, or unavailable. `unavailable` means X reported a state we do not map to the other three; the reason field carries its wording.
  - `id` string, nullable: The numeric user ID when the account is alive; null otherwise.
  - `reason` string, nullable: X's own explanation when it gives one; null for a healthy account.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `402`: Insufficient credits
- `403`: Forbidden
- `404`: Not found
- `429`: Rate limited
- `5XX`: Server error

---

[API](https://skmtc.dev/twitterapis/apis/twitterapis-api.md) · [All operations](https://skmtc.dev/twitterapis/apis/twitterapis-api/llms.txt) · [OpenAPI document](https://skmtc.dev/twitterapis/apis/twitterapis-api/revisions/a33ce0fedb3c?raw)
