{
  "openapi": "3.0.1",
  "info": {
    "title": "X (Twitter) Search Scraper — Tweets, Replies, Followers, Trends",
    "description": "X (Twitter) scraper with no login or cookie: search tweets with all search operators, read an account's tweets and replies, the replies under any tweet, followers, following and retweeters, trends by country and X Communities. Views, bookmarks and media links on every tweet.",
    "version": "0.1",
    "x-build-id": "jLwyn3X0c2EBhMfb4"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~x-twitter-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-x-twitter-search-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/memo23~x-twitter-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-x-twitter-search-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/memo23~x-twitter-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-x-twitter-search-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": {
          "searchQueries": {
            "title": "Search queries",
            "type": "array",
            "description": "Search X like the search box does. Operators work: from:nasa, to:user, #hashtag, \"exact phrase\", lang:en, since:2026-01-01, until:2026-02-01, min_faves:100, filter:media, -filter:replies. A page holds 20 tweets.",
            "items": {
              "type": "string"
            }
          },
          "searchType": {
            "title": "Search tab",
            "enum": [
              "Latest",
              "Top",
              "Media"
            ],
            "type": "string",
            "description": "Latest returns the newest tweets, Top the ones X ranks highest, Media only tweets with photos or video.",
            "default": "Latest"
          },
          "maxTweetsPerQuery": {
            "title": "Max tweets per query",
            "minimum": 10,
            "maximum": 1000000,
            "type": "integer",
            "description": "Tweets to return for each query (minimum 10).",
            "default": 50
          },
          "handles": {
            "title": "Handles or profile links",
            "type": "array",
            "description": "X handles (nasa, @nasa) or profile links (https://x.com/nasa). Each returns the profile and, as chosen below, the account's tweets, replies, followers and following.",
            "items": {
              "type": "string"
            }
          },
          "includeProfile": {
            "title": "Profile",
            "type": "boolean",
            "description": "Return the profile row: followers, following, tweet count, bio, location, join date, verification and affiliation.",
            "default": true
          },
          "includeAccountOrigin": {
            "title": "Account origin",
            "type": "boolean",
            "description": "Add where X says the account is based, how it connects (app store region) and how many times the handle changed. One extra lookup per account.",
            "default": false
          },
          "includeTweets": {
            "title": "Tweets",
            "type": "boolean",
            "description": "Return the account's tweets, newest first.",
            "default": true
          },
          "includeUserReplies": {
            "title": "Tweets and replies",
            "type": "boolean",
            "description": "Return the account's Replies tab: its tweets together with the replies it wrote.",
            "default": false
          },
          "maxTweetsPerUser": {
            "title": "Max tweets per account",
            "minimum": 10,
            "maximum": 1000000,
            "type": "integer",
            "description": "Tweets to return for each account, for each of the two lists above (minimum 10). A page holds 20 to 40.",
            "default": 20
          },
          "includeFollowers": {
            "title": "Followers",
            "type": "boolean",
            "description": "Return the accounts that follow each handle, 70 a page.",
            "default": false
          },
          "includeFollowing": {
            "title": "Following",
            "type": "boolean",
            "description": "Return the accounts each handle follows, 70 a page.",
            "default": false
          },
          "maxFollowersPerUser": {
            "title": "Max accounts per list",
            "minimum": 20,
            "maximum": 1000000,
            "type": "integer",
            "description": "Accounts to return from each follower or following list (minimum 20).",
            "default": 70
          },
          "tweetUrls": {
            "title": "Tweet links or IDs",
            "type": "array",
            "description": "Tweet links (https://x.com/user/status/123…) or tweet IDs. Each returns the tweet with its counts.",
            "items": {
              "type": "string"
            }
          },
          "includeReplies": {
            "title": "Replies",
            "type": "boolean",
            "description": "Return the replies under each tweet as separate rows.",
            "default": false
          },
          "maxRepliesPerTweet": {
            "title": "Max replies per tweet",
            "minimum": 10,
            "maximum": 1000000,
            "type": "integer",
            "description": "Replies to return for each tweet (minimum 10). A page holds 20 to 26.",
            "default": 50
          },
          "includeRetweeters": {
            "title": "Retweeters",
            "type": "boolean",
            "description": "Return the accounts that retweeted each tweet, 55 a page.",
            "default": false
          },
          "maxRetweetersPerTweet": {
            "title": "Max retweeters per tweet",
            "minimum": 20,
            "maximum": 1000000,
            "type": "integer",
            "description": "Accounts to return for each tweet (minimum 20).",
            "default": 55
          },
          "trendCountries": {
            "title": "Trends by country",
            "type": "array",
            "description": "Return the current trending topics of each chosen country, about 50 each.",
            "items": {
              "type": "string",
              "enum": [
                "UnitedStates",
                "China",
                "India",
                "Japan",
                "Russia",
                "Germany",
                "Indonesia",
                "Brazil",
                "France",
                "UnitedKingdom",
                "Turkey",
                "Italy",
                "Mexico",
                "SouthKorea",
                "Canada",
                "Spain",
                "SaudiArabia",
                "Egypt",
                "Australia",
                "Poland",
                "Iran",
                "Pakistan",
                "Vietnam",
                "Nigeria",
                "Bangladesh",
                "Netherlands",
                "Argentina",
                "Philippines",
                "Malaysia",
                "Colombia",
                "UniteArabEmirates",
                "Romania",
                "Belgium",
                "Switzerland",
                "Singapore",
                "Sweden",
                "Norway",
                "Austria",
                "Kazakhstan",
                "Algeria",
                "Chile",
                "Czechia",
                "Peru",
                "Iraq",
                "Israel",
                "Ukraine",
                "Denmark",
                "Portugal",
                "Hungary",
                "Greece",
                "Finland",
                "NewZealand",
                "Belarus",
                "Slovakia",
                "Serbia",
                "Lithuania",
                "Luxembourg",
                "Estonia"
              ],
              "enumTitles": [
                "United States",
                "China",
                "India",
                "Japan",
                "Russia",
                "Germany",
                "Indonesia",
                "Brazil",
                "France",
                "United Kingdom",
                "Turkey",
                "Italy",
                "Mexico",
                "South Korea",
                "Canada",
                "Spain",
                "Saudi Arabia",
                "Egypt",
                "Australia",
                "Poland",
                "Iran",
                "Pakistan",
                "Vietnam",
                "Nigeria",
                "Bangladesh",
                "Netherlands",
                "Argentina",
                "Philippines",
                "Malaysia",
                "Colombia",
                "United Arab Emirates",
                "Romania",
                "Belgium",
                "Switzerland",
                "Singapore",
                "Sweden",
                "Norway",
                "Austria",
                "Kazakhstan",
                "Algeria",
                "Chile",
                "Czechia",
                "Peru",
                "Iraq",
                "Israel",
                "Ukraine",
                "Denmark",
                "Portugal",
                "Hungary",
                "Greece",
                "Finland",
                "New Zealand",
                "Belarus",
                "Slovakia",
                "Serbia",
                "Lithuania",
                "Luxembourg",
                "Estonia"
              ]
            }
          },
          "communityKeywords": {
            "title": "Community search keywords",
            "type": "array",
            "description": "Find X Communities by keyword: name, topic and member count. About 8 per keyword.",
            "items": {
              "type": "string"
            }
          },
          "communities": {
            "title": "Community links or IDs",
            "type": "array",
            "description": "Community links (https://x.com/i/communities/123…) or IDs, as returned by community search. Each returns the community's tweets.",
            "items": {
              "type": "string"
            }
          },
          "maxTweetsPerCommunity": {
            "title": "Max tweets per community",
            "minimum": 10,
            "maximum": 1000000,
            "type": "integer",
            "description": "Tweets to return for each community (minimum 10). A page holds 20.",
            "default": 20
          },
          "lists": {
            "title": "List links or IDs",
            "type": "array",
            "description": "X lists (https://x.com/i/lists/123…) or list IDs. Each returns the tweets in the list, and on request its members and followers.",
            "items": {
              "type": "string"
            }
          },
          "includeListTweets": {
            "title": "Tweets of the list",
            "type": "boolean",
            "description": "Return the tweets in each list, newest first.",
            "default": true
          },
          "maxTweetsPerList": {
            "title": "Max tweets per list",
            "minimum": 10,
            "maximum": 100000,
            "type": "integer",
            "description": "Tweets to return for each list (minimum 10). A page holds about 100.",
            "default": 100
          },
          "includeListMembers": {
            "title": "List members",
            "type": "boolean",
            "description": "Return the accounts on each list, one row per account.",
            "default": false
          },
          "includeListFollowers": {
            "title": "List followers",
            "type": "boolean",
            "description": "Return the accounts that follow each list, one row per account.",
            "default": false
          },
          "maxAccountsPerList": {
            "title": "Max accounts per list",
            "minimum": 20,
            "maximum": 100000,
            "type": "integer",
            "description": "Members and followers to return for each list (minimum 20). A page holds 20.",
            "default": 100
          },
          "maxItems": {
            "title": "Max tweets per run",
            "minimum": 10,
            "maximum": 1000000,
            "type": "integer",
            "description": "Upper limit on tweet rows across the whole run (minimum 10). Free-plan accounts get up to 100.",
            "default": 1000
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}