{
  "openapi": "3.0.1",
  "info": {
    "title": "X (Twitter) Search Scraper: Tweets & Replies",
    "description": "Search X posts and replies by keyword, account, date, and engagement. Free demo: fixed sample only; paid Apify plan required for custom data. API platform usage is billed separately by Apify.",
    "version": "1.0",
    "x-build-id": "5iSg2fvsqU28KUsQ5"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/feeddlabs~x-twitter-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-feeddlabs-x-twitter-search",
        "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/feeddlabs~x-twitter-search/runs": {
      "post": {
        "operationId": "runs-sync-feeddlabs-x-twitter-search",
        "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/feeddlabs~x-twitter-search/run-sync": {
      "post": {
        "operationId": "run-sync-feeddlabs-x-twitter-search",
        "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": "What to get",
            "enum": [
              "search",
              "replies"
            ],
            "type": "string",
            "description": "Search tweets, or collect the replies under tweets. For followers and following, use our X (Twitter) Followers Scraper.",
            "default": "search"
          },
          "queries": {
            "title": "Search terms",
            "type": "array",
            "description": "Keywords, hashtags, $cashtags, or full X advanced-search queries, e.g. \"bitcoin min_faves:100 -filter:replies\". Up to 20. Used in search mode.",
            "default": [
              "bitcoin"
            ],
            "items": {
              "type": "string"
            }
          },
          "fromUsers": {
            "title": "From accounts",
            "type": "array",
            "description": "Only posts by these accounts (handles, with or without @). Combine with search terms, or use alone for their latest posts.",
            "items": {
              "type": "string"
            }
          },
          "mentioning": {
            "title": "Mentioning",
            "type": "array",
            "description": "Posts that mention any of these accounts, up to 10.",
            "items": {
              "type": "string"
            }
          },
          "tweets": {
            "title": "Tweets (replies mode)",
            "type": "array",
            "description": "Tweet URLs or IDs whose replies to collect, up to 20. Used in replies mode.",
            "items": {
              "type": "string"
            }
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "Latest",
              "Top",
              "Media"
            ],
            "type": "string",
            "description": "Latest posts first, X's Top ranking, or only posts with media. Default: Latest.",
            "default": "Latest"
          },
          "maxItems": {
            "title": "Maximum rows",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Stop after this many tweets in total. You pay per tweet. Total across the whole run, not per query or account. On Free, this can only shorten the fixed sample.",
            "default": 20
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Two- or three-letter language code, e.g. en, es, ja."
          },
          "since": {
            "title": "From date",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Posts from this day (UTC)."
          },
          "until": {
            "title": "Before date",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Posts before this day (UTC)."
          },
          "minLikes": {
            "title": "Minimum likes",
            "minimum": 0,
            "type": "integer",
            "description": "Only posts with at least this many likes."
          },
          "minReposts": {
            "title": "Minimum reposts",
            "minimum": 0,
            "type": "integer",
            "description": "Only posts with at least this many reposts."
          },
          "minReplies": {
            "title": "Minimum replies",
            "minimum": 0,
            "type": "integer",
            "description": "Only posts with at least this many replies."
          },
          "onlyMedia": {
            "title": "Only posts with media",
            "type": "boolean",
            "description": "Only posts with images or videos.",
            "default": false
          },
          "onlyImages": {
            "title": "Only images",
            "type": "boolean",
            "description": "Only posts with images.",
            "default": false
          },
          "onlyVideos": {
            "title": "Only videos",
            "type": "boolean",
            "description": "Only posts with videos.",
            "default": false
          },
          "onlyQuotes": {
            "title": "Only quotes",
            "type": "boolean",
            "description": "Only quote posts.",
            "default": false
          },
          "onlyLinks": {
            "title": "Only with links",
            "type": "boolean",
            "description": "Only posts that link to a website.",
            "default": false
          },
          "blueOnly": {
            "title": "Blue check only",
            "type": "boolean",
            "description": "Only posts from accounts with a blue check.",
            "default": false
          },
          "excludeReplies": {
            "title": "Exclude replies",
            "type": "boolean",
            "description": "Skip replies.",
            "default": false
          },
          "excludeReposts": {
            "title": "Exclude reposts",
            "type": "boolean",
            "description": "Skip reposts.",
            "default": false
          },
          "reportProblem": {
            "title": "Report a problem",
            "type": "string",
            "description": "Something wrong or missing? Write it here and run: we get your message, the run does nothing else, and it's free. AI agents can use this too."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}