Skip to content
Eden Engine

TikTok Profile Lookup (by Username, User ID, or Sec User ID)

omnial/tiktok-app-handler-user-profile

Given a TikTok unique_id (username), numeric user_id, or sec_user_id, returns that account's public profile: display name, bio (signature), verification status and reason, follower/following/video counts, total likes received, whether the account is private, and the display name of any linked Twitter or YouTube account the profile owner has published. Returns an empty result when the given identifier does not resolve to an existing account.

activeper callv3

Price

Up to $0.00205 per call; you pay what the call used

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

TikTok

Data from TikTok.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/tiktok-app-handler-user-profile" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/tiktok-app-handler-user-profile" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/tiktok-app-handler-user-profile", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/tiktok-app-handler-user-profile", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.00205
Updated
Oct 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "anyOf": [
    {
      "required": [
        "unique_id"
      ]
    },
    {
      "required": [
        "user_id"
      ]
    },
    {
      "required": [
        "sec_user_id"
      ]
    }
  ],
  "properties": {
    "user_id": {
      "type": "string",
      "description": "User uid (optional, pure number)"
    },
    "unique_id": {
      "type": "string",
      "description": "User unique_id (username)"
    },
    "sec_user_id": {
      "type": "string",
      "examples": [
        "MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM"
      ],
      "description": "User sec_user_id"
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "user": {
      "type": "object",
      "properties": {
        "uid": {
          "type": "string",
          "description": "The account's numeric platform id."
        },
        "secret": {
          "type": "number",
          "description": "Private-account flag. `0` for a public account; unconfirmed whether populated values are ever anything other than 0/1."
        },
        "sec_uid": {
          "type": "string",
          "description": "The account's stable secure user id, usable as `sec_user_id` input to this or related lookups."
        },
        "category": {
          "type": "string",
          "description": "The account's self-set creator category, e.g. 'Public Figure'."
        },
        "nickname": {
          "type": "string",
          "description": "The account's public display name."
        },
        "short_id": {
          "type": "string"
        },
        "signature": {
          "type": "string",
          "description": "The account's bio text."
        },
        "unique_id": {
          "type": "string",
          "description": "The account's TikTok username, echoing the queried unique_id."
        },
        "ad_virtual": {
          "type": "boolean"
        },
        "share_info": {
          "type": "object",
          "properties": {
            "share_url": {
              "type": [
                "string",
                "null"
              ],
              "description": "The account's own shareable profile link, withheld the same way as the avatar URLs above."
            },
            "share_desc": {
              "type": "string",
              "description": "The default share caption for this profile."
            },
            "share_title": {
              "type": "string",
              "description": "The default share invite title for this profile."
            }
          },
          "additionalProperties": true
        },
        "aweme_count": {
          "type": "number",
          "description": "The account's public video count."
        },
        "account_type": {
          "type": "number"
        },
        "avatar_thumb": {
          "type": "object",
          "properties": {
            "url_list": {
              "type": "array",
              "items": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "description": "Withheld, same as `avatar_168x168.url_list`."
            }
          },
          "additionalProperties": true
        },
        "twitter_name": {
          "type": "string",
          "description": "Linked Twitter/X handle the account owner has published, when any. Empty string otherwise."
        },
        "avatar_larger": {
          "type": "object",
          "properties": {
            "url_list": {
              "type": "array",
              "items": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "description": "Withheld, same as `avatar_168x168.url_list`."
            }
          },
          "additionalProperties": true
        },
        "avatar_medium": {
          "type": "object",
          "properties": {
            "url_list": {
              "type": "array",
              "items": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "description": "Withheld, same as `avatar_168x168.url_list`."
            }
          },
          "additionalProperties": true
        },
        "custom_verify": {
          "type": "string",
          "description": "The custom verification badge text, e.g. 'popular creator'. Empty string when unset."
        },
        "forward_count": {
          "type": "number"
        },
        "live_commerce": {
          "type": "boolean",
          "description": "Whether live-shopping is enabled for this account."
        },
        "avatar_168x168": {
          "type": "object",
          "properties": {
            "url_list": {
              "type": "array",
              "items": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "description": "Signed, time-limited CDN URLs for this avatar size, withheld (returned as `null` regardless of the account having one) -- only whether the field is populated is observable, not the destination itself."
            }
          },
          "additionalProperties": true
        },
        "avatar_300x300": {
          "type": "object",
          "properties": {
            "url_list": {
              "type": "array",
              "items": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "description": "Withheld, same as `avatar_168x168.url_list`."
            }
          },
          "additionalProperties": true
        },
        "follower_count": {
          "type": "number"
        },
        "following_count": {
          "type": "number"
        },
        "privacy_setting": {
          "type": "object",
          "properties": {
            "following_visibility": {
              "type": "number",
              "description": "Whether the account's following list is publicly visible."
            }
          },
          "additionalProperties": true
        },
        "total_favorited": {
          "type": "number",
          "description": "Total likes this account has received across all its videos."
        },
        "favoriting_count": {
          "type": "number",
          "description": "Videos this account has liked/favorited."
        },
        "is_effect_artist": {
          "type": "boolean",
          "description": "Whether this account is a published AR-effect creator."
        },
        "has_open_favorite": {
          "type": "boolean",
          "description": "Whether the account's favorites list is public."
        },
        "original_musician": {
          "type": "object",
          "properties": {
            "digg_count": {
              "type": "number"
            },
            "music_count": {
              "type": "number"
            },
            "music_used_count": {
              "type": "number"
            }
          },
          "description": "Musician stats, populated when this account is a music-rights holder on TikTok.",
          "additionalProperties": true
        },
        "verification_type": {
          "type": "number"
        },
        "show_favorite_list": {
          "type": "boolean"
        },
        "signature_language": {
          "type": "string",
          "description": "Language code detected for the bio text, e.g. 'un' (undetermined)."
        },
        "visible_videos_count": {
          "type": "number"
        },
        "youtube_channel_title": {
          "type": "string",
          "description": "Linked YouTube channel name the account owner has published, when any. Empty string otherwise."
        },
        "verification_badge_type": {
          "type": "number"
        },
        "enterprise_verify_reason": {
          "type": "string",
          "description": "Empty string when not an enterprise-verified account."
        },
        "show_messaging_entrance_on_profile": {
          "type": "boolean"
        }
      },
      "description": "The looked-up account's profile. Absent entirely on a not-found lookup.",
      "additionalProperties": true
    },
    "status_msg": {
      "type": "string"
    },
    "status_code": {
      "type": "number",
      "description": "The source's own status code, typically 0 on a successful lookup."
    }
  },
  "description": "The profile record. An empty object `{}` when the given unique_id, user_id, or sec_user_id does not resolve to an existing TikTok account.",
  "additionalProperties": true
}