# x4o2 FOMO Bulk Profiles Lookup

> x4o2 FOMO Bulk Profiles Lookup is a paid API for AI agents from fomo.x4o2.com, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-31).

Fetch FOMO trader profiles in bulk by user IDs or handles, optionally including all-time and period-specific PnL ranks

## Facts

- Endpoint: GET https://fomo.x4o2.com/v1/profiles?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x4o2-fomo-bulk-profiles-lookup-a80bc83f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_58zF96IWu9RD32pe88hn7

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 x4o2-fomo-bulk-profiles-lookup-a80bc83f
```

Example prompt: Pull the FOMO profiles for these trader IDs — a1b2c3d4-..., e5f6g7h8-..., and i9j0k1l2-... — and include their 24h, 7d, 30d, and all-time PnL ranks so I can see who's performing best right now.

## When to prefer this

Use this endpoint when you need to enrich or rank a set of traders collected from token holders, follower lists, or the feed, especially when you need to go beyond the leaderboard's top-150 cap. Prefer over single-profile endpoints when batching up to 50 users at once. Use ids= for efficiency (single upstream read for all 50); use handles= when only handles are available. This is the right endpoint when you need wallet addresses (Solana and EVM) for a known set of FOMO users, or when you want to overlay PnL rank data onto any user collection.

## Known failure modes

- Exceeds 50 IDs or 25 handles limit — request is rejected
- ids and handles used together — mutually exclusive, returns error
- Unknown IDs or handles silently moved to data.notFound rather than failing
- Stale cache returned when stale=1 is set — data may be outdated
- include=rank adds one extra upstream read per user — latency increases with batch size
- Payment failure (x402) if USDC balance is insufficient

## How this service works

Many FOMO traders at once: ids= (up to 50 user ids, one upstream read) or handles= (up to 25, one read each). Each entry is the profile with Solana (address) and EVM (evmAddress) wallets; include=rank adds rank = { all, 24h, 7d, 30d } of { rank, pnl } per user (one extra read each). Unknown ids or handles go to data.notFound instead of failing the call. Use to rank or enrich traders collected from holders, followers, following or the feed: the way to ranks beyond the leaderboard's top 150.

## Output

Returns a data object with a users array, each entry containing the trader's FOMO id, userHandle, displayName, Solana address, EVM address, follower/following counts, trade counts, clan, badge, verification status, and optionally a rank object with all/24h/7d/30d sub-objects each containing rank and PnL. Unknown ids or handles are returned in data.notFound rather than causing errors.

## 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"
    },
    "pathParams": {
     "type": "object",
     "required": [],
     "properties": {}
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "ids": {
       "type": "string",
       "description": "Comma-separated FOMO user ids (uuid), 1-50; exclusive with handles"
      },
      "stale": {
       "enum": [
        0,
        1
       ],
       "type": "integer",
       "description": "1 returns any cached copy immediately and refreshes in the background"
      },
      "maxAge": {
       "type": "integer",
       "minimum": 0,
       "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed"
      },
      "handles": {
       "type": "string",
       "description": "Comma-separated FOMO handles, 1-25; exclusive with ids"
      },
      "include": {
       "type": "string",
       "description": "Comma-separated extras: rank"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "data",
      "meta"
     ],
     "properties": {
      "data": {
       "type": [
        "object",
        "null"
       ],
       "properties": {
        "users": {
         "type": [
          "array",
          "null"
         ],
         "items": {
          "type": [
           "object",
           "null"
          ],
          "properties": {
           "id": {
            "type": [
             "string",
             "null"
            ]
           },
           "clan": {
            "type": [
             "object",
             "null"
            ]
           },
           "rank": {
            "type": [
             "object",
             "null"
            ]
           },
           "badge": {
            "type": [
             "object",
             "null"
            ]
           },
           "address": {
            "type": [
             "string",
             "null"
            ]
           },
           "private": 
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x4o2-fomo-bulk-profiles-lookup-a80bc83f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from fomo.x4o2.com](https://www.zero.xyz/host/fomo.x4o2.com/llms.txt)
