home / skills / openclaw / skills / search-x

search-x skill

/skills/mvanhorn/search-x

This skill enables real-time X/Twitter search with xAI Grok or X API, returning tweets, trends, and citations for quick insights.

npx playbooks add skill openclaw/skills --skill search-x

Review the files below or copy the command above to add this skill to your agents.

Files (5)
SKILL.md
4.0 KB
---
name: search-x
description: Search X/Twitter in real-time using Grok or X API. Find tweets, trends, and discussions with citations.
homepage: https://docs.x.ai
user-invocable: true
disable-model-invocation: true
triggers:
  - search x
  - search twitter
  - find tweets
  - what's on x about
  - x search
  - twitter search
metadata:
  clawdbot:
    emoji: "🔍"
    primaryEnv: XAI_API_KEY
    requires:
      bins: [node]
      env: [XAI_API_KEY]
---

# Search X

Real-time X/Twitter search with two modes:
1. **xAI Grok** (default) — AI-powered search with x_search tool, up to 30 days
2. **X API** (`--x-api`) — Native X search, up to 7 days, pay-per-use

## Setup

### Option 1: xAI API (default)

```bash
export XAI_API_KEY="xai-YOUR-KEY"
```
Get your key at: https://console.x.ai

### Option 2: X API (native)

```bash
export X_BEARER_TOKEN="YOUR-BEARER-TOKEN"
```
Get your token at: https://console.x.com

**Note:** X API uses pay-per-usage pricing. No subscription needed.

## Commands

### Basic Search (xAI Grok)
```bash
node {baseDir}/scripts/search.js "AI video editing"
```

### Native X API Search
```bash
node {baseDir}/scripts/search.js --x-api "AI video editing"
node {baseDir}/scripts/search.js --x-api --max 50 "trending topic"  # More results
```

### Filter by Time
```bash
node {baseDir}/scripts/search.js --days 7 "breaking news"
node {baseDir}/scripts/search.js --days 1 "trending today"
node {baseDir}/scripts/search.js --x-api --days 7 "news"  # X API max is 7 days
```

### Filter by Handles
```bash
node {baseDir}/scripts/search.js --handles @elonmusk,@OpenAI "AI announcements"
node {baseDir}/scripts/search.js --exclude @bots "real discussions"
```

### Output Options
```bash
node {baseDir}/scripts/search.js --json "topic"        # Full JSON response
node {baseDir}/scripts/search.js --compact "topic"     # Just tweets, no fluff
node {baseDir}/scripts/search.js --links-only "topic"  # Just X links
```

## Example Usage in Chat

**User:** "Search X for what people are saying about Claude Code"
**Action:** Run search with query "Claude Code"

**User:** "Find tweets from @remotion_dev in the last week"
**Action:** Run search with --handles @remotion_dev --days 7

**User:** "What's trending about AI on Twitter today?"
**Action:** Run search with --days 1 "AI trending"

**User:** "Search X for Remotion best practices, last 30 days"
**Action:** Run search with --days 30 "Remotion best practices"

## How It Works

### xAI Grok Mode (default)
Uses xAI's Responses API (`/v1/responses`) with the `x_search` tool:
- Model: `grok-4-1-fast` (optimized for agentic search)
- Up to 30 days of history
- AI-powered result formatting with citations
- Returns real tweets with URLs

### X API Mode (--x-api)
Uses X's native search API (`/2/tweets/search/recent`):
- Up to 7 days of history
- Pay-per-usage pricing (no subscription)
- Raw tweet data with metrics
- Up to 100 results per query

## Response Format

Each result includes:
- **@username** (display name)
- Tweet content
- Date/time
- Engagement metrics (X API mode)
- Direct link to tweet

## Environment Variables

**xAI Mode:**
- `XAI_API_KEY` - Your xAI API key (required for default mode)
- `SEARCH_X_MODEL` - Model override (default: grok-4-1-fast)
- `SEARCH_X_DAYS` - Default days to search (default: 30)

**X API Mode:**
- `X_BEARER_TOKEN` - Your X API Bearer Token
- `TWITTER_BEARER_TOKEN` - Alternative env var name

## Security & Permissions

**What this skill does:**
- Calls xAI's `/v1/responses` endpoint (Grok mode) or X's `/2/tweets/search/recent` endpoint (X API mode)
- Returns public tweet data with URLs and citations
- All requests go only to `api.x.ai` or `api.x.com`

**What this skill does NOT do:**
- Does not post, like, retweet, or modify any X/Twitter content
- Does not access your X/Twitter account or DMs
- Does not read config files or access the local filesystem
- Does not send credentials to any third-party endpoint
- Cannot be invoked autonomously by the agent (`disable-model-invocation: true`)

Review `scripts/search.js` before first use to verify behavior.

Overview

This skill provides real-time search of X (Twitter) using either xAI Grok or the native X API, returning tweets, trends, and discussion threads with citations and direct links. It supports flexible filters (time range, handles, include/exclude) and multiple output formats (JSON, compact, links-only). The default mode uses xAI Grok for up-to-30-day searches; an optional X API mode provides native results up to 7 days with pay-per-use pricing.

How this skill works

By default the skill calls xAI's Responses API with the x_search tool and a grok model to perform up-to-30-day, AI-powered searches that include formatted results and source URLs. An optional --x-api flag switches to X's recent search endpoint, returning raw tweet data, metrics, and up-to-7-day history. Queries support filters for days, handles, exclusions, and result limits, and responses include username, content, timestamp, metrics (X API), and direct tweet links.

When to use it

  • Quickly find public reactions and conversations about a breaking topic within the last 1–30 days.
  • Collect tweet citations and direct links for reporting or research.
  • Monitor specific handles or exclude bot accounts from search results.
  • Get raw tweet metrics and structured data using X API for analytics workflows.
  • Produce compact lists of links for archival or sharing purposes.

Best practices

  • Use the default Grok mode for broader 30-day searches and AI-formatted results with citations.
  • Switch to --x-api when you need raw metrics or strict recent-window queries (up to 7 days) and are okay with pay-per-use.
  • Limit results with --max or --days to reduce cost and speed up queries when using X API.
  • Combine --handles and --exclude for precise searches focused on specific accounts or to filter out bots.
  • Prefer --json for programmatic consumption, --compact or --links-only for quick human-readable outputs.

Example use cases

  • Research what developers are saying about a new open-source release in the last 30 days.
  • Pull recent tweets from a specific account for a weekly newsletter using --handles and --days 7.
  • Create a list of links to high-engagement tweets around an ongoing event with --compact or --links-only.
  • Compare AI-powered summarized results (Grok) to raw X API metrics for a trends analysis.
  • Archive public discussion snippets and citations for a report or blog post.

FAQ

Do I need an API key to use the default mode?

Yes. The default Grok mode requires an xAI API key configured in the XAI_API_KEY environment variable.

What are the time limits for each mode?

Grok mode supports up to 30 days of history. X API mode supports up to 7 days per query.