{
  "openapi": "3.0.1",
  "info": {
    "title": "X Tweet Scraper | $0.15/1K Tweets | Pay-Per-Result",
    "description": "Scrape X (Twitter) tweets, replies, profiles, lists, and searches from $0.15 per 1,000 delivered rows on paid Apify plans. Use 50+ filters, batch lookup, flat exports, and resumable maximum coverage. Filters run before billing. No X API key or login. Built by Xquik. Not affiliated with X Corp.",
    "version": "1.12",
    "x-build-id": "dzZsFmOUoAB6F7E8R"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/xquik~x-tweet-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-xquik-x-tweet-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/xquik~x-tweet-scraper/runs": {
      "post": {
        "operationId": "runs-sync-xquik-x-tweet-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/xquik~x-tweet-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-xquik-x-tweet-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "legacy",
              "tweet",
              "tweets",
              "search",
              "profileTweets",
              "profileReplies",
              "profileMedia",
              "profileLikes",
              "listTweets",
              "article",
              "replies",
              "quotes",
              "thread",
              "retweeters",
              "favoriters"
            ],
            "type": "string",
            "description": "Choose Auto-Route to infer the route. Choose a specific route for predictable behavior. Profile Tweets and Profile With Replies use resumable maximum coverage. Profile Tweets excludes replies. Profile With Replies keeps target-authored posts and replies. Tweet modes without Tweet IDs use Search when query input is present.",
            "default": "legacy"
          },
          "outputVariant": {
            "title": "Output Variant",
            "enum": [
              "legacy",
              "rich",
              "raw",
              "compact",
              "full"
            ],
            "type": "string",
            "description": "Choose Legacy for compatibility, Rich for normalized public fields, or Raw Snapshot to add a safe source snapshot. Compact and Full are historical aliases for Legacy.",
            "default": "legacy"
          },
          "fieldStyle": {
            "title": "Field Style",
            "enum": [
              "legacy",
              "camelCase",
              "snake_case"
            ],
            "type": "string",
            "description": "Controls top-level and nested field names for rich and raw results, including reply diagnostics. Use camelCase for JavaScript and TypeScript. Use snake_case for Python, SQL, CSV, and warehouses. Legacy output ignores this setting. Raw snapshots keep source names. Dataset views select columns only. They do not rename data.",
            "default": "legacy"
          },
          "outputPreset": {
            "title": "Output Preset",
            "enum": [
              "nested",
              "flat"
            ],
            "type": "string",
            "description": "Nested preserves the current object shape. Flat + Nested also adds CSV-friendly author and media URL fields.",
            "default": "nested"
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "X URLs to scrape. Provide a JSON array of URL strings or {\"url\":\"...\"} objects. Supports tweet URLs, profile URLs (including /with_replies for X's With Replies tab, /media, and best-effort /likes), search URLs, and list URLs. Tweet URL batches recheck unresolved IDs once after partial responses. Mix freely. Example: [\"https://x.com/elonmusk\", \"https://x.com/search?q=AI\"]"
          },
          "profileUrls": {
            "title": "Profile URLs",
            "type": "array",
            "description": "Alias for Start URLs. Provide profile URL strings or {\"url\":\"...\"} objects. Auto-route and profile modes use resumable maximum profile coverage."
          },
          "twitterHandles": {
            "title": "X Handles",
            "type": "array",
            "description": "X usernames for resumable maximum profile coverage. Profile Tweets excludes replies. Profile With Replies keeps target-authored posts and replies. Accepts usernames with or without @ prefix. Example: elonmusk, @nasa",
            "items": {
              "type": "string"
            }
          },
          "usernames": {
            "title": "Usernames",
            "type": "array",
            "description": "Alias for X Handles. Accepts usernames with or without @.",
            "items": {
              "type": "string"
            }
          },
          "listIds": {
            "title": "List IDs",
            "type": "array",
            "description": "X list IDs to scrape through the dedicated list route. This is usually much faster than pasting list URLs into Start URLs or using the List ID search filter below. Example: 1748648376080666720",
            "items": {
              "type": "string"
            }
          },
          "tweetIds": {
            "title": "Tweet IDs",
            "type": "array",
            "description": "Tweet IDs to look up directly. When set, all search and filter fields are ignored. Process up to 10,000 tweet IDs per run. Chunks of 100 run concurrently. Partial responses recheck unresolved IDs once. Example: 1846987139428634858",
            "items": {
              "type": "string"
            }
          },
          "tweetId": {
            "title": "Tweet ID",
            "type": "string",
            "description": "Single tweet ID alias."
          },
          "tweetIDs": {
            "title": "Tweet IDs (alias)",
            "type": "array",
            "description": "Alias for Tweet IDs.",
            "items": {
              "type": "string"
            }
          },
          "tweets": {
            "title": "Tweets",
            "type": "array",
            "description": "Alias for Tweet IDs.",
            "items": {
              "type": "string"
            }
          },
          "postIds": {
            "title": "Post IDs",
            "type": "array",
            "description": "Alias for Tweet IDs.",
            "items": {
              "type": "string"
            }
          },
          "lookupPostIds": {
            "title": "Lookup Post IDs",
            "type": "array",
            "description": "Alias for Tweet IDs.",
            "items": {
              "type": "string"
            }
          },
          "articleTweetIds": {
            "title": "Article Tweet IDs",
            "type": "array",
            "description": "Tweet IDs to read with mode article.",
            "items": {
              "type": "string"
            }
          },
          "replyTweetIds": {
            "title": "Reply Tweet IDs",
            "type": "array",
            "description": "Tweet IDs whose direct replies to collect. The Actor combines 5 authenticated views, 3 ranking modes, every forward cursor module, labeled hidden-content branches, Top time partitions, and search. Nested replies never count as direct. Incomplete targets add a detailed diagnostic when capacity remains. Real replies always take priority.",
            "items": {
              "type": "string"
            }
          },
          "quoteTweetIds": {
            "title": "Quote Tweet IDs",
            "type": "array",
            "description": "Tweet IDs to read with mode quotes.",
            "items": {
              "type": "string"
            }
          },
          "threadTweetIds": {
            "title": "Thread Tweet IDs",
            "type": "array",
            "description": "Tweet IDs to read with mode thread.",
            "items": {
              "type": "string"
            }
          },
          "retweeterTweetIds": {
            "title": "Retweeter Tweet IDs",
            "type": "array",
            "description": "Tweet IDs to read with mode retweeters.",
            "items": {
              "type": "string"
            }
          },
          "favoriterTweetIds": {
            "title": "Favoriter Tweet IDs",
            "type": "array",
            "description": "Tweet IDs to read with mode favoriters. X may only expose liking users for eligible or owner-visible posts. If no users are available, the actor returns one diagnostic row.",
            "items": {
              "type": "string"
            }
          },
          "twitterContent": {
            "title": "Search Query",
            "type": "string",
            "description": "Search query using X advanced search syntax. Supports keywords, hashtags, exact phrases, boolean operators, and date or unix-time windows. The Actor verifies each returned tweet against requested time bounds. Example: web scraping OR #datascience"
          },
          "query": {
            "title": "Query",
            "type": "string",
            "description": "Alias for Search Query."
          },
          "searchQuery": {
            "title": "Search Query Alias",
            "type": "string",
            "description": "Alias for Search Query."
          },
          "searchTerms": {
            "title": "Search Terms",
            "type": "array",
            "description": "Run multiple searches in one Actor run. Max Items applies across the whole run. Compatible account date windows share one bounded retrieval. Recent windows use maximum profile coverage. Historical windows use exact search. The Actor verifies raw date and unix-time operators before adding results. Example: from:elonmusk AI, #bitcoin lang:en",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "type": "integer",
            "description": "Optional result cap across the whole run. Leave empty to use your Apify max total charge as the result limit when set. Without a spend cap, Xquik uses its built-in default. The Apify pricing box shows the current per-result price before the run starts. Diagnostic rows count toward this cap.",
            "default": 10000
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 1,
            "type": "integer",
            "description": "API alias for Max Items."
          },
          "max_results": {
            "title": "Max Results",
            "minimum": 1,
            "type": "integer",
            "description": "API alias for Max Items."
          },
          "resultsLimit": {
            "title": "Results Limit",
            "minimum": 1,
            "type": "integer",
            "description": "API alias for Max Items."
          },
          "resultsCount": {
            "title": "Results Count",
            "minimum": 1,
            "type": "integer",
            "description": "API alias for Max Items."
          },
          "numberOfTweets": {
            "title": "Number Of Tweets",
            "minimum": 1,
            "type": "integer",
            "description": "API alias for Max Items."
          },
          "maxPosts": {
            "title": "Max Posts",
            "minimum": 1,
            "type": "integer",
            "description": "API alias for Max Items."
          },
          "max_posts": {
            "title": "Max Posts",
            "minimum": 1,
            "type": "integer",
            "description": "API alias for Max Items."
          },
          "maxItemsPerTarget": {
            "title": "Max Items Per Target",
            "minimum": 1,
            "type": "integer",
            "description": "Optional cap per target in explicit multi-target modes."
          },
          "includeRaw": {
            "title": "Include Raw",
            "type": "boolean",
            "description": "API alias for Output Variant raw.",
            "default": false
          },
          "includeArticles": {
            "title": "Include Articles",
            "type": "boolean",
            "description": "Deprecated compatibility input. Article data is already included when X provides it.",
            "default": false
          },
          "includeUnavailableFields": {
            "title": "Include Unavailable Fields",
            "type": "boolean",
            "description": "Deprecated compatibility input. Safe availability fields are already included when X provides them.",
            "default": false
          },
          "includeOriginalTweet": {
            "title": "Include Original Tweet",
            "type": "boolean",
            "description": "Deprecated compatibility input. Fetch source tweets separately with Tweet IDs.",
            "default": false
          },
          "respectProfileSubpages": {
            "title": "Respect Profile Subpages",
            "type": "boolean",
            "description": "Honor profile subpage paths such as /with_replies, /media, and /likes when routing profile URLs. /with_replies returns target-authored posts and replies. Conversation context from other authors is excluded.",
            "default": false
          },
          "includeSearchTerms": {
            "title": "Tag each result with its search term",
            "type": "boolean",
            "description": "Attach the first matching search term as a `searchTerm` field on each unique result tweet. Useful when running multiple searchTerms in one run to know which term produced each deduplicated tweet.",
            "default": false
          },
          "queryType": {
            "title": "Sort By",
            "enum": [
              "Latest",
              "Top",
              "Latest + Top"
            ],
            "type": "string",
            "description": "Latest returns newest first. Top is relevance-ranked and not exhaustive. Latest + Top runs both passes concurrently, deduplicates before billing, and backfills unused capacity from either pass. Account timelines ignore this setting.",
            "default": "Latest"
          },
          "content": {
            "title": "Structured Content Filters",
            "type": "object",
            "description": "Build content filters without writing X search syntax.",
            "properties": {
              "allWords": {
                "type": "string",
                "title": "All Words",
                "description": "Words that should appear in the tweet text."
              },
              "exactPhrase": {
                "type": "string",
                "title": "Exact Phrase",
                "description": "Exact phrase to search for."
              },
              "anyWords": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Any Words",
                "description": "Any of these words may appear.",
                "editor": "stringList"
              },
              "excludeWords": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Exclude Words",
                "description": "Words to exclude from results.",
                "editor": "stringList"
              },
              "hashtags": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Hashtags",
                "description": "Hashtags to include.",
                "editor": "stringList"
              },
              "cashtags": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Cashtags",
                "description": "Cashtags to include.",
                "editor": "stringList"
              }
            }
          },
          "users": {
            "title": "Structured User Filters",
            "type": "object",
            "description": "Optional structured author, reply, mention, and list filters.",
            "properties": {
              "from": {
                "type": "string",
                "title": "From User",
                "description": "Only include tweets from this username."
              },
              "to": {
                "type": "string",
                "title": "To User",
                "description": "Only include replies to this username."
              },
              "mention": {
                "type": "string",
                "title": "Mention User",
                "description": "Only include tweets mentioning this username."
              },
              "list": {
                "type": "string",
                "title": "List ID",
                "description": "Only include tweets from members of this list."
              }
            }
          },
          "time": {
            "title": "Structured Time Filters",
            "type": "object",
            "description": "Optional structured time filters.",
            "properties": {
              "since": {
                "type": "string",
                "title": "Since Date",
                "description": "Only include tweets on or after this date. The Actor verifies each result."
              },
              "until": {
                "type": "string",
                "title": "Until Date",
                "description": "Only include tweets before this date. The Actor verifies each result."
              },
              "sinceTime": {
                "type": "string",
                "title": "Since Unix Time",
                "description": "Only include tweets on or after this Unix timestamp. The Actor verifies each result."
              },
              "untilTime": {
                "type": "string",
                "title": "Until Unix Time",
                "description": "Only include tweets before this Unix timestamp. The Actor verifies each result."
              },
              "sinceId": {
                "type": "string",
                "title": "Since Tweet ID",
                "description": "Only include tweets newer than this ID."
              },
              "maxId": {
                "type": "string",
                "title": "Max Tweet ID",
                "description": "Only include tweets older than this ID."
              },
              "withinTime": {
                "type": "string",
                "title": "Within Time",
                "description": "Only include tweets from the last time window."
              }
            }
          },
          "geo": {
            "title": "Structured Geo Filters",
            "type": "object",
            "description": "Optional structured location filters.",
            "properties": {
              "near": {
                "type": "string",
                "title": "Near Place",
                "description": "Place name for location filtering."
              },
              "within": {
                "type": "string",
                "title": "Within Radius",
                "description": "Radius for the near filter."
              },
              "geocode": {
                "type": "string",
                "title": "Geocode",
                "description": "Latitude, longitude, and radius filter."
              }
            }
          },
          "engagement": {
            "title": "Structured Engagement Filters",
            "type": "object",
            "description": "Optional structured engagement filters.",
            "properties": {
              "minRetweets": {
                "type": "integer",
                "title": "Minimum Retweets",
                "description": "Minimum retweet count.",
                "minimum": 0,
                "editor": "number"
              },
              "minLikes": {
                "type": "integer",
                "title": "Minimum Likes",
                "description": "Minimum like count.",
                "minimum": 0,
                "editor": "number"
              },
              "minReplies": {
                "type": "integer",
                "title": "Minimum Replies",
                "description": "Minimum reply count.",
                "minimum": 0,
                "editor": "number"
              },
              "maxRetweets": {
                "type": "integer",
                "title": "Maximum Retweets",
                "description": "Only include tweets with at most this many retweets.",
                "minimum": 0,
                "editor": "number"
              },
              "maxLikes": {
                "type": "integer",
                "title": "Maximum Likes",
                "description": "Only include tweets with at most this many likes.",
                "minimum": 0,
                "editor": "number"
              },
              "maxReplies": {
                "type": "integer",
                "title": "Maximum Replies",
                "description": "Only include tweets with at most this many replies.",
                "minimum": 0,
                "editor": "number"
              }
            }
          },
          "media": {
            "title": "Structured Media Filters",
            "type": "object",
            "description": "Optional structured media filters.",
            "properties": {
              "media": {
                "type": "boolean",
                "title": "Has Media",
                "description": "Apply X's media search operator. Results usually include attached media, but X can also match media-like card content."
              },
              "images": {
                "type": "boolean",
                "title": "Has Images",
                "description": "Apply X's image search operator. Results usually include image media; X can also match card or link image content."
              },
              "videos": {
                "type": "boolean",
                "title": "Has Videos",
                "description": "Apply X's video search operator. Results usually include native video media."
              },
              "links": {
                "type": "boolean",
                "title": "Has Links",
                "description": "Apply X's link search operator."
              }
            }
          },
          "tweetTypes": {
            "title": "Structured Tweet Type Filters",
            "type": "object",
            "description": "Optional structured tweet type filters.",
            "properties": {
              "replies": {
                "type": "boolean",
                "title": "Replies",
                "description": "Only include replies."
              },
              "quotes": {
                "type": "boolean",
                "title": "Quotes",
                "description": "Only include quote tweets."
              },
              "nativeRetweets": {
                "type": "boolean",
                "title": "Native Retweets",
                "description": "Only include native retweets."
              },
              "blueVerified": {
                "type": "boolean",
                "title": "Blue Verified",
                "description": "Only include Blue verified authors."
              },
              "safe": {
                "type": "boolean",
                "title": "Safe",
                "description": "Only include safe search results."
              },
              "news": {
                "type": "boolean",
                "title": "News",
                "description": "Only include news results."
              }
            }
          },
          "cards": {
            "title": "Structured Card Filters",
            "type": "object",
            "description": "Optional structured card filters.",
            "properties": {
              "name": {
                "type": "string",
                "title": "Card Name",
                "description": "Card name filter."
              },
              "url": {
                "type": "string",
                "title": "URL",
                "description": "Only include tweets containing this URL or domain."
              }
            }
          },
          "sources": {
            "title": "Structured Source Filters",
            "type": "object",
            "description": "Optional structured source filters.",
            "properties": {
              "source": {
                "type": "string",
                "title": "Source App",
                "description": "Only include tweets from this source app."
              },
              "excludeSource": {
                "type": "string",
                "title": "Exclude Source App",
                "description": "Exclude tweets from this source app."
              }
            }
          },
          "lang": {
            "title": "Language",
            "type": "string",
            "description": "Filter tweets by language using a 2-letter ISO 639-1 code. The Actor verifies returned tweets and continues paging past mismatches."
          },
          "list": {
            "title": "List ID (search-operator)",
            "type": "string",
            "description": "Filter search results to tweets from members of this X list. Slower than the dedicated List IDs field above - prefer List IDs unless you are combining a list filter with other search operators."
          },
          "from": {
            "title": "From User",
            "type": "string",
            "description": "Only include tweets sent by this username (without the @ symbol). Example: elonmusk"
          },
          "to": {
            "title": "To User",
            "type": "string",
            "description": "Only include tweets that are replies to this username (without @). Example: OpenAI"
          },
          "@": {
            "title": "Mentioned User (@)",
            "type": "string",
            "description": "Only include tweets that mention this username (without @). Example: Google"
          },
          "near": {
            "title": "Near Place",
            "type": "string",
            "description": "Only include tweets geotagged near this place. Example: San Francisco"
          },
          "within": {
            "title": "Within Radius",
            "type": "string",
            "description": "Radius for the Near Place filter. Format: integer + unit (km or mi), no spaces. Example: 10km, 25mi"
          },
          "geocode": {
            "title": "Geocode",
            "type": "string",
            "description": "Filter by exact coordinates in lat,long,radius format (no spaces; radius in km or mi). Example: 37.7749,-122.4194,10km"
          },
          "since": {
            "title": "Since Date",
            "type": "string",
            "description": "Only include verified tweets on or after this date. Format: YYYY-MM-DD_HH:MM:SS_UTC. Example: 2026-01-01_00:00:00_UTC"
          },
          "until": {
            "title": "Until Date",
            "type": "string",
            "description": "Only include verified tweets before this date. Same format as Since Date. Example: 2026-04-01_00:00:00_UTC"
          },
          "since_time": {
            "title": "Since Time",
            "type": "string",
            "description": "Only include verified tweets on or after this unix timestamp (seconds). Example: 1704067200"
          },
          "until_time": {
            "title": "Until Time",
            "type": "string",
            "description": "Only include verified tweets before this unix timestamp (seconds). Example: 1711929600"
          },
          "since_id": {
            "title": "Since ID",
            "type": "string",
            "description": "Only include tweets with an ID greater than (posted after) this tweet ID."
          },
          "max_id": {
            "title": "Max ID",
            "type": "string",
            "description": "Only include tweets with an ID less than (posted before) this tweet ID."
          },
          "within_time": {
            "title": "Within Time",
            "type": "string",
            "description": "Only include tweets from the last N time units. Example: 1d (1 day), 12h (12 hours), 30m (30 minutes), 60s (60 seconds)"
          },
          "conversation_id": {
            "title": "Conversation ID",
            "type": "string",
            "description": "Only include tweets belonging to this conversation thread. Use the first tweet's ID in the thread."
          },
          "conversationIds": {
            "title": "Conversation IDs",
            "type": "array",
            "description": "Alias for one or more conversation_id searches.",
            "items": {
              "type": "string"
            }
          },
          "quoted_tweet_id": {
            "title": "Quoted Tweet ID",
            "type": "string",
            "description": "Only include tweets that quote this specific tweet ID."
          },
          "quoted_user_id": {
            "title": "Quoted User ID",
            "type": "string",
            "description": "Only include tweets that quote any tweet from this user ID."
          },
          "url": {
            "title": "URL",
            "type": "string",
            "description": "Only include tweets containing this URL or domain. Example: github.com"
          },
          "card_name": {
            "title": "Card Name",
            "type": "string",
            "description": "Filter by poll or card type. Common values: poll2choice_text_only, poll3choice_text_only, poll4choice_text_only, poll2choice_image, poll3choice_image, poll4choice_image."
          },
          "filter:blue_verified": {
            "title": "Blue Verified Only",
            "type": "boolean",
            "description": "Only include tweets from X Premium (Blue) verified accounts.",
            "default": false
          },
          "filter:nativeretweets": {
            "title": "Native Retweets Only",
            "type": "boolean",
            "description": "Only include native retweets.",
            "default": false
          },
          "include:nativeretweets": {
            "title": "Include Native Retweets",
            "type": "boolean",
            "description": "Include native retweets in results (excluded by default).",
            "default": false
          },
          "filter:replies": {
            "title": "Replies Only",
            "type": "boolean",
            "description": "Only include reply tweets.",
            "default": false
          },
          "filter:quote": {
            "title": "Quote Tweets Only",
            "type": "boolean",
            "description": "Only include quote tweets.",
            "default": false
          },
          "filter:has_engagement": {
            "title": "Has Engagement",
            "type": "boolean",
            "description": "Only include tweets with at least one like, retweet, or reply.",
            "default": false
          },
          "filter:media": {
            "title": "Has Media",
            "type": "boolean",
            "description": "Apply X's media search operator. Results usually include attached media, but X can also match media-like card content.",
            "default": false
          },
          "filter:twimg": {
            "title": "Has Twimg",
            "type": "boolean",
            "description": "Only include tweets containing twimg.com images.",
            "default": false
          },
          "filter:images": {
            "title": "Has Images",
            "type": "boolean",
            "description": "Apply X's image search operator. Results usually include image media; X can also match card or link image content.",
            "default": false
          },
          "filter:videos": {
            "title": "Has Videos",
            "type": "boolean",
            "description": "Apply X's video search operator. Results usually include native video media.",
            "default": false
          },
          "filter:native_video": {
            "title": "Has Native Video",
            "type": "boolean",
            "description": "Only include tweets with natively uploaded video.",
            "default": false
          },
          "filter:vine": {
            "title": "Has Vine",
            "type": "boolean",
            "description": "Only include tweets with Vine videos.",
            "default": false
          },
          "filter:consumer_video": {
            "title": "Has Consumer Video",
            "type": "boolean",
            "description": "Only include tweets with consumer-uploaded video.",
            "default": false
          },
          "filter:pro_video": {
            "title": "Has Pro Video",
            "type": "boolean",
            "description": "Only include tweets with professionally produced video.",
            "default": false
          },
          "filter:spaces": {
            "title": "Has Spaces",
            "type": "boolean",
            "description": "Only include tweets containing a Spaces link.",
            "default": false
          },
          "filter:links": {
            "title": "Has Links",
            "type": "boolean",
            "description": "Only include tweets containing external links.",
            "default": false
          },
          "filter:mentions": {
            "title": "Has Mentions",
            "type": "boolean",
            "description": "Only include tweets containing @mentions.",
            "default": false
          },
          "filter:news": {
            "title": "Has News",
            "type": "boolean",
            "description": "Only include tweets containing news article links.",
            "default": false
          },
          "filter:safe": {
            "title": "Safe Content Only",
            "type": "boolean",
            "description": "Only include tweets marked as safe (excludes sensitive content).",
            "default": false
          },
          "filter:hashtags": {
            "title": "Has Hashtags",
            "type": "boolean",
            "description": "Only include tweets containing hashtags.",
            "default": false
          },
          "min_retweets": {
            "title": "Minimum Retweets",
            "minimum": 0,
            "type": "integer",
            "description": "Only include tweets with at least this many retweets. Set to 0 to disable.",
            "default": 0
          },
          "min_faves": {
            "title": "Minimum Likes",
            "minimum": 0,
            "type": "integer",
            "description": "Only include tweets with at least this many likes. Set to 0 to disable.",
            "default": 0
          },
          "min_replies": {
            "title": "Minimum Replies",
            "minimum": 0,
            "type": "integer",
            "description": "Only include tweets with at least this many replies. Set to 0 to disable.",
            "default": 0
          },
          "-min_retweets": {
            "title": "Maximum Retweets",
            "minimum": 0,
            "type": "integer",
            "description": "Only include tweets with at most this many retweets. Set to 0 to disable.",
            "default": 0
          },
          "-min_faves": {
            "title": "Maximum Likes",
            "minimum": 0,
            "type": "integer",
            "description": "Only include tweets with at most this many likes. Set to 0 to disable.",
            "default": 0
          },
          "-min_replies": {
            "title": "Maximum Replies",
            "minimum": 0,
            "type": "integer",
            "description": "Only include tweets with at most this many replies. Set to 0 to disable.",
            "default": 0
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}