{
  "openapi": "3.0.1",
  "info": {
    "title": "X Tweet Sentiment Analysis with AI | $0.0003/Tweet",
    "description": "Analyze tweet sentiment with AI, AI costs included. Positive, negative, mixed or neutral attitude, intensity & sarcasm on every tweet from $0.0003 per analyzed tweet on every Apify plan. World's fastest & cheapest X (Twitter) scraper service. Not affiliated with X Corp.",
    "version": "0.1",
    "x-build-id": "LrI1F3Gi1viCfgCA8"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/xquik~x-tweet-sentiment-analysis/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-xquik-x-tweet-sentiment-analysis",
        "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-sentiment-analysis/runs": {
      "post": {
        "operationId": "runs-sync-xquik-x-tweet-sentiment-analysis",
        "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-sentiment-analysis/run-sync": {
      "post": {
        "operationId": "run-sync-xquik-x-tweet-sentiment-analysis",
        "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": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Add Tweet, profile, search, or List URLs as strings or {\"url\":\"...\"} objects. Profile URLs may use /with_replies, /media, or best-effort /likes. Tweet URL batches recheck unresolved IDs once after partial responses. Example: [\"https://x.com/elonmusk\", \"https://x.com/search?q=AI\"]"
          },
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Run multiple searches in one Actor run. Max Items applies across the run. Compatible account date windows share one bounded retrieval. Recent windows combine the profile timeline with author search. 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"
            }
          },
          "texts": {
            "title": "Your own texts",
            "type": "array",
            "description": "Your own texts to analyze, such as draft tweets, replies or notes. The Actor fetches nothing from X for them. Each text becomes 1 row and costs the same as 1 analyzed tweet. When you set this field, the run analyzes only these texts.",
            "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. The form starts at 1,000. A run can return 100,000 rows & more, so raise it for a full export.",
            "default": 100000
          },
          "analysis": {
            "title": "Sentiment targets & analysis",
            "type": "object",
            "description": "Optional targets focus the attitude on named subjects. Leave them empty to judge the main subject of each post. Default questions return sentiment, intensity & sarcasm probability. Custom questions replace defaults. Up to 8 questions. maxContextBytes defaults to 12000. Concurrency defaults to 4, with a maximum of 16."
          },
          "monitor": {
            "title": "Compare with an earlier run",
            "type": "object",
            "description": "Optional baselineDatasetId identifies a completed dataset from an earlier run of this Actor. Omit it for a first run. maxBaselineRows defaults to 100000, range 1-100000. Unreadable, changing or oversized baselines stop the run before collection. Keep analysis settings unchanged for comparable answers."
          },
          "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"
          },
          "twitterHandles": {
            "title": "X handles",
            "type": "array",
            "description": "X usernames for profile timelines and author search. Profile Tweets matches the Posts tab on X: posts, reposts & the author's replies to their own posts. Add Exclude replies under Tweet type filters for original posts only. Profile With Replies keeps target-authored posts and replies. Add usernames with or without @. Example: elonmusk, @nasa",
            "items": {
              "type": "string"
            }
          },
          "profileUrls": {
            "title": "Profile URLs",
            "type": "array",
            "description": "Alias for Start URLs. Add profile URL strings or {\"url\":\"...\"} objects. Auto-route and profile modes combine the profile timeline with author search."
          },
          "tweetIds": {
            "title": "Tweet IDs",
            "type": "array",
            "description": "Tweet IDs to look up directly. Other sources in the same input run too, and Max Items applies across the run. 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"
            }
          },
          "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"
            }
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "legacy",
              "tweet",
              "tweets",
              "search",
              "profileTweets",
              "profileReplies",
              "profileMedia",
              "profileLikes",
              "listTweets",
              "replies",
              "quotes",
              "thread"
            ],
            "type": "string",
            "description": "Choose which tweets to collect. Tweet classification excludes standalone article extraction & user lists.",
            "default": "legacy"
          },
          "maxItemsPerTarget": {
            "title": "Max items per target",
            "minimum": 1,
            "type": "integer",
            "description": "Optional cap for each target in multi-target modes."
          },
          "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."
              }
            }
          },
          "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."
              }
            }
          },
          "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."
          },
          "tweetTypes": {
            "title": "Structured Tweet type filters",
            "type": "object",
            "description": "Optional tweet type filters. Include only one type, or exclude replies, reposts or quote tweets.",
            "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."
              },
              "excludeReplies": {
                "type": "boolean",
                "title": "Exclude replies",
                "description": "Drop replies, including the author's replies to their own posts. Use it with a profile to get original posts only."
              },
              "excludeRetweets": {
                "type": "boolean",
                "title": "Exclude reposts",
                "description": "Drop reposts (retweets)."
              },
              "excludeQuotes": {
                "type": "boolean",
                "title": "Exclude quote tweets",
                "description": "Drop quote tweets."
              }
            }
          },
          "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."
              }
            }
          },
          "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."
              }
            }
          },
          "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."
          },
          "filter:has_engagement": {
            "title": "Has engagement",
            "type": "boolean",
            "description": "Only include tweets with at least one like, retweet, or reply.",
            "default": false
          },
          "include:nativeretweets": {
            "title": "Include native retweets",
            "type": "boolean",
            "description": "Include native retweets in results (excluded by default).",
            "default": false
          },
          "filter:twimg": {
            "title": "Has twimg",
            "type": "boolean",
            "description": "Only include tweets containing twimg.com images.",
            "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:mentions": {
            "title": "Has mentions",
            "type": "boolean",
            "description": "Only include tweets containing @mentions.",
            "default": false
          },
          "filter:hashtags": {
            "title": "Has hashtags",
            "type": "boolean",
            "description": "Only include tweets containing hashtags.",
            "default": false
          },
          "includeSearchTerms": {
            "title": "Tag each result with its search term",
            "type": "boolean",
            "description": "Attach the first matching search term as `searchTerm` on each unique Tweet. Use it to identify which query produced each deduplicated result.",
            "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. The Actor excludes conversation context from other authors.",
            "default": false
          },
          "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"
            }
          },
          "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"
          },
          "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"
          },
          "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)"
          },
          "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."
          },
          "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_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_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_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_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_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
          },
          "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
          },
          "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: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: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:links": {
            "title": "Has links",
            "type": "boolean",
            "description": "Only include tweets containing external links.",
            "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
          },
          "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. Use no spaces. Give the radius in km or mi. Example: 37.7749,-122.4194,10km"
          },
          "list": {
            "title": "List ID (search-operator)",
            "type": "string",
            "description": "Filter search results to Tweets from members of this X List. Use List IDs unless you need to combine this filter with other search operators."
          },
          "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."
          },
          "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
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}