{
  "openapi": "3.0.1",
  "info": {
    "title": "X Tweet Scraper | From $0.15/1K Tweets | Pay-Per Result",
    "description": "Scrape X (Twitter) tweets at scale from $0.15/1K on paid Apify plans. Paste tweet, profile, search, or list URLs. 50+ advanced filters. Batch lookup. No start fee. No query fee. No API key. No rate limits. Built by Xquik.",
    "version": "1.0",
    "x-build-id": "wKNDsgoUPvgIsSpJh"
  },
  "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",
            "type": "string",
            "description": "Choose a specific scraping route, or keep auto-route to infer the route from your input. Supported values: legacy, tweet, tweets, search, profileTweets, profileReplies, profileMedia, profileLikes, listTweets, article, replies, quotes, thread, retweeters, favoriters.",
            "default": "legacy"
          },
          "outputVariant": {
            "title": "Output Variant",
            "type": "string",
            "description": "Controls how much tweet data is returned. Supported values: legacy, rich, raw. Unsupported values fall back to legacy.",
            "default": "legacy"
          },
          "fieldStyle": {
            "title": "Field Style",
            "type": "string",
            "description": "Controls field naming for expanded output variants. Supported values: legacy, camelCase, snake_case. Keep legacy to preserve current field names.",
            "default": "legacy"
          },
          "outputPreset": {
            "title": "Output Preset",
            "type": "string",
            "description": "Supported values: nested and flat. Nested preserves the current object shape. Flat adds CSV-friendly top-level author and media URL fields while keeping nested author and media objects. Unsupported values fall back to nested.",
            "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, /media, and best-effort /likes), search URLs, and list URLs. Mix freely. Example: [\"https://x.com/elonmusk\", \"https://x.com/search?q=AI\"]"
          },
          "urls": {
            "title": "URLs",
            "type": "array",
            "description": "Alias for Start URLs. Accepts a JSON array of tweet, profile, search, and list URL strings or {\"url\":\"...\"} objects."
          },
          "tweetUrls": {
            "title": "Tweet URLs",
            "type": "array",
            "description": "Tweet URL alias. Provide a JSON array of tweet URL strings or {\"url\":\"...\"} objects. Parsed into Tweet IDs."
          },
          "postUrls": {
            "title": "Post URLs",
            "type": "array",
            "description": "Post URL alias. Provide a JSON array of post URL strings or {\"url\":\"...\"} objects. Parsed into Tweet IDs."
          },
          "profileUrls": {
            "title": "Profile URLs",
            "type": "array",
            "description": "Alias for Start URLs. Provide a JSON array of profile URL strings or {\"url\":\"...\"} objects. Auto-route treats profile URLs as timeline targets; profile modes use them as profile-specific targets."
          },
          "twitterHandles": {
            "title": "X Handles",
            "type": "array",
            "description": "X usernames to scrape timelines for. 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: 1442216750565797889",
            "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; the actor batches in chunks of 100 transparently. 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 to read with mode replies.",
            "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 in quotes, and boolean operators (OR). 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. Each term is searched separately, and Max Items applies across the whole run. Queries like from:elonmusk since:2026-01-01 until:2026-01-02 use timeline mode for better coverage. Example: from:elonmusk AI, #bitcoin lang:en",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max Items",
            "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."
          },
          "maxResults": {
            "title": "Max Results",
            "type": "integer",
            "description": "Alias for Max Items."
          },
          "max_results": {
            "title": "Max Results",
            "type": "integer",
            "description": "Alias for Max Items."
          },
          "resultsLimit": {
            "title": "Results Limit",
            "type": "integer",
            "description": "Alias for Max Items."
          },
          "resultsCount": {
            "title": "Results Count",
            "type": "integer",
            "description": "Alias for Max Items."
          },
          "numberOfTweets": {
            "title": "Number Of Tweets",
            "type": "integer",
            "description": "Alias for Max Items."
          },
          "maxPosts": {
            "title": "Max Posts",
            "type": "integer",
            "description": "Alias for Max Items."
          },
          "max_posts": {
            "title": "Max Posts",
            "type": "integer",
            "description": "Alias for Max Items."
          },
          "maxItemsPerTarget": {
            "title": "Max Items Per Target",
            "type": "integer",
            "description": "Optional cap per target in explicit multi-target modes. Nonpositive values are ignored."
          },
          "includeArticles": {
            "title": "Include Articles",
            "type": "boolean",
            "description": "Attach article details to tweet rows when article data is available.",
            "default": false
          },
          "includeRaw": {
            "title": "Include Raw",
            "type": "boolean",
            "description": "Include raw fields when Output Variant is raw.",
            "default": false
          },
          "includeUnavailableFields": {
            "title": "Include Unavailable Fields",
            "type": "boolean",
            "description": "Include diagnostic fields for unavailable or withheld results when available.",
            "default": false
          },
          "includeOriginalTweet": {
            "title": "Include Original Tweet",
            "type": "boolean",
            "description": "Include the source tweet row in engagement modes when available.",
            "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.",
            "default": false
          },
          "includeSearchTerms": {
            "title": "Tag each result with its search term",
            "type": "boolean",
            "description": "Attach the matching search term as a `searchTerm` field on each result tweet. Useful when running multiple searchTerms in one run to know which term produced which tweet.",
            "default": false
          },
          "queryType": {
            "title": "Sort By",
            "type": "string",
            "description": "Sort order for generic search results. Supported values: Latest, Top, Latest + Top. Latest returns newest first. Top returns relevance-ranked results and is not exhaustive. Latest + Top runs both passes and deduplicates for better coverage. Unsupported values fall back to Latest. Account timeline mode ignores this setting.",
            "default": "Latest"
          },
          "content": {
            "title": "Structured Content Filters",
            "type": "object",
            "description": "Optional structured content filters compiled into the search query.",
            "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."
              },
              "until": {
                "type": "string",
                "title": "Until Date",
                "description": "Only include tweets before this date."
              },
              "sinceTime": {
                "type": "string",
                "title": "Since Unix Time",
                "description": "Only include tweets after this Unix timestamp."
              },
              "untilTime": {
                "type": "string",
                "title": "Until Unix Time",
                "description": "Only include tweets before this Unix timestamp."
              },
              "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."
              },
              "minLikes": {
                "type": "integer",
                "title": "Minimum Likes",
                "description": "Minimum like count."
              },
              "minReplies": {
                "type": "integer",
                "title": "Minimum Replies",
                "description": "Minimum reply count."
              },
              "maxRetweets": {
                "type": "integer",
                "title": "Maximum Retweets",
                "description": "Only include tweets with at most this many retweets."
              },
              "maxLikes": {
                "type": "integer",
                "title": "Maximum Likes",
                "description": "Only include tweets with at most this many likes."
              },
              "maxReplies": {
                "type": "integer",
                "title": "Maximum Replies",
                "description": "Only include tweets with at most this many replies."
              }
            }
          },
          "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": "Card URL",
                "description": "Card URL filter."
              }
            }
          },
          "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. Pick from the suggestions or enter any valid ISO 639-1 code."
          },
          "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 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 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 tweets on or after this unix timestamp (seconds). Example: 1704067200"
          },
          "until_time": {
            "title": "Until Time",
            "type": "string",
            "description": "Only include 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",
            "type": "integer",
            "description": "Only include tweets with at least this many retweets. Set to 0 to disable.",
            "default": 0
          },
          "min_faves": {
            "title": "Minimum Likes",
            "type": "integer",
            "description": "Only include tweets with at least this many likes. Set to 0 to disable.",
            "default": 0
          },
          "min_replies": {
            "title": "Minimum Replies",
            "type": "integer",
            "description": "Only include tweets with at least this many replies. Set to 0 to disable.",
            "default": 0
          },
          "-min_retweets": {
            "title": "Maximum Retweets",
            "type": "integer",
            "description": "Only include tweets with at most this many retweets. Set to 0 to disable.",
            "default": 0
          },
          "-min_faves": {
            "title": "Maximum Likes",
            "type": "integer",
            "description": "Only include tweets with at most this many likes. Set to 0 to disable.",
            "default": 0
          },
          "-min_replies": {
            "title": "Maximum Replies",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}