# X (Twitter) User Profile Lookup

> X (Twitter) User Profile Lookup is a paid API for AI agents from social.duoleads.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-29).

Fetches a single public X (Twitter) account's profile data—display name, bio, follower/following counts, post count, verification status, avatar URL, and account creation date—by handle or x.com URL.

## Facts

- Endpoint: GET https://social.duoleads.com/v1/x/profile?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x-twitter-user-profile-lookup-260a5fd4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_8COmX2UMYgcTX6Oky3Eca

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability x-twitter-user-profile-lookup-260a5fd4
```

Example prompt: Can you look up the public X profile for @elonmusk — I want their follower count, bio, verification status, and when the account was created?

## When to prefer this

Choose this endpoint when you need a structured snapshot of a single public X/Twitter account's profile metrics and metadata by handle or URL. It is ideal for CRM enrichment, influencer vetting, account age/verification checks, and social research pipelines. It returns a normalized social schema consistent with sibling endpoints (Instagram, LinkedIn, etc.), making it easy to compare profiles across platforms. Bad input is free, so it is safe to call speculatively.

## Known failure modes

- Handle not found or account does not exist — returns empty items array, not charged
- Malformed or invalid handle input — treated as bad input, not charged
- Private or suspended account — no data returned
- Rate limiting or upstream provider unavailability — may return error
- Handle with special characters or typos causing no match

## How this service works

X User Profile Lookup: one public X (Twitter) account by handle or x.com URL: display name, bio, followers, following, post count, verification, avatar link and creation time, in the shared social schema. Bad input is free; not found or no match is not charged.

## Output

Returns a JSON object containing the matched X account's user ID, handle, display name, bio text, follower count, following count, total post count, total likes, verification flag, avatar image URL, account creation timestamp, and platform identifier. Also includes query echo, a request ID, data source disclaimer, and a completeness flag.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "handle"
     ],
     "properties": {
      "handle": {
       "type": "string",
       "maxLength": 200,
       "description": "An X handle (with or without @) or an x.com profile URL."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "as_of": "2026-10-15T12:00:00.000Z",
  "items": [
   {
    "id": "20000001",
    "url": "https://x.com/synthbrand",
    "lang": null,
    "text": "Synthetic account for tests.",
    "type": "profile",
    "author": {
     "handle": "synthbrand",
     "verified": true,
     "followers": 44240,
     "display_name": "Synthetic Brand"
    },
    "metrics": {
     "likes": null,
     "views": null,
     "replies": null,
     "reposts": null
    },
    "profile": {
     "posts": 213,
     "following": 81,
     "likes_total": 99
    },
    "platform": "x",
    "parent_id": null,
    "created_at": "2014-03-12T09:30:00.000Z",
    "media_urls": [
     "https://pbs.twimg.invalid/profile/synthbrand.jpg"
    ]
   }
  ],
  "query": {
   "handle": "synthbrand"
  },
  "source": "public data via third-party provider; not affiliated with the platform",
  "complete": true,
  "platform": "x",
  "disclaimer": "Public data via third-party providers; not affiliated with or endorsed by any platform. Do not use to profile, target or train AI on individuals.",
  "request_id": "01KEXAMPLE0000000000000000",
  "next_cursor": null
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x-twitter-user-profile-lookup-260a5fd4/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from social.duoleads.com](https://www.zero.xyz/host/social.duoleads.com/llms.txt)
