{
  "openapi": "3.0.1",
  "info": {
    "title": "Twitter Profile Scraper With Engagement Analytics",
    "description": "Scrape detailed user data from X (Twitter) with the Twitter Profile Scraper. Extract bios, follower counts, following, tweets, media, verification status, and engagement stats from any public profile. Perfect for influencer analysis, research, and monitoring. Fast, accurate, and scalable.",
    "version": "0.1",
    "x-build-id": "rRlYwd9XfcG0O0SnF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapier~twitter-profile-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapier-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/scrapier~twitter-profile-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapier-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/scrapier~twitter-profile-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapier-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": {
          "profilesToTrack": {
            "title": "🔗 Profiles To Track",
            "type": "array",
            "description": "List of Twitter/X profile URLs to score (e.g., https://x.com/elonmusk). Required if handlesToTrack is empty. (Also accepts the base actor's `startUrls` key.)",
            "items": {
              "type": "string"
            }
          },
          "handlesToTrack": {
            "title": "🏷️ Handles To Track",
            "type": "array",
            "description": "List of usernames without the @ (e.g., elonmusk). Required if profilesToTrack is empty. (Also accepts the base actor's `twitterHandles` key.)",
            "items": {
              "type": "string"
            }
          },
          "maxTweetsToScore": {
            "title": "📦 Max Tweets To Score",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on total items (tweets/replies/profile snapshots) written across the whole run. Example: 50. (Also accepts the base actor's `maxItems` key.)"
          },
          "metricsStartDate": {
            "title": "📅 Metrics Start Date (UTC)",
            "type": "string",
            "description": "Lower bound for tweet date. Absolute date (YYYY-MM-DD) or relative value (e.g., 7 days). Empty = no lower bound. (Also accepts the base actor's `start` key.)"
          },
          "metricsEndDate": {
            "title": "📅 Metrics End Date (UTC)",
            "type": "string",
            "description": "Upper bound for tweet date. Absolute date (YYYY-MM-DD) or relative value (e.g., 1 day). Empty = no upper bound. (Also accepts the base actor's `end` key.)"
          },
          "countNativeRetweets": {
            "title": "🔁 Count Native Retweets",
            "type": "boolean",
            "description": "When off, native retweets (full_text starts with 'RT @') are excluded from scoring. Only effective for the last ~7-10 days. (Also accepts the base actor's `includeNativeRetweets` key.)"
          },
          "requirePhotoMedia": {
            "title": "🖼️ Only Score Tweets With Photos",
            "type": "boolean",
            "description": "Keep only tweets that contain at least one photo. (Also accepts the base actor's `onlyImages` key.)"
          },
          "emitProfileSnapshot": {
            "title": "👤 Emit Profile Snapshot Record",
            "type": "boolean",
            "description": "Emit one profile-snapshot record per user, with follower/following/tweet-count stats flattened onto top-level columns (visible in the output table, not buried in a raw object). (Also accepts the base actor's `getAboutData` key.)"
          },
          "emitAnalyticsRollup": {
            "title": "📊 Emit Engagement & Virality Analytics Rollup",
            "type": "boolean",
            "description": "On by default. Emits one analyticsRollup record per profile: avgEngagementPerTweet, postingCadencePerDay, bestPostingHourUTC, bestPostingDayOfWeek, topHashtags, mediaTypeBreakdown. Always labeled basedOnCapturedTweets:N — this run's captured sample, never lifetime stats.",
            "default": true
          },
          "fetchEngagementReplies": {
            "title": "💬 Fetch Reply Engagement",
            "type": "boolean",
            "description": "Fetch replies to each qualifying tweet via the TweetDetail endpoint. Requires login cookies. (Also accepts the base actor's `getReplies` key.)"
          },
          "minReplyEngagement": {
            "title": "📈 Minimum Reply Count To Fetch",
            "minimum": 0,
            "type": "integer",
            "description": "Only fetch replies for tweets whose reply_count is at least this value. (Also accepts the base actor's `minReplyCount` key.)"
          },
          "loginAuthToken": {
            "title": "🔐 auth_token Cookie",
            "type": "string",
            "description": "Value of the `auth_token` cookie from x.com (devtools → Application → Cookies). Required only for fetchEngagementReplies. (Also accepts the base actor's `authToken` key.)"
          },
          "loginCsrfToken": {
            "title": "🛡️ ct0 Cookie",
            "type": "string",
            "description": "Value of the `ct0` cookie from x.com. Required only for fetchEngagementReplies. (Also accepts the base actor's `csrfToken` key.)"
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy Configuration",
            "type": "object",
            "description": "Apify proxy configuration. Recommended for reliability against rate limits."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}