# Bluesky Profile Lookup

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

Fetches public profile metadata for a single Bluesky account by handle, DID, or bsky.app URL, returning display name, bio, follower/following/post counts, verification status, avatar, creation date, and DID.

## Facts

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

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 bluesky-profile-lookup-f675db33
```

Example prompt: Can you pull up the Bluesky profile for pfrazee.com — I want to see their display name, bio, follower count, and whether they're verified?

## When to prefer this

Use this endpoint when you need structured profile metadata for a single known Bluesky account — especially when you already have the handle, DID, or bsky.app URL and want authoritative counts (followers, following, posts) plus identity fields (DID, avatar, bio, verification). Prefer this over the Bluesky Posts & Search sibling when you need account-level stats rather than post content. It is cost-effective at $0.01/call for single-account lookups and charges nothing for bad or unresolvable inputs.

## Known failure modes

- Handle not found on Bluesky — returns not-found response (not charged)
- Malformed handle, DID, or URL input — treated as bad input, returned free
- Rate limiting by the upstream Bluesky AppView API causing delayed or failed responses
- Private or suspended accounts may return no profile data
- DID resolution failure for did:web identifiers if the domain is unreachable

## How this service works

Social media data API: posts, profiles, comments, search and mentions from Bluesky, Hacker News, X (Twitter), Reddit, TikTok, Instagram, YouTube, Threads, the Meta Ad Library, LinkedIn company pages, in one JSON schema, paid per call over x402 with USDC on Base. No account, no API key.

## Output

Returns a JSON object containing: the account's DID, bsky.app profile URL, display name, bio text, follower count, following count, post count, verification status, avatar image URL, account creation timestamp, and the query handle used. Wrapped in a shared social schema with platform, source disclaimer, request ID, and as_of timestamp.

## 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": 253,
       "description": "The account: a Bluesky handle (a domain name such as name.bsky.social, or a bare name meaning name.bsky.social), a did:plc / did:web identifier, or a bsky.app 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": "did:plc:synth000000000000000000000001",
    "url": "https://bsky.app/profile/synth-alpha.bsky.social",
    "lang": null,
    "text": "Synthetic Bluesky account for tests.",
    "type": "profile",
    "author": {
     "handle": "synth-alpha.bsky.social",
     "verified": true,
     "followers": 1234,
     "display_name": "Synthetic Alpha"
    },
    "metrics": {
     "likes": null,
     "views": null,
     "replies": null,
     "reposts": null
    },
    "profile": {
     "posts": 789,
     "following": 56,
     "likes_total": null
    },
    "platform": "bluesky",
    "parent_id": null,
    "created_at": "2023-06-01T12:00:00.000Z",
    "media_urls": [
     "https://cdn.bsky.app/img/avatar/plain/did:plc:synth000000000000000000000001/bafkreisynth@jpeg"
    ]
   }
  ],
  "query": {
   "handle": "synthbrand.bsky.social"
  },
  "source": "public data via the Bluesky AppView API; not affiliated with Bluesky",
  "complete": true,
  "platform": "bluesky",
  "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/bluesky-profile-lookup-f675db33/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)
