{
  "description": "Search YouTube by keyword for videos, Shorts, channels, playlists, or movies. Filter by upload date, duration, sort order, features, market, and language. Optional video details add exact publish dates, views, likes, categories, and tags.",
  "properties": {
    "duration": {
      "default": "",
      "description": "Filter videos by length. Applies to video and Shorts searches.",
      "editor": "select",
      "enum": [
        "",
        "short",
        "medium",
        "long"
      ],
      "enumTitles": [
        "Any duration",
        "Under 3 minutes",
        "3 to 20 minutes",
        "Over 20 minutes"
      ],
      "prefill": "",
      "title": "Duration",
      "type": "string"
    },
    "features": {
      "default": [],
      "description": "Filter videos by features. Multiple selections are combined. Legacy aliases cc, location, and purchased are accepted for saved tasks; cc maps to subtitles and the other two are ignored with a warning.",
      "editor": "select",
      "items": {
        "enumSuggestedValues": [
          "hd",
          "subtitles",
          "creative_commons",
          "live",
          "4k",
          "hdr",
          "360",
          "vr180",
          "3d"
        ],
        "enumTitles": [
          "HD",
          "Subtitles/CC",
          "Creative Commons",
          "Live",
          "4K",
          "HDR",
          "360 degrees",
          "VR180",
          "3D"
        ],
        "type": "string"
      },
      "prefill": [],
      "title": "Video Features",
      "type": "array"
    },
    "includeVideoDetails": {
      "default": false,
      "description": "Fetch each video's public detail payload to add exact publish date, views, likes, category, tags, and full description. Adds one request per video and makes runs slower.",
      "prefill": false,
      "title": "Include Video Details",
      "type": "boolean"
    },
    "language": {
      "default": "auto",
      "description": "Language for YouTube labels and search text (hl). Auto follows the selected market.",
      "editor": "select",
      "enum": [
        "auto",
        "ar",
        "bn",
        "cs",
        "da",
        "de",
        "el",
        "en",
        "es",
        "fa",
        "fi",
        "fr",
        "he",
        "hi",
        "hu",
        "id",
        "it",
        "ja",
        "ko",
        "ms",
        "nl",
        "no",
        "pl",
        "pt",
        "ro",
        "ru",
        "sv",
        "th",
        "tr",
        "uk",
        "ur",
        "vi",
        "zh-Hans",
        "zh-Hant"
      ],
      "enumTitles": [
        "Auto (from market)",
        "Arabic",
        "Bengali",
        "Czech",
        "Danish",
        "German",
        "Greek",
        "English",
        "Spanish",
        "Persian",
        "Finnish",
        "French",
        "Hebrew",
        "Hindi",
        "Hungarian",
        "Indonesian",
        "Italian",
        "Japanese",
        "Korean",
        "Malay",
        "Dutch",
        "Norwegian",
        "Polish",
        "Portuguese",
        "Romanian",
        "Russian",
        "Swedish",
        "Thai",
        "Turkish",
        "Ukrainian",
        "Urdu",
        "Vietnamese",
        "Chinese (Simplified)",
        "Chinese (Traditional)"
      ],
      "prefill": "auto",
      "title": "Interface Language",
      "type": "string"
    },
    "market": {
      "default": "US",
      "description": "Country used for YouTube's search context (gl). Results and labels follow this market.",
      "editor": "select",
      "enum": [
        "US",
        "GB",
        "CA",
        "AU",
        "DE",
        "FR",
        "JP",
        "KR",
        "BR",
        "IN",
        "MX",
        "IT",
        "ES",
        "NL",
        "PL",
        "RU",
        "SE",
        "NO",
        "DK",
        "FI",
        "ZA",
        "SG",
        "HK",
        "TW",
        "ID",
        "MY",
        "TH",
        "PH",
        "AR",
        "CO",
        "CL"
      ],
      "enumTitles": [
        "United States",
        "United Kingdom",
        "Canada",
        "Australia",
        "Germany",
        "France",
        "Japan",
        "South Korea",
        "Brazil",
        "India",
        "Mexico",
        "Italy",
        "Spain",
        "Netherlands",
        "Poland",
        "Russia",
        "Sweden",
        "Norway",
        "Denmark",
        "Finland",
        "South Africa",
        "Singapore",
        "Hong Kong",
        "Taiwan",
        "Indonesia",
        "Malaysia",
        "Thailand",
        "Philippines",
        "Argentina",
        "Colombia",
        "Chile"
      ],
      "prefill": "US",
      "title": "Market",
      "type": "string"
    },
    "maxResults": {
      "default": 20,
      "description": "Maximum number of results per query. YouTube may serve fewer rows for a given query, entity type, session, or IP; the run reports the requested and actual counts and whether the result pool was exhausted.",
      "maximum": 1000,
      "minimum": 1,
      "prefill": 3,
      "title": "Max Results Per Query",
      "type": "integer"
    },
    "scrapeAllResults": {
      "default": false,
      "description": "Keep loading pages until YouTube stops offering results. This ignores Max Results Per Query and can take longer on broad searches.",
      "prefill": false,
      "title": "Scrape All Available Results",
      "type": "boolean"
    },
    "searchQueries": {
      "description": "One or more YouTube search terms. Each query is scraped separately and its results are combined in the dataset.",
      "editor": "stringList",
      "items": {
        "minLength": 1,
        "type": "string"
      },
      "minItems": 1,
      "prefill": [
        "apify"
      ],
      "title": "Search Queries",
      "type": "array"
    },
    "sortBy": {
      "default": "relevance",
      "description": "Order of the search results. YouTube currently supports relevance and popularity (view count). Legacy values upload_date and rating are accepted for saved tasks and mapped to relevance with a warning.",
      "editor": "select",
      "enumSuggestedValues": [
        "relevance",
        "view_count"
      ],
      "enumTitles": [
        "Relevance",
        "View count (popularity)"
      ],
      "prefill": "relevance",
      "title": "Sort By",
      "type": "string"
    },
    "type": {
      "default": "",
      "description": "Restrict results to one entity type. Legacy plural value shorts is accepted and mapped to Shorts.",
      "editor": "select",
      "enumSuggestedValues": [
        "",
        "video",
        "short",
        "channel",
        "playlist",
        "movie"
      ],
      "enumTitles": [
        "All",
        "Videos",
        "Shorts",
        "Channels",
        "Playlists",
        "Movies"
      ],
      "prefill": "video",
      "title": "Result Type",
      "type": "string"
    },
    "uploadDate": {
      "default": "",
      "description": "Only return results uploaded in the selected period. Applies to videos and Shorts.",
      "editor": "select",
      "enum": [
        "",
        "last_hour",
        "today",
        "this_week",
        "this_month",
        "this_year"
      ],
      "enumTitles": [
        "Any time",
        "Last hour",
        "Today",
        "This week",
        "This month",
        "This year"
      ],
      "prefill": "",
      "title": "Upload Date",
      "type": "string"
    }
  },
  "required": [
    "searchQueries"
  ],
  "schemaVersion": 1,
  "title": "YouTube Search Scraper Input",
  "type": "object"
}
