# Send X (Twitter) Search by Desearch to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "desearch-x-search",
    "name": "X (Twitter) Search by Desearch",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/okradze/desearch-x-search",
    "canonicalUrl": "https://clawhub.ai/okradze/desearch-x-search",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/desearch-x-search",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=desearch-x-search",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "scripts/desearch.py",
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "desearch-x-search",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-11T04:20:46.190Z",
      "expiresAt": "2026-05-18T04:20:46.190Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=desearch-x-search",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=desearch-x-search",
        "contentDisposition": "attachment; filename=\"desearch-x-search-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "desearch-x-search"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/desearch-x-search"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/desearch-x-search",
    "downloadUrl": "https://openagent3.xyz/downloads/desearch-x-search",
    "agentUrl": "https://openagent3.xyz/skills/desearch-x-search/agent",
    "manifestUrl": "https://openagent3.xyz/skills/desearch-x-search/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/desearch-x-search/agent.md"
  }
}
```
## Documentation

### 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

FieldTypeDescriptionid*stringPost IDtext*stringPost contentcreated_at*stringISO 8601 timestampurlstring|nullDirect link: https://x.com/{username}/status/{id}like_count*intLikesretweet_count*intRetweetsreply_count*intRepliesquote_count*intQuotesbookmark_count*intBookmarksview_countint|nullViewslangstring|nullLanguage code (e.g. en)is_retweetbool|nullIs a retweetis_quote_tweetbool|nullIs a quote tweetconversation_idstring|nullThread IDin_reply_to_screen_namestring|nullUsername of post being replied toin_reply_to_status_idstring|nullID of post being replied tomediaarray|null[{media_url, type}] — type: photo, video, animated_gifentitiesobject|null{hashtags, symbols, urls, user_mentions}quoteTweet|nullNested quoted tweetretweetTweet|nullOriginal tweet (timeline endpoint only)userUser|nullPost author — see User below

### User

FieldTypeDescriptionid*stringUser IDusername*string@handle (without @)namestring|nullDisplay nameurlstring|nullProfile URLdescriptionstring|nullBiofollowers_countint|nullFollowersfollowings_countint|nullFollowingstatuses_countint|nullTotal tweets postedverifiedbool|nullLegacy verified badgeis_blue_verifiedbool|nullTwitter Blue subscriberlocationstring|nullSelf-reported locationcreated_atstring|nullAccount creation dateprofile_image_urlstring|nullAvatar URL

### x — Search Posts

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

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.

scripts/desearch.py x_post 1892527552029499853

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"

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

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.

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.

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.

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.

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)

{
  "detail": "Invalid or missing API key"
}

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

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

### Resources

API Reference
Desearch Console
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: okradze
- Version: 1.0.1
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-11T04:20:46.190Z
- Expires at: 2026-05-18T04:20:46.190Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/desearch-x-search)
- [Send to Agent page](https://openagent3.xyz/skills/desearch-x-search/agent)
- [JSON manifest](https://openagent3.xyz/skills/desearch-x-search/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/desearch-x-search/agent.md)
- [Download page](https://openagent3.xyz/downloads/desearch-x-search)