# User tweets API - Veezee

Fetch one page of an X account's timeline: the voice check before outreach, the raw feed for a monitoring loop. `mode` picks the view: posts (default), posts_and_replies, or highlights; `include_retweets=false` filters retweets out. Each tweet comes back as a summary with engagement counts, plus a cursor for older pages.

Each page costs 4 credits; a cursor page is a new call priced the same way.

## Try it now

No account, no card: mint a free key in one call, then call the endpoint.

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

```
curl "https://api.veezee.io/v1/x/tweets?identifier=nasa" \
  -H "Authorization: Bearer $VEEZEE_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
```

## Over MCP

Point an MCP client at `https://mcp.veezee.io/x` (streamable-http; `https://mcp.veezee.io/all` serves every platform over one connection) and call `x_get_tweets`:

```json
{
  "method": "tools/call",
  "params": {
    "name": "x_get_tweets",
    "arguments": {
      "identifier": "nasa"
    }
  }
}
```

## Parameters

| Param | Required | Type | Description |
| --- | --- | --- | --- |
| `identifier` | yes | `string` | Screen name without the @, profile URL, or numeric account id. |
| `mode` | no | `string` | Which timeline view to read. |
| `include_retweets` | no | `boolean` | Set false to drop retweets from the page. |
| `cursor` | no | `string` | Cursor from a previous page for older tweets. |
| `freshness` | no | `string` | recent (default) serves cached data from the last few hours when available; realtime forces a live fetch for +2 credits (refunded if we fall back to cached data). Trial keys are cached-only and reject realtime with TRIAL_CAP_EXCEEDED; paying upgrades this same key to unlock it. |
| `max_credits` | no | `integer` | Spend ceiling for this one call. The call is rejected (nothing charged) if its quote exceeds this. Only the quote is ever reserved, never this ceiling. |

Returns a `x_tweets` envelope. Full field list: https://veezee.io/docs/fields#x_tweets

## Pricing

`x_get_tweets` costs 4 credits base per call (surcharges for optional sections, cursor pages, and batches: https://veezee.io/docs/tools/x_get_tweets). Every key starts with a free budget of 200 credits per IP per day, no account, no card; past that, credits are $2.00 per 1,000 with no subscription required.

## FAQ

**Just the account's original tweets?**

mode=posts with include_retweets=false.

**Can I search within the timeline?**

Use [x_search](https://veezee.io/docs/tools/x_search) with a `from:` operator instead; this call reads pages in order.

**Full metrics for one tweet I found?**

Its id goes to the [tweet metrics API](https://veezee.io/tweet-metrics-api).

## Read next

- [x_get_tweets: the full reference](https://veezee.io/docs/tools/x_get_tweets)
- [X (formerly Twitter) API for AI agents](https://veezee.io/x-api-for-ai-agents)
- [Pricing](https://veezee.io/pricing)
