> ## Documentation Index
> Fetch the complete documentation index at: https://docs.catchthegoodones.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Lookup: enrich an X handle

> One-shot LinkedIn URL + email enrichment for an X handle or profile ID

One-shot enrichment for the Chrome extension and external integrators that don't have a lead row yet. For a known lead row, use [Enrich a lead](/api-reference/enrich-lead).

## Body

| Field               | Type             | Description                                 |
| ------------------- | ---------------- | ------------------------------------------- |
| `x_handle`          | string           | Exactly one of `x_handle` or `x_profile_id` |
| `x_profile_id`      | string           | Exactly one of `x_handle` or `x_profile_id` |
| `requested_outputs` | array (required) | `["linkedin_url"]`, `["email"]`, or both    |
| `email_mode`        | enum             | `"verified"` or `"any"`. Default `"any"`.   |
| `max_cost_credits`  | number           | Soft cap. Default 5.                        |

## Response

```json theme={null}
{
  "enrichment_request_id": 999,
  "status": "complete",
  "actual_cost_credits": 2,
  "credit_consumed": true,
  "credits_remaining": 47,
  "contact_routes": [
    { "route_type": "linkedin_url", "value": "https://linkedin.com/in/alice", "confidence": "high", "provider": "scrapebadger_serp" }
  ],
  "linkedin": { "url": "...", "confidence": "high", "alternatives": [], "provider": "scrapebadger_serp" },
  "email": { "value": "alice@acme.com", "status": "verified", "provider": "prospeo" }
}
```

## Errors

| Code                   | HTTP | When                                          |
| ---------------------- | ---- | --------------------------------------------- |
| `missing_identifier`   | 400  | Neither x\_handle nor x\_profile\_id supplied |
| `ambiguous_identifier` | 400  | Both supplied                                 |
| `x_handle_not_found`   | 404  | Handle didn't resolve                         |
| `credits_exhausted`    | 429  | Insufficient balance                          |
| `profile_fetch_failed` | 503  | Upstream X lookup down                        |

## Auth

Bearer API key (extension or manual). Both debit from team credit balance.
