{
  "openapi": "3.0.1",
  "info": {
    "title": "Scweet Twitter/X Scraper",
    "description": "Scrape X (Twitter) tweets and follower lists. Search by keywords, hashtags, users, dates. Export JSON/CSV/XLSX. From $0.30/1k rows. Free plan included.",
    "version": "3.0",
    "x-build-id": "Jg5GNZd0E2zZcJtJS"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/altimis~scweet/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-altimis-scweet",
        "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/altimis~scweet/runs": {
      "post": {
        "operationId": "runs-sync-altimis-scweet",
        "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/altimis~scweet/run-sync": {
      "post": {
        "operationId": "run-sync-altimis-scweet",
        "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",
        "required": [
          "max_items"
        ],
        "properties": {
          "source_mode": {
            "title": "What to scrape",
            "enum": [
              "search",
              "profiles",
              "followers",
              "auto"
            ],
            "type": "string",
            "description": "Select one source. A run reads one source and returns one kind of row.\n- Search tweets: tweets that match a query and filters.\n- Profile tweets: the tweets on the timeline of each profile you list.\n- Followers / Following: one row for each account that follows a profile, or that it follows. Each row carries the details of that account, including the counts of followers and posts.\nAuto reads the search when a query exists, otherwise the profiles.",
            "default": "auto"
          },
          "search_query": {
            "title": "Search query",
            "type": "string",
            "description": "Used by: Search tweets. The query as you would type it on X, for example \"bitcoin OR ethereum lang:en\". Leave it empty to build the query from the filters below.",
            "default": ""
          },
          "profile_urls": {
            "title": "Profiles",
            "type": "array",
            "description": "Used by: Profile tweets, Followers / Following. One profile for each line. A handle, @handle, or the address of the profile page.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "relationship": {
            "title": "Which list",
            "enum": [
              "followers",
              "following",
              "verified_followers"
            ],
            "type": "string",
            "description": "Used by: Followers / Following. Choose the accounts that follow this profile, the accounts it follows, or the verified accounts that follow it.",
            "default": "followers"
          },
          "search_sort": {
            "title": "Sort",
            "enum": [
              "Top",
              "Latest"
            ],
            "type": "string",
            "description": "Used by: Search tweets. Latest returns the newest tweets first and reaches a large volume. Top returns a ranked selection, which holds fewer tweets.",
            "default": "Top"
          },
          "since": {
            "title": "From date",
            "type": "string",
            "description": "Used by: Search tweets. A date sets 00:00:00 UTC.",
            "default": ""
          },
          "until": {
            "title": "To date",
            "type": "string",
            "description": "Used by: Search tweets. A date sets 23:59:59 UTC.",
            "default": ""
          },
          "lang": {
            "title": "Language",
            "enum": [
              "",
              "en",
              "ab",
              "aa",
              "af",
              "ak",
              "sq",
              "am",
              "ar",
              "an",
              "hy",
              "as",
              "av",
              "ae",
              "ay",
              "az",
              "bm",
              "ba",
              "eu",
              "be",
              "bn",
              "bh",
              "bi",
              "bs",
              "br",
              "bg",
              "my",
              "ca",
              "ch",
              "ce",
              "ny",
              "zh",
              "cv",
              "kw",
              "co",
              "cr",
              "hr",
              "cs",
              "da",
              "dv",
              "nl",
              "eo",
              "et",
              "ee",
              "fo",
              "fj",
              "fi",
              "fr",
              "ff",
              "gl",
              "ka",
              "de",
              "el",
              "gn",
              "gu",
              "ht",
              "ha",
              "he",
              "iw",
              "hz",
              "hi",
              "ho",
              "hu",
              "ia",
              "id",
              "ie",
              "ga",
              "ig",
              "ik",
              "io",
              "is",
              "it",
              "iu",
              "ja",
              "jv",
              "kl",
              "kn",
              "kr",
              "ks",
              "kk",
              "km",
              "ki",
              "rw",
              "ky",
              "kv",
              "kg",
              "ko",
              "ku",
              "kj",
              "la",
              "lb",
              "lg",
              "li",
              "ln",
              "lo",
              "lt",
              "lu",
              "lv",
              "gv",
              "mk",
              "mg",
              "ms",
              "ml",
              "mt",
              "mi",
              "mr",
              "mh",
              "mn",
              "na",
              "nv",
              "nb",
              "nd",
              "ne",
              "ng",
              "nn",
              "no",
              "ii",
              "nr",
              "oc",
              "oj",
              "cu",
              "om",
              "or",
              "os",
              "pa",
              "pi",
              "fa",
              "pl",
              "ps",
              "pt",
              "qu",
              "rm",
              "rn",
              "ro",
              "ru",
              "sa",
              "sc",
              "sd",
              "se",
              "sm",
              "sg",
              "sr",
              "gd",
              "sn",
              "si",
              "sk",
              "sl",
              "so",
              "st",
              "es",
              "su",
              "sw",
              "ss",
              "sv",
              "ta",
              "te",
              "tg",
              "th",
              "ti",
              "bo",
              "tk",
              "tl",
              "tn",
              "to",
              "tr",
              "ts",
              "tt",
              "tw",
              "ty",
              "ug",
              "uk",
              "ur",
              "uz",
              "ve",
              "vi",
              "vo",
              "wa",
              "cy",
              "wo",
              "fy",
              "xh",
              "yi",
              "yo",
              "za"
            ],
            "type": "string",
            "description": "Used by: Search tweets. A two-letter code, for example en.",
            "default": ""
          },
          "all_words": {
            "title": "All Words",
            "type": "array",
            "description": "Every listed term must appear.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "any_words": {
            "title": "Any Words",
            "type": "array",
            "description": "At least one listed term must appear.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "exact_phrases": {
            "title": "Exact Phrases",
            "type": "array",
            "description": "Exact phrases to include.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "exclude_words": {
            "title": "Exclude Words",
            "type": "array",
            "description": "Terms to exclude.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "hashtags_any": {
            "title": "Hashtags (Any)",
            "type": "array",
            "description": "Include tweets containing any listed hashtag.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "hashtags_exclude": {
            "title": "Hashtags (Exclude)",
            "type": "array",
            "description": "Exclude tweets containing these hashtags.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "from_users": {
            "title": "From Users",
            "type": "array",
            "description": "Search tweets authored by these users.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "to_users": {
            "title": "To Users",
            "type": "array",
            "description": "Search tweets replying to or directed at these users.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "mentioning_users": {
            "title": "Mentioning Users",
            "type": "array",
            "description": "Search tweets mentioning these users.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "tweet_type": {
            "title": "Tweet Type",
            "enum": [
              "all",
              "originals_only",
              "replies_only",
              "retweets_only",
              "exclude_replies",
              "exclude_retweets"
            ],
            "type": "string",
            "description": "Maps to filter:/-filter: operators.",
            "default": "all"
          },
          "verified_only": {
            "title": "Verified Only",
            "type": "boolean",
            "description": "Only verified users.",
            "default": false
          },
          "blue_verified_only": {
            "title": "Blue Verified Only",
            "type": "boolean",
            "description": "Only blue-verified users.",
            "default": false
          },
          "has_images": {
            "title": "Has Images",
            "type": "boolean",
            "description": "Must contain images.",
            "default": false
          },
          "has_videos": {
            "title": "Has Videos",
            "type": "boolean",
            "description": "Must contain videos.",
            "default": false
          },
          "has_links": {
            "title": "Has Links",
            "type": "boolean",
            "description": "Must contain links.",
            "default": false
          },
          "has_mentions": {
            "title": "Has Mentions",
            "type": "boolean",
            "description": "Must contain mentions.",
            "default": false
          },
          "has_hashtags": {
            "title": "Has Hashtags",
            "type": "boolean",
            "description": "Must contain hashtags.",
            "default": false
          },
          "min_likes": {
            "title": "Minimum Likes",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum likes threshold.",
            "default": 0
          },
          "min_replies": {
            "title": "Minimum Replies",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum replies threshold.",
            "default": 0
          },
          "min_retweets": {
            "title": "Minimum Retweets",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum retweets threshold.",
            "default": 0
          },
          "place": {
            "title": "Place",
            "type": "string",
            "description": "Place operator value.",
            "default": ""
          },
          "geocode": {
            "title": "Geocode",
            "type": "string",
            "description": "Format: lat,lon,radius (for example: 39.8283,-98.5795,2500km).",
            "default": ""
          },
          "near": {
            "title": "Near",
            "type": "string",
            "description": "City or location text.",
            "default": ""
          },
          "within": {
            "title": "Within",
            "type": "string",
            "description": "Radius used with near (for example: 10km).",
            "default": ""
          },
          "max_items": {
            "title": "Maximum results",
            "minimum": 100,
            "maximum": 50000,
            "type": "integer",
            "description": "A ceiling for the whole run, across every profile and every query. The run stops when it reaches this number. If X holds fewer results than you ask for, the run returns what exists.",
            "default": 1000
          },
          "per_profile_limit": {
            "title": "Maximum for each profile",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Used by: Profile tweets, Followers / Following. The largest number of rows for each profile you list. Leave it empty to share \"Maximum results\" across the profiles, where one profile with many rows can use the whole run."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}