{
  "openapi": "3.0.1",
  "info": {
    "title": "X/Twitter Profile Scraper",
    "description": "Extract tweets, replies, and engagement data from Twitter profiles. Scrape likes, reposts, views, media URLs, and more with date filtering, reply extraction, and custom data transformation. Run via API with no authentication or proxies required.",
    "version": "0.0",
    "x-build-id": "8xd5s4DKtBIpDEqtJ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datadoping~x-twitter-profile-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datadoping-x-twitter-profile-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/datadoping~x-twitter-profile-scraper/runs": {
      "post": {
        "operationId": "runs-sync-datadoping-x-twitter-profile-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/datadoping~x-twitter-profile-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-datadoping-x-twitter-profile-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": {
          "profiles": {
            "title": "Profile URLs / usernames",
            "type": "array",
            "description": "One or more X profile URLs, @usernames, or numeric user IDs.",
            "items": {
              "type": "string"
            }
          },
          "searchQueries": {
            "title": "Profile search queries",
            "type": "array",
            "description": "Keywords to search for X people/profiles (typeahead + People search when available).",
            "items": {
              "type": "string"
            }
          },
          "scrapeProfileSearch": {
            "title": "Profile Search",
            "type": "boolean",
            "description": "Search X users by keyword. Automatically enabled when search queries are provided.",
            "default": false
          },
          "maxSearchResults": {
            "title": "Max search results per query",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum profile search hits to keep per query.",
            "default": 20
          },
          "enrichSearchResults": {
            "title": "Enrich search results with full profile details",
            "type": "boolean",
            "description": "When enabled, each search hit is followed up with a full profile details request.",
            "default": true
          },
          "scrapeProfileDetails": {
            "title": "Profile Details",
            "type": "boolean",
            "description": "Scrape profile metadata (bio, counts, verification, pinned tweet, etc.).",
            "default": true
          },
          "scrapePosts": {
            "title": "Posts",
            "type": "boolean",
            "description": "Scrape posts from the profile timeline.",
            "default": false
          },
          "scrapeReplies": {
            "title": "Replies",
            "type": "boolean",
            "description": "Scrape replies from the profile Replies tab.",
            "default": false
          },
          "scrapeFollowers": {
            "title": "Followers",
            "type": "boolean",
            "description": "Scrape follower accounts for each profile.",
            "default": false
          },
          "scrapeFollowing": {
            "title": "Following",
            "type": "boolean",
            "description": "Scrape accounts followed by each profile.",
            "default": false
          },
          "scrapeMedia": {
            "title": "Media tab",
            "type": "boolean",
            "description": "Scrape tweets from the profile Media tab.",
            "default": false
          },
          "maxPosts": {
            "title": "Max posts",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum posts per profile. Used when Posts is enabled.",
            "default": 100
          },
          "includeReposts": {
            "title": "Include reposts",
            "type": "boolean",
            "description": "Keep reposts/retweets in the posts timeline.",
            "default": true
          },
          "includeRepliesInPosts": {
            "title": "Include replies in posts timeline",
            "type": "boolean",
            "description": "Keep reply tweets that appear on the posts timeline.",
            "default": false
          },
          "includeMediaOnly": {
            "title": "Media-only posts filter",
            "type": "boolean",
            "description": "When enabled, keep only posts that contain media.",
            "default": false
          },
          "startDate": {
            "title": "Start date",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}",
            "type": "string",
            "description": "Only keep posts/replies created on or after this date (YYYY-MM-DD or ISO)."
          },
          "endDate": {
            "title": "End date",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}",
            "type": "string",
            "description": "Only keep posts/replies created on or before this date (YYYY-MM-DD or ISO)."
          },
          "maxReplies": {
            "title": "Max replies",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum replies per profile. Used when Replies is enabled.",
            "default": 100
          },
          "replyScope": {
            "title": "Reply scope",
            "enum": [
              "author",
              "all"
            ],
            "type": "string",
            "description": "author = only replies written by the profile. all = every item on the Replies tab.",
            "default": "author"
          },
          "maxFollowers": {
            "title": "Max followers",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum followers per profile. Used when Followers is enabled.",
            "default": 100
          },
          "maxFollowing": {
            "title": "Max following",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum following accounts per profile. Used when Following is enabled.",
            "default": 100
          },
          "maxMedia": {
            "title": "Max media items",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum media-tab tweets per profile. Used when Media tab is enabled.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}