{
  "openapi": "3.0.1",
  "info": {
    "title": "X (Twitter) Scraper - Tweets, Search & Profiles | No Login",
    "description": "Scrape X (Twitter) tweets by keyword, from any profile, or by tweet link. Strict date window, direct MP4 video links, retweet, quote and reply flags, views, likes and author data. No login, cookies or API keys. Export to JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "EP5As0tfvn787Agua"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/clover_folktale~twitter-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-clover_folktale-twitter-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/clover_folktale~twitter-scraper/runs": {
      "post": {
        "operationId": "runs-sync-clover_folktale-twitter-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/clover_folktale~twitter-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-clover_folktale-twitter-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "userTweets",
              "tweets"
            ],
            "type": "string",
            "description": "What to scrape: search (tweets matching keywords), userTweets (the latest tweets of profiles) or tweets (single tweets by link or ID).",
            "default": "search"
          },
          "searchTerms": {
            "title": "Search terms (search mode)",
            "type": "array",
            "description": "Keywords or X search queries, one per line. The text is passed to X search as typed, so X search operators such as \"exact phrase\", #hashtag or from:name can be used. Each term is read separately and the results are merged.",
            "items": {
              "type": "string"
            }
          },
          "sort": {
            "title": "Sort (search mode)",
            "enum": [
              "Latest",
              "Top"
            ],
            "type": "string",
            "description": "Latest returns the newest tweets first; Top returns the most relevant ones.",
            "default": "Latest"
          },
          "handles": {
            "title": "Profiles (userTweets mode)",
            "type": "array",
            "description": "X handles (@name or name) or profile links (https://x.com/name or https://twitter.com/name). Each profile returns its tweets from newest to oldest, including retweets and replies the profile shows.",
            "items": {
              "type": "string"
            }
          },
          "tweetUrls": {
            "title": "Tweet links or IDs (tweets mode)",
            "type": "array",
            "description": "Tweet links (https://x.com/name/status/123 or twitter.com) or bare tweet IDs. One tweet per entry.",
            "items": {
              "type": "string"
            }
          },
          "startDate": {
            "title": "From date (UTC)",
            "type": "string",
            "description": "Optional. Only tweets posted on or after this day are returned, as YYYY-MM-DD. Tweets outside the date window are not delivered and not charged."
          },
          "endDate": {
            "title": "Until date (UTC)",
            "type": "string",
            "description": "Optional. Only tweets posted on or before this day are returned, as YYYY-MM-DD. Tweets outside the date window are not delivered and not charged."
          },
          "minLikes": {
            "title": "Minimum likes",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Only tweets with at least this many likes. In search mode X applies it (min_faves) and the Actor checks every tweet again; in all modes a tweet that does not pass is not delivered and not charged."
          },
          "minReplies": {
            "title": "Minimum replies",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Only tweets with at least this many replies. In search mode X applies it (min_replies) and the Actor checks every tweet again; in all modes a tweet that does not pass is not delivered and not charged."
          },
          "minRetweets": {
            "title": "Minimum retweets",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Only tweets with at least this many retweets. In search mode X applies it (min_retweets) and the Actor checks every tweet again; in all modes a tweet that does not pass is not delivered and not charged."
          },
          "media": {
            "title": "Media",
            "enum": [
              "any",
              "images",
              "videos",
              "media"
            ],
            "type": "string",
            "description": "Optional. Keep only tweets with pictures, with videos (native video and GIFs), or with either. 'Any tweet' applies no media filter. Tweets that do not match are not delivered and not charged.",
            "default": "any"
          },
          "onlyVerified": {
            "title": "Only verified authors",
            "type": "boolean",
            "description": "Optional. Keep only tweets from verified accounts (blue check). Tweets from other accounts are not delivered and not charged.",
            "default": false
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Optional. Keep only tweets X detects in this language, as a code such as en, zh, ja or es. Tweets in other languages are not delivered and not charged."
          },
          "excludeReplies": {
            "title": "Exclude replies",
            "type": "boolean",
            "description": "Optional. Leave out tweets that are replies to other tweets. They are not delivered and not charged.",
            "default": false
          },
          "excludeRetweets": {
            "title": "Exclude retweets",
            "type": "boolean",
            "description": "Optional. Leave out plain reposts of other people's tweets. They are not delivered and not charged.",
            "default": false
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of tweets to return in total across all inputs of the run. You are charged per tweet returned.",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}