---
title: "User About"
method: GET
path: "/user/user_about"
tags: ["User Reads"]
---

# User About

`GET /user/user_about`

## Request

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

Read a profile's full About object: identity, bio, location, linked website, avatar, verification and identity-verification flags, professional account type and categories, follower and following counts, the account creation date, and X's "About this account" transparency panel (account country, how the account was created, and username-change history). Cost: $0.0008 per call.

## Query parameters

- `username` string, required: Handle without the leading @. Required: unlike the other user reads, this endpoint cannot be called with user_id alone.
- `user_id` string: Numeric user ID. Not currently a substitute for username on this endpoint: a user_id-only request fails upstream. Resolve the ID to a handle with GET /user/info_by_id and pass username.
- `fields` string
- `compact` '1'

## Response `200`

Fetch a profile's extended About / professional details.

- object
  - `about` About: A profile's full About object: identity, bio, location, linked website, verification and identity-verification flags, the professional account type and categories, follower/following counts, avatar, the account-creation date, and the "About this account" transparency panel (account country, how the account was created, username-change history).
    - `id` string, nullable: Numeric user ID as a string.
    - `username` string, nullable: Handle without the leading @.
    - `name` string, nullable: Display name.
    - `description` string, nullable: Profile bio text.
    - `location` string, nullable: Self-reported location.
    - `url` string, nullable: Linked website URL, when set.
    - `is_blue_verified` boolean: Whether the account carries the Verified (Blue) badge.
    - `verified` boolean: Whether the account is legacy-verified.
    - `verified_type` string, nullable: Verification type, for example Business or Government, when applicable; null otherwise.
    - `professional_type` string, nullable: Professional account type, for example "Creator" or "Business", when the account publishes one; null otherwise.
    - `professional_categories` string[]: Professional category names the account has published (populated only for Professional/Business accounts; empty array otherwise).
    - `followers_count` integer, nullable: Follower count.
    - `following_count` integer, nullable: Following count.
    - `created_at` string, nullable: Account creation timestamp in Twitter date format.
    - `profile_image_url` string, nullable: Avatar image URL.
    - `is_identity_verified` boolean, nullable: Whether the account has completed X's identity verification. Null when the profile carries no verification_info block (an honest "not available", never a fabricated value).
    - `verified_since` string, nullable: Timestamp the account was verified, as the raw epoch-milliseconds string X emits; null when not available.
    - `account_based_in` string, nullable: Country the account is based in, from X's "About this account" transparency panel; null when the panel is unavailable.
    - `created_via` string, nullable: How the account was created, from X's "About this account" transparency panel, for example "United States App Store". X names this field `source` upstream; it is surfaced here as created_via (the "connected via / created via" concept). Null when the panel is unavailable.
    - `username_changes` object, nullable: Username-change history from X's "About this account" transparency panel; null when the panel is unavailable.
      - `count` integer: Number of times the account has changed its username.
      - `last_changed_at` string, nullable: When the username was last changed, as the raw epoch-milliseconds string X emits; null when the account has never changed its username (count is 0).
    - `created_country_accurate` boolean, nullable: Whether X considers account_based_in an accurate reflection of the account's country of origin; null when the transparency panel is unavailable.
    - `location_accurate` boolean, nullable: Whether X considers the self-reported location accurate; null when the transparency panel is unavailable.
    - `learn_more_url` string, nullable: X help-center link explaining the "About this account" transparency data; null when the panel is unavailable.
    - `protected` boolean, nullable: Whether the account is locked, so only approved followers can see its posts. Null on a trimmed user object that carries no protected key, which is an honest "not available" rather than a claim the account is public.
    - `affiliate_label` object, nullable: The affiliation badge X shows beside the display name, linking the account to a parent organization. Null when the account has no affiliation.
      - `description` string, nullable: The parent organization's display name, for example "X".
      - `badge_url` string, nullable: URL of the small badge image X renders next to the name.
      - `url` string, nullable: Link to the parent organization's profile.
    - `about_profile` object: The profile About card and the "About this account" transparency panel grouped into one object, alongside the flat fields above. Every member mirrors a flat field of the same meaning except birthdate, which appears nowhere else in the response. The object itself is always present on a resolved profile; each member is null when X did not send it.
      - `bio` string, nullable: Profile bio text. Same value as the flat description field.
      - `location` string, nullable: Self-reported location. Same value as the flat location field, and an empty string when the account set none.
      - `website` string, nullable: Linked website URL. Same value as the flat url field, and an empty string when the account set none.
      - `birthdate` object, nullable: Birthday from the About card, returned only when the account has one set and makes it visible. Null otherwise. Parts X withholds come back null individually, so a birthday shown as a day and month with no year returns year null.
        - `day` integer, nullable: Day of the month.
        - `month` integer, nullable: Month number, 1 for January.
        - `year` integer, nullable: Year; null when the account hides it.
        - `visibility` string, nullable: Who the account shows the birthday to, for example Public, Followers, or Self.
      - `account_based_in` string, nullable: Country the account is based in, from the transparency panel. Same value as the flat account_based_in field.
      - `created_via` string, nullable: How the account was created, for example "United States App Store" or "Web". Same value as the flat created_via field.
      - `username_changes` object, nullable: Username-change history from the transparency panel. Same value as the flat username_changes field.
        - `count` integer: Number of times the account has changed its username.
        - `last_changed_at` string, nullable: When the username was last changed, as the raw epoch-milliseconds string X emits; null when the account has never changed it.
      - `created_country_accurate` boolean, nullable: Whether X considers account_based_in an accurate reflection of where the account was created.
      - `location_accurate` boolean, nullable: Whether X considers the self-reported location accurate.
      - `learn_more_url` string, nullable: X help-center link explaining the transparency data.
    - `identity_label` object, nullable: The identity badge X shows on business and organisation profiles. Three states, and they are not interchangeable: null means X sent no block, so we do not know; an object whose label is null means X sent an empty block, so the account has no identity label; an object with a populated label is a real badge. Null on every account sampled so far.
      - `label` object, nullable: The badge itself. Null when X sent the block but the account carries no label.
        - `description` string, nullable: The label text, for example the organisation name.
        - `badge_url` string, nullable: URL of the badge image X renders beside the display name.
        - `url` string, nullable: Link the badge points to.
        - `url_type` string, nullable: The kind of link X attached to the badge.
        - `display_type` string, nullable: How X displays the label on the profile.
        - `label_type` string, nullable: The label category X assigned, for example a business or government label.

## 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)
