Skip to content
Eden Engine

X / Twitter Search Timeline (Live Posts by Keyword)

omnial/twitter-web-fetch-search-timeline

Given a search keyword, returns a ranked timeline of matching public X (Twitter) posts: post text, engagement counts (likes, reposts, replies, quotes, views, bookmarks), the posting account's public profile, any video attached, and any quoted post. X search operators (e.g. `within_time:1d`) work inside the keyword to constrain recency.

activeper callv3

Price

Up to $0.00205 per call; you pay what the call used

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

X (Twitter)

Data from X (Twitter).

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/twitter-web-fetch-search-timeline" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/twitter-web-fetch-search-timeline" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/twitter-web-fetch-search-timeline", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/twitter-web-fetch-search-timeline", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.00205
Updated
Oct 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "keyword"
  ],
  "properties": {
    "cursor": {
      "type": "string",
      "description": "Cursor"
    },
    "keyword": {
      "type": "string",
      "examples": [
        "Elon Musk"
      ],
      "description": "Search Keyword"
    },
    "search_type": {
      "type": "string",
      "default": "Top",
      "examples": [
        "Top"
      ],
      "description": "Search Type"
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "status",
    "timeline",
    "next_cursor",
    "prev_cursor"
  ],
  "properties": {
    "status": {
      "type": "string",
      "description": "'ok' on both real calls observed."
    },
    "timeline": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "type",
          "tweet_id",
          "screen_name",
          "text",
          "created_at"
        ],
        "properties": {
          "lang": {
            "type": "string",
            "description": "e.g. 'en', 'es', 'tr' -- BCP-47-ish."
          },
          "text": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "description": "'tweet' on every post observed."
          },
          "media": {
            "type": "object",
            "properties": {
              "video": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "duration": {
                      "type": "number",
                      "description": "Milliseconds."
                    },
                    "variants": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "bitrate": {
                            "type": "number",
                            "description": "Bits per second. Absent on the HLS manifest variant (content_type 'application/x-mpegURL'); present on direct mp4 variants."
                          },
                          "content_type": {
                            "type": "string",
                            "description": "e.g. 'video/mp4' or 'application/x-mpegURL'."
                          }
                        },
                        "additionalProperties": true
                      },
                      "description": "Encodings of the same video. The playable URL itself is not included."
                    },
                    "aspect_ratio": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "original_info": {
                      "type": "object",
                      "properties": {
                        "width": {
                          "type": "number"
                        },
                        "height": {
                          "type": "number"
                        },
                        "focus_rects": {
                          "type": "array",
                          "description": "Observed empty on every video captured."
                        }
                      },
                      "additionalProperties": true
                    }
                  },
                  "additionalProperties": true
                }
              }
            },
            "description": "Only a `video` array observed; a photo-only or media-free post is unconfirmed.",
            "additionalProperties": true
          },
          "views": {
            "type": "string",
            "description": "A numeric view count, but returned as a STRING on every post observed."
          },
          "quoted": {
            "type": "object",
            "properties": {
              "lang": {
                "type": "string"
              },
              "media": {
                "type": "array",
                "description": "Observed empty on every quoted post captured."
              },
              "views": {
                "type": "string"
              },
              "author": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "rest_id": {
                    "type": "string"
                  },
                  "created_at": {
                    "type": "string"
                  },
                  "screen_name": {
                    "type": "string"
                  },
                  "blue_verified": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": true
              },
              "quotes": {
                "type": "number"
              },
              "replies": {
                "type": "number"
              },
              "retweets": {
                "type": "number"
              },
              "tweet_id": {
                "type": "string"
              },
              "bookmarks": {
                "type": "number"
              },
              "favorites": {
                "type": "number"
              },
              "sensitive": {
                "type": "boolean"
              },
              "created_at": {
                "type": "string"
              },
              "conversation_id": {
                "type": "string"
              }
            },
            "description": "Present only when this post quotes another post. Every quoted post's own `text` observed was itself a bare t.co link (media-only quote), so it is not included here.",
            "additionalProperties": true
          },
          "quotes": {
            "type": "number"
          },
          "source": {
            "type": "string",
            "description": "The posting client, as an HTML anchor tag."
          },
          "replies": {
            "type": "number"
          },
          "entities": {
            "type": "object",
            "properties": {
              "urls": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "indices": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "display_url": {
                      "type": "string",
                      "description": "Human-readable truncated form, e.g. 'vm.tiktok.com/xyz/'."
                    }
                  },
                  "additionalProperties": true
                },
                "description": "A link mentioned in the post text. The shortened (t.co) and expanded URLs themselves are not included -- see `display_url` for a human-readable form."
              },
              "symbols": {
                "type": "array",
                "description": "Cashtags (e.g. $TSLA). Observed empty on every post captured; item shape unconfirmed."
              },
              "hashtags": {
                "type": "array",
                "description": "Observed empty on every post captured; item shape unconfirmed."
              },
              "timestamps": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "description": "e.g. '03:17', as written in the post."
                    },
                    "indices": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "seconds": {
                      "type": "number"
                    }
                  },
                  "additionalProperties": true
                },
                "description": "A clock-time mention inside the post text, when present."
              },
              "user_mentions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "id_str": {
                      "type": "string"
                    },
                    "indices": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "screen_name": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": true
                },
                "description": "An @mention of another public account inside the post text."
              }
            },
            "additionalProperties": true
          },
          "retweets": {
            "type": "number"
          },
          "tweet_id": {
            "type": "string"
          },
          "bookmarks": {
            "type": "number"
          },
          "favorites": {
            "type": "number"
          },
          "sensitive": {
            "type": "boolean"
          },
          "user_info": {
            "type": "object",
            "properties": {
              "url": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The account's own self-published external link; observed null on every post captured."
              },
              "name": {
                "type": "string"
              },
              "rest_id": {
                "type": "string"
              },
              "location": {
                "type": "string",
                "description": "Free-text profile location the account holder chose to publish; can be a real place, a country, or unrelated text/emoji. Observed as empty string when unset."
              },
              "verified": {
                "type": "boolean"
              },
              "created_at": {
                "type": "string"
              },
              "cover_image": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Stripped (always null). Profile banner image URL; observed null on every post captured."
              },
              "screen_name": {
                "type": "string"
              },
              "friends_count": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Observed null on every post captured."
              },
              "verified_type": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Observed null on every post captured."
              },
              "favorites_count": {
                "type": "number"
              },
              "followers_count": {
                "type": "number"
              }
            },
            "additionalProperties": true
          },
          "created_at": {
            "type": "string",
            "description": "e.g. 'Sat Sep 05 22:00:38 +0000 2026'."
          },
          "screen_name": {
            "type": "string",
            "description": "The posting account's public @handle (without the @)."
          },
          "conversation_id": {
            "type": "string"
          },
          "display_text_range": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "[start, end] character offsets into `text`."
          }
        },
        "additionalProperties": true
      },
      "description": "The matching posts, ranked by engagement. Observed empty ([]) for a nonsense keyword with status still 'ok' -- the data source's own notes say an empty timeline can also happen intermittently for a keyword that normally matches; a caller should retry once before treating an empty array as a genuine no-results answer."
    },
    "next_cursor": {
      "type": "string"
    },
    "prev_cursor": {
      "type": "string"
    }
  },
  "description": "The search result.",
  "additionalProperties": true
}