{
  "openapi": "3.0.1",
  "info": {
    "title": "Twitter (X.com) Search Scraper",
    "description": "Easily extract tweets from Twitter (X.com) search results with our powerful Twitter Search Scraper. Get full tweet data, including text, engagement, media, and user info. Export in JSON, CSV, Excel, or HTML—perfect for social media monitoring, market research, competitor analysis, and trend tracking",
    "version": "0.1",
    "x-build-id": "tK3qnolTyqR1CyO69"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/web.harvester~easy-twitter-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-web.harvester-easy-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/web.harvester~easy-twitter-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-web.harvester-easy-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/web.harvester~easy-twitter-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-web.harvester-easy-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": "This lets you specify a list of search queries to use. The scraper will use these queries to search for tweets.",
            "items": {
              "type": "string"
            }
          },
          "tweetsDesired": {
            "title": "Maximum number of tweets (per query).",
            "type": "integer",
            "description": "",
            "default": 100
          },
          "repliesDepth": {
            "title": "Replies depth (Read the description!)",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "How many levels of replies should be scraped. 0 means no replies, 1 means the tweet and its replies, 2 means the tweet, its replies and the replies of the replies, etc."
          },
          "includeUserInfo": {
            "title": "Include the profile user info in every tweet result (Now will get userId!)",
            "type": "boolean",
            "description": "This will add the profile user info to every tweet result. This is useful if you want to scrape tweets from multiple profiles and want to know which profile each tweet belongs to. This will be slower!",
            "default": true
          },
          "since": {
            "title": "Tweets newer than (since)",
            "type": "string",
            "description": "This lets you specify the oldest date of tweets to extract, format <code>YYYY-MM-DD</code>. You can also use relative dates such as '1 month' or '2 days' instead of absolute dates such as '2020-02-29'."
          },
          "until": {
            "title": "Tweets older than (until)",
            "type": "string",
            "description": "This lets you specify the newest date of tweets to extract, format <code>YYYY-MM-DD</code>. You can also use relative dates such as '1 month' or '2 days' instead of absolute dates such as '2020-02-29'."
          },
          "minReplies": {
            "title": "Minimum number of replies",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of replies a tweet must have to be scraped.",
            "default": 0
          },
          "minRetweets": {
            "title": "Minimum number of retweets",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of retweets a tweet must have to be scraped.",
            "default": 0
          },
          "minLikes": {
            "title": "Minimum number of likes",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of likes a tweet must have to be scraped.",
            "default": 0
          },
          "fromTheseAccounts": {
            "title": "From these accounts",
            "type": "array",
            "description": "Scrape tweets from these accounts.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "toTheseAccounts": {
            "title": "To these accounts",
            "type": "array",
            "description": "Scrape tweets to these accounts.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "mentioningTheseAccounts": {
            "title": "Mentioning these accounts",
            "type": "array",
            "description": "Scrape tweets mentioning these accounts.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "nativeRetweets": {
            "title": "Include only native retweets",
            "type": "boolean",
            "description": "This will include only native retweets in the results. Native retweets are tweets that have been retweeted without comment.",
            "default": false
          },
          "media": {
            "title": "Include only tweets with media",
            "type": "boolean",
            "description": "This will include only tweets that contain media (images, videos, gifs, etc.)",
            "default": false
          },
          "images": {
            "title": "Include only tweets with images",
            "type": "boolean",
            "description": "This will include only tweets that contain images",
            "default": false
          },
          "videos": {
            "title": "Include only tweets with videos",
            "type": "boolean",
            "description": "This will include only tweets that contain videos",
            "default": false
          },
          "news": {
            "title": "Include only tweets with news",
            "type": "boolean",
            "description": "This will include only tweets that contain news",
            "default": false
          },
          "verified": {
            "title": "Include only tweets from verified users",
            "type": "boolean",
            "description": "This will include only tweets from verified users",
            "default": false
          },
          "nativeVideo": {
            "title": "Include only tweets with native video",
            "type": "boolean",
            "description": "This will include only tweets that contain native video",
            "default": false
          },
          "replies": {
            "title": "Include only replies",
            "type": "boolean",
            "description": "This will include only replies to tweets",
            "default": false
          },
          "links": {
            "title": "Include only tweets with links",
            "type": "boolean",
            "description": "This will include only tweets that contain links",
            "default": false
          },
          "safe": {
            "title": "Include only tweets marked as potentially sensitive",
            "type": "boolean",
            "description": "This will include only tweets that have been marked as potentially sensitive",
            "default": false
          },
          "quote": {
            "title": "Include only tweets that quote other tweets",
            "type": "boolean",
            "description": "This will include only tweets that quote other tweets",
            "default": false
          },
          "proVideo": {
            "title": "Include only tweets with pro video",
            "type": "boolean",
            "description": "This will include only tweets that contain pro video",
            "default": false
          },
          "excludeNativeRetweets": {
            "title": "Exclude native retweets",
            "type": "boolean",
            "description": "This will exclude native retweets in the results. Native retweets are tweets that have been retweeted without comment.",
            "default": false
          },
          "excludeMedia": {
            "title": "Exclude tweets with media",
            "type": "boolean",
            "description": "This will exclude tweets that contain media (images, videos, gifs, etc.)",
            "default": false
          },
          "excludeImages": {
            "title": "Exclude tweets with images",
            "type": "boolean",
            "description": "This will exclude tweets that contain images",
            "default": false
          },
          "excludeVideos": {
            "title": "Exclude tweets with videos",
            "type": "boolean",
            "description": "This will exclude tweets that contain videos",
            "default": false
          },
          "excludeNews": {
            "title": "Exclude tweets with news",
            "type": "boolean",
            "description": "This will exclude tweets that contain news",
            "default": false
          },
          "excludeVerified": {
            "title": "Exclude tweets from verified users",
            "type": "boolean",
            "description": "This will exclude tweets from verified users",
            "default": false
          },
          "excludeNativeVideo": {
            "title": "Exclude tweets with native video",
            "type": "boolean",
            "description": "This will exclude tweets that contain native video",
            "default": false
          },
          "excludeReplies": {
            "title": "Exclude replies",
            "type": "boolean",
            "description": "This will exclude replies to tweets",
            "default": false
          },
          "excludeLinks": {
            "title": "Exclude tweets with links",
            "type": "boolean",
            "description": "This will exclude tweets that contain links",
            "default": false
          },
          "excludeSafe": {
            "title": "Exclude tweets marked as potentially sensitive",
            "type": "boolean",
            "description": "This will exclude tweets that have been marked as potentially sensitive",
            "default": false
          },
          "excludeQuote": {
            "title": "Exclude tweets that quote other tweets",
            "type": "boolean",
            "description": "This will exclude tweets that quote other tweets",
            "default": false
          },
          "excludeProVideo": {
            "title": "Exclude tweets with pro video",
            "type": "boolean",
            "description": "This will exclude tweets that contain pro video",
            "default": false
          },
          "language": {
            "title": "Tweets language",
            "enum": [
              "any",
              "ar",
              "ar-x-fm",
              "bn",
              "eu",
              "bg",
              "ca",
              "hr",
              "cs",
              "da",
              "nl",
              "en",
              "fi",
              "fr",
              "de",
              "el",
              "gu",
              "he",
              "hi",
              "hu",
              "id",
              "it",
              "ja",
              "kn",
              "ko",
              "mr",
              "no",
              "fa",
              "pl",
              "pt",
              "ro",
              "ru",
              "sr",
              "zh-cn",
              "sk",
              "sl",
              "es",
              "sv",
              "ta",
              "th",
              "zh-tw",
              "tr",
              "uk",
              "ur",
              "vi"
            ],
            "type": "string",
            "description": "Scrape tweets in a specific language.",
            "default": "any"
          },
          "near": {
            "title": "Near location",
            "type": "string",
            "description": "This lets you specify a location (e.g. a city) to search near"
          },
          "textLengthLessThan": {
            "title": "Text length less than",
            "type": "integer",
            "description": "This lets you specify the maximum length of the tweet text"
          },
          "proxyConfig": {
            "title": "Proxy configuration (RESIDENTIAL recommended)",
            "type": "object",
            "description": "",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}