{
  "openapi": "3.0.1",
  "info": {
    "title": "X/Twitter Keyword & Hashtag Tweet Search",
    "description": "Search X (Twitter) by keyword, phrase or hashtag and get tweet text, author, engagement metrics, media and language. Every row says which keyword found it. No login required.",
    "version": "1.0",
    "x-build-id": "JUGXgeVuZX6MAfJ01"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nimbryxo-studio~x-twitter-keyword-and-hashtag-tweet-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nimbryxo-studio-x-twitter-keyword-and-hashtag-tweet-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/nimbryxo-studio~x-twitter-keyword-and-hashtag-tweet-search/runs": {
      "post": {
        "operationId": "runs-sync-nimbryxo-studio-x-twitter-keyword-and-hashtag-tweet-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/nimbryxo-studio~x-twitter-keyword-and-hashtag-tweet-search/run-sync": {
      "post": {
        "operationId": "run-sync-nimbryxo-studio-x-twitter-keyword-and-hashtag-tweet-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",
        "required": [
          "keywords"
        ],
        "properties": {
          "keywords": {
            "title": "Search keywords",
            "minItems": 1,
            "type": "array",
            "description": "Words, phrases, hashtags or full X search queries to monitor. Each keyword is searched separately, and every result row tells you which keyword found it (searchTerm).",
            "items": {
              "type": "string"
            }
          },
          "maxTweets": {
            "title": "Maximum tweets per keyword",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Stop after this many tweets for each keyword.",
            "default": 20
          },
          "maxItems": {
            "title": "Maximum tweets per keyword (alias)",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Alias of Maximum tweets per keyword. The actor accepts either name."
          },
          "searchType": {
            "title": "Result order",
            "enum": [
              "Top",
              "Latest"
            ],
            "type": "string",
            "description": "Top returns the most relevant and popular tweets. Latest returns the newest tweets first — best for real-time monitoring.",
            "default": "Top"
          },
          "sort": {
            "title": "Result order (alias)",
            "enum": [
              "Top",
              "Latest"
            ],
            "type": "string",
            "description": "Alias of Result order. The actor accepts either name."
          },
          "language": {
            "title": "Language",
            "enum": [
              "Any language",
              "en",
              "es",
              "zh",
              "hi",
              "ar",
              "bn",
              "pt",
              "ru",
              "ja",
              "de",
              "fr",
              "ko",
              "tr",
              "vi",
              "te",
              "mr",
              "ta",
              "ur",
              "it",
              "th",
              "gu",
              "fa",
              "pl",
              "uk",
              "ml",
              "kn",
              "id",
              "ms",
              "sw",
              "ha",
              "am",
              "my",
              "pa",
              "nl",
              "ro",
              "el",
              "he",
              "sv",
              "hu",
              "cs"
            ],
            "type": "string",
            "description": "Only return tweets written in this language. Leave the default to search all languages.",
            "default": "Any language"
          },
          "dateFrom": {
            "title": "Start date",
            "type": "string",
            "description": "Only return tweets posted on or after this date. Leave empty for no lower bound."
          },
          "dateTo": {
            "title": "End date",
            "type": "string",
            "description": "Only return tweets posted on or before this date. Leave empty for no upper bound."
          },
          "excludeRetweets": {
            "title": "Exclude retweets (reposts)",
            "type": "boolean",
            "description": "Skip retweets/reposts and keep only original posts.",
            "default": false
          },
          "excludeReplies": {
            "title": "Exclude replies",
            "type": "boolean",
            "description": "Skip replies and keep only top-level posts.",
            "default": false
          },
          "onlyVerifiedUsers": {
            "title": "Verified accounts only",
            "type": "boolean",
            "description": "Only return tweets from verified (blue check) accounts.",
            "default": false
          },
          "onlyImages": {
            "title": "Tweets with images only",
            "type": "boolean",
            "description": "Only return tweets that contain at least one image.",
            "default": false
          },
          "onlyVideos": {
            "title": "Tweets with videos only",
            "type": "boolean",
            "description": "Only return tweets that contain at least one video or GIF.",
            "default": false
          },
          "minimumLikes": {
            "title": "Minimum likes",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only return tweets with at least this many likes. Leave empty for no minimum."
          },
          "minimumRetweets": {
            "title": "Minimum retweets",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only return tweets with at least this many retweets. Leave empty for no minimum."
          },
          "minimumReplies": {
            "title": "Minimum replies",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only return tweets with at least this many replies. Leave empty for no minimum."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. Use a proxy if you run large jobs or see frequent IP-based rate limits."
          },
          "startDate": {
            "title": "Start date (legacy)",
            "type": "string",
            "description": "Deprecated — use 'Start date' instead. Kept so existing saved inputs keep working. Format: YYYY-MM-DD."
          },
          "endDate": {
            "title": "End date (legacy)",
            "type": "string",
            "description": "Deprecated — use 'End date' instead. Kept so existing saved inputs keep working. Format: YYYY-MM-DD."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}