# X (formerly Twitter) - Veezee docs

Volume and recency: a deep chronological sweep across the whole platform, not just one community.

## Tools

- **x_search** (6 credits): Search X (formerly Twitter). [/docs/tools/x_search](https://veezee.io/docs/tools/x_search)
- **x_get_profile** (4 credits): Get an X profile. [/docs/tools/x_get_profile](https://veezee.io/docs/tools/x_get_profile)
- **x_get_tweets** (4 credits): Get an account's tweets. [/docs/tools/x_get_tweets](https://veezee.io/docs/tools/x_get_tweets)
- **x_get_tweet** (4 credits): Get one tweet with full metrics. [/docs/tools/x_get_tweet](https://veezee.io/docs/tools/x_get_tweet)
- **x_resolve_url** (2 credits): Identify an X URL. [/docs/tools/x_resolve_url](https://veezee.io/docs/tools/x_resolve_url)

`get_usage` checks balance and works the same way across every platform: free, 0 credits. https://veezee.io/docs/tools/get_usage

## Quickstart

### 1. Mint a free key

```
curl -s -X POST https://api.veezee.io/v1/keys/mint
```

No signup, no card, no human: one call returns a key, shown once, plus ready-made setup snippets. The CLI does this for you (`npx @veezee/sdk init`) and stores the key in `~/.veezee/config`.

### 2. Call the API

```
curl "https://api.veezee.io/v1/x/profiles?identifier=nasa" \
  -H "Authorization: Bearer $VEEZEE_API_KEY"
```

The free key runs under a shared budget of 200 credits per IP per day, recent data only, no realtime, no `Idempotency-Key` needed. Call without a key and the response is a machine-readable `KEY_REQUIRED` error carrying this exact recipe, so any agent self-heals in one round-trip.

### 3. Or connect over MCP

```
https://mcp.veezee.io/x
```

transport: streamable-http, same free budget as REST. Claude Code, claude.ai, and other clients that support the MCP authorization spec open a browser sign-in automatically (email code, no password, no card, no key to copy). Other clients: put the key from step 1 in your MCP client's connection headers.

### 4. Hit the daily cap? Buy credits

The error names `upgrade_url`: https://veezee.io/upgrade. Pick a pack and pay: checkout credits the same key, nothing to reconfigure. Send it as `Authorization: Bearer <api_key>` on every REST call (plus an `Idempotency-Key` header on metered routes), or in your MCP client's connection headers. That checkout is the only human step in the product.

## What comes back

[x_search](https://veezee.io/docs/fields#x_search), [x_profile](https://veezee.io/docs/fields#x_profile), [x_tweets](https://veezee.io/docs/fields#x_tweets), [x_tweet](https://veezee.io/docs/fields#x_tweet), [url_resolution](https://veezee.io/docs/fields#url_resolution). Full field lists: https://veezee.io/docs/fields

## Limits

- No batch tweet lookup: x_get_tweet fetches one tweet at a time.
- t.co links cannot be resolved offline: x_resolve_url returns INVALID_INPUT for them; expand them in a browser step first.
- People search returns a single page: x_search type=people has no cursor.

Other platforms: [LinkedIn](https://veezee.io/docs/linkedin), [Reddit](https://veezee.io/docs/reddit).

X (formerly Twitter) API for AI agents: https://veezee.io/x-api-for-ai-agents

Full tool reference: https://veezee.io/docs
