X Tweet Scraper
Pricing
Pay per usage
Go to Apify Store
You can access the X Tweet Scraper programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.1", "x-build-id": "YWVlcoMeHCXqaBN46" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/devchrisvaz~x-tweet-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-devchrisvaz-x-tweet-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/devchrisvaz~x-tweet-scraper/runs": { "post": { "operationId": "runs-sync-devchrisvaz-x-tweet-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/devchrisvaz~x-tweet-scraper/run-sync": { "post": { "operationId": "run-sync-devchrisvaz-x-tweet-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": { "fromUsers": { "title": "Target Users", "type": "array", "description": "Array of X usernames to scrape.", "items": { "type": "string" }, "default": [] }, "tweetIds": { "title": "Tweet IDs", "type": "array", "description": "Array of specific Tweet IDs to scrape.", "items": { "type": "string" }, "default": [] }, "searchTerms": { "title": "Search Terms", "type": "array", "description": "Unsupported.", "items": { "type": "string" }, "default": [] }, "hashtags": { "title": "Hashtags", "type": "array", "description": "Array of hashtags to scrape.", "items": { "type": "string" }, "default": [] }, "since": { "title": "Since Date", "type": "string", "description": "ISO-8601 date or timestamp, inclusive." }, "until": { "title": "Until Date", "type": "string", "description": "ISO-8601 date or timestamp, inclusive." }, "language": { "title": "Language", "type": "string", "description": "Language code of the tweets." }, "minLikes": { "title": "Minimum Likes", "type": "integer", "description": "Minimum number of likes." }, "minRetweets": { "title": "Minimum Retweets", "type": "integer", "description": "Minimum number of retweets." }, "minReplies": { "title": "Minimum Replies", "type": "integer", "description": "Minimum number of replies." }, "onlyVerified": { "title": "Only Verified", "type": "boolean", "description": "Only scrape tweets from verified users.", "default": false }, "mediaType": { "title": "Media Type", "enum": [ "any", "text_only", "images", "video", "links" ], "type": "string", "description": "Filter tweets by media type.", "default": "any" }, "includeReplies": { "title": "Include Replies", "type": "boolean", "description": "Include replies in the scraped tweets.", "default": true }, "includeRetweets": { "title": "Include Retweets", "type": "boolean", "description": "Include retweets in the scraped tweets.", "default": false }, "sortBy": { "title": "Sort By", "enum": [ "latest" ], "type": "string", "description": "Sort order of the tweets.", "default": "latest" }, "maxResults": { "title": "Maximum Results", "type": "integer", "description": "Maximum number of results to return.", "default": 100 }, "proxyConfiguration": { "title": "Proxy Configuration", "type": "object", "description": "Proxy configuration to use." }, "authCookies": { "title": "Auth Cookies", "type": "array", "description": "Array of X authentication cookies (e.g. 'auth_token=...; ct0=...'). If provided, the scraper will use them instead of Guest Tokens.", "items": { "type": "string" }, "default": [] } } }, "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 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for X Tweet Scraper from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: