✓ Verified 🌐 Web Scrapers ✓ Enhanced Data

Desearch X Search

Search X (Twitter) in real time.

Rating
3.8 (342 reviews)
Downloads
1,214 downloads
Version
1.0.0

Overview

Search X (Twitter) in real time.

Complete Documentation

View Source →

X (Twitter) Search By Desearch

Real-time X/Twitter search and monitoring. Search posts, track users, get timelines, replies, and retweeters with powerful filtering.

Setup

  • Get an API key from https://console.desearch.ai
  • Set environment variable: export DESEARCH_API_KEY='your-key-here'

Common Fields

All tweet-returning endpoints share these shapes. Fields marked * are always present.

Tweet

FieldTypeDescription
idstringPost ID
textstringPost content
created_atstringISO 8601 timestamp
urlstring\nullDirect link: https://x.com/{username}/status/{id}
like_countintLikes
retweet_countintRetweets
reply_countintReplies
quote_countintQuotes
bookmark_countintBookmarks
view_countint\nullViews
langstring\nullLanguage code (e.g. en)
is_retweetbool\nullIs a retweet
is_quote_tweetbool\nullIs a quote tweet
conversation_idstring\nullThread ID
in_reply_to_screen_namestring\nullUsername of post being replied to
in_reply_to_status_idstring\nullID of post being replied to
mediaarray\null[{media_url, type}] — type: photo, video, animated_gif
entitiesobject\null{hashtags, symbols, urls, user_mentions}
quoteTweet\nullNested quoted tweet
retweetTweet\nullOriginal tweet _(timeline endpoint only)_
userUser\nullPost author — see User below

User

FieldTypeDescription
idstringUser ID
usernamestring@handle (without @)
namestring\nullDisplay name
urlstring\nullProfile URL
descriptionstring\nullBio
followers_countint\nullFollowers
followings_countint\nullFollowing
statuses_countint\nullTotal tweets posted
verifiedbool\nullLegacy verified badge
is_blue_verifiedbool\nullTwitter Blue subscriber
locationstring\nullSelf-reported location
created_atstring\nullAccount creation date
profile_image_urlstring\nullAvatar URL

Endpoints

x — Search Posts

Search X posts by keyword, hashtag, or user with engagement filters.

bash
scripts/desearch.py x "Bittensor TAO" --sort Latest --count 10
scripts/desearch.py x "AI news" --user elonmusk --start-date 2025-01-01
scripts/desearch.py x "crypto" --min-likes 100 --verified --lang en

Options:

OptionDescription
--sortTop (default) or Latest
--user, -uFilter to posts by username
--start-dateStart date UTC (YYYY-MM-DD)
--end-dateEnd date UTC (YYYY-MM-DD)
--langLanguage code (e.g. en, es)
--verifiedOnly verified users
--blue-verifiedOnly Twitter Blue users
--is-quoteOnly quote tweets
--is-videoOnly posts with video
--is-imageOnly posts with images
--min-retweetsMinimum retweet count
--min-repliesMinimum reply count
--min-likesMinimum like count
--count, -nResults count (default: 20, max: 100)
Response: Tweet[]

x_post — Retrieve Post by ID

Fetch a single post by its numeric ID.

bash
scripts/desearch.py x_post 1892527552029499853

Response: Tweet

x_urls — Fetch Posts by URLs

Retrieve one or more posts by their X URLs.

bash
scripts/desearch.py x_urls "https://x.com/user/status/123" "https://x.com/user/status/456"

Response: Tweet[]

x_user — Search Posts by User

Search within a specific user's posts for a keyword.

bash
scripts/desearch.py x_user elonmusk --query "AI" --count 10

Options:

OptionDescription
--query, -qKeyword to filter the user's posts
--count, -nResults count (default: 10, max: 100)
Response: Tweet[]

x_timeline — Get User Timeline

Fetch the most recent posts from a user's timeline. Retweets include a retweet field with the original post.

bash
scripts/desearch.py x_timeline elonmusk --count 20

Options:

OptionDescription
--count, -nNumber of posts (default: 20, max: 100)
Response: { user: User, tweets: Tweet[] }

x_retweeters — Get Retweeters of a Post

List users who retweeted a specific post. Supports cursor-based pagination.

bash
scripts/desearch.py x_retweeters 1982770537081532854
scripts/desearch.py x_retweeters 1982770537081532854 --cursor "AAAAANextCursorValue=="

Options:

OptionDescription
--cursorPagination cursor from a previous response
Response: { users: User[], next_cursor: string|null }next_cursor is null when no more pages remain.

x_replies — Get User's Replies

Fetch a user's tweets-and-replies timeline. Replies have in_reply_to_screen_name and in_reply_to_status_id set.

bash
scripts/desearch.py x_replies elonmusk --count 10
scripts/desearch.py x_replies elonmusk --query "AI" --count 10

Options:

OptionDescription
--count, -nResults count (default: 10, max: 100)
--query, -qFilter keyword
Response: Tweet[]

x_post_replies — Get Replies to a Post

Fetch replies to a specific post by ID.

bash
scripts/desearch.py x_post_replies 1234567890 --count 10
scripts/desearch.py x_post_replies 1234567890 --query "thanks" --count 5

Options:

OptionDescription
--count, -nResults count (default: 10, max: 100)
--query, -qFilter keyword within replies
Response: Tweet[]

Errors

Status 401, Unauthorized (e.g., missing/invalid API key)
json
{
  "detail": "Invalid or missing API key"
}

Status 402, Payment Required (e.g., balance depleted)

json
{
  "detail": "Insufficient balance, please add funds to your account to continue using the service."
}

Resources

Installation

Terminal bash

openclaw install desearch-x-search
    
Copied!

💻Code Examples

scripts/desearch.py x "crypto" --min-likes 100 --verified --lang en

scriptsdesearchpy-x-crypto---min-likes-100---verified---lang-en.txt
**Options:**
| Option | Description |
|--------|-------------|
| `--sort` | `Top` (default) or `Latest` |
| `--user`, `-u` | Filter to posts by username |
| `--start-date` | Start date UTC (YYYY-MM-DD) |
| `--end-date` | End date UTC (YYYY-MM-DD) |
| `--lang` | Language code (e.g. `en`, `es`) |
| `--verified` | Only verified users |
| `--blue-verified` | Only Twitter Blue users |
| `--is-quote` | Only quote tweets |
| `--is-video` | Only posts with video |
| `--is-image` | Only posts with images |
| `--min-retweets` | Minimum retweet count |
| `--min-replies` | Minimum reply count |
| `--min-likes` | Minimum like count |
| `--count`, `-n` | Results count (default: 20, max: 100) |

**Response:** `Tweet[]`


### `x_post` — Retrieve Post by ID

Fetch a single post by its numeric ID.

scripts/desearch.py x_post 1892527552029499853

scriptsdesearchpy-xpost-1892527552029499853.txt
**Response:** `Tweet`


### `x_urls` — Fetch Posts by URLs

Retrieve one or more posts by their X URLs.

scripts/desearch.py x_urls "https://x.com/user/status/123" "https://x.com/user/status/456"

scriptsdesearchpy-xurls-httpsxcomuserstatus123-httpsxcomuserstatus456.txt
**Response:** `Tweet[]`


### `x_user` — Search Posts by User

Search within a specific user's posts for a keyword.

scripts/desearch.py x_user elonmusk --query "AI" --count 10

scriptsdesearchpy-xuser-elonmusk---query-ai---count-10.txt
**Options:**
| Option | Description |
|--------|-------------|
| `--query`, `-q` | Keyword to filter the user's posts |
| `--count`, `-n` | Results count (default: 10, max: 100) |

**Response:** `Tweet[]`


### `x_timeline` — Get User Timeline

Fetch the most recent posts from a user's timeline. Retweets include a `retweet` field with the original post.

scripts/desearch.py x_timeline elonmusk --count 20

scriptsdesearchpy-xtimeline-elonmusk---count-20.txt
**Options:**
| Option | Description |
|--------|-------------|
| `--count`, `-n` | Number of posts (default: 20, max: 100) |

**Response:** `{ user: User, tweets: Tweet[] }`


### `x_retweeters` — Get Retweeters of a Post

List users who retweeted a specific post. Supports cursor-based pagination.

scripts/desearch.py x_retweeters 1982770537081532854 --cursor "AAAAANextCursorValue=="

scriptsdesearchpy-xretweeters-1982770537081532854---cursor-aaaaanextcursorvalue.txt
**Options:**
| Option | Description |
|--------|-------------|
| `--cursor` | Pagination cursor from a previous response |

**Response:** `{ users: User[], next_cursor: string|null }` — `next_cursor` is `null` when no more pages remain.


### `x_replies` — Get User's Replies

Fetch a user's tweets-and-replies timeline. Replies have `in_reply_to_screen_name` and `in_reply_to_status_id` set.

scripts/desearch.py x_replies elonmusk --query "AI" --count 10

scriptsdesearchpy-xreplies-elonmusk---query-ai---count-10.txt
**Options:**
| Option | Description |
|--------|-------------|
| `--count`, `-n` | Results count (default: 10, max: 100) |
| `--query`, `-q` | Filter keyword |

**Response:** `Tweet[]`


### `x_post_replies` — Get Replies to a Post

Fetch replies to a specific post by ID.

scripts/desearch.py x_post_replies 1234567890 --query "thanks" --count 5

scriptsdesearchpy-xpostreplies-1234567890---query-thanks---count-5.txt
**Options:**
| Option | Description |
|--------|-------------|
| `--count`, `-n` | Results count (default: 10, max: 100) |
| `--query`, `-q` | Filter keyword within replies |

**Response:** `Tweet[]`

### Errors
Status 401, Unauthorized (e.g., missing/invalid API key)
example.sh
scripts/desearch.py x "Bittensor TAO" --sort Latest --count 10
scripts/desearch.py x "AI news" --user elonmusk --start-date 2025-01-01
scripts/desearch.py x "crypto" --min-likes 100 --verified --lang en
example.json
{
  "detail": "Invalid or missing API key"
}

Tags

#browser_and-automation

Quick Info

Category Web Scrapers
Model Claude 3.5
Complexity One-Click
Author okradze
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install desearch-x-search