{
  "openapi": "3.0.1",
  "info": {
    "title": "YouTube Scraper - Video Search, Channels, Views & Likes",
    "description": "Scrape YouTube videos from search terms, channel handles and video links: title, channel, views, likes, comment count, duration, tags, description and publish date, one row per video. Filter by upload date, sort order, HD, 4K or subtitles. No API key or quota. For marketing, research and AI data.",
    "version": "0.2",
    "x-build-id": "Gd01SbWYWKWXjMdAM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/s-r~youtube-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-s-r-youtube-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/s-r~youtube-scraper/runs": {
      "post": {
        "operationId": "runs-sync-s-r-youtube-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/s-r~youtube-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-s-r-youtube-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",
        "required": [
          "queries"
        ],
        "properties": {
          "queries": {
            "title": "Search terms, video URLs, or channel URLs",
            "type": "array",
            "description": "Mix freely: search keywords (e.g. 'web scraping tutorial'), video URLs (watch?v=…, youtu.be/…), channel URLs or @handles. One entry per line.",
            "items": {
              "type": "string"
            }
          },
          "max_results": {
            "title": "Max videos per query/channel",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum videos to collect per search term or channel (1–500).",
            "default": 20
          },
          "sort_by": {
            "title": "Sort search results by",
            "enum": [
              "relevance",
              "date",
              "views",
              "rating"
            ],
            "type": "string",
            "description": "Ordering for search-term inputs. Ignored for video/channel URLs.",
            "default": "relevance"
          },
          "upload_date": {
            "title": "Upload date filter",
            "enum": [
              "any",
              "hour",
              "today",
              "week",
              "month",
              "year"
            ],
            "type": "string",
            "description": "Only return videos uploaded within this window. Applies to search-term inputs.",
            "default": "any"
          },
          "fetch_details": {
            "title": "Fetch full video details",
            "type": "boolean",
            "description": "Enrich every video with likes, channel subscribers, comment count, full description, exact publish date and category (2 extra requests per video).",
            "default": true
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Two-letter country code for region-specific results (gl).",
            "default": "US"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Two-letter interface language code (hl) — affects localized texts.",
            "default": "en"
          },
          "is_hd": {
            "title": "HD only",
            "type": "boolean",
            "description": "Only HD videos. YouTube's HD feature filter. Applies to search-term inputs.",
            "default": false
          },
          "has_subtitles": {
            "title": "Has subtitles/CC",
            "type": "boolean",
            "description": "Only videos with subtitles or closed captions. YouTube's Subtitles/CC filter. Applies to search-term inputs.",
            "default": false
          },
          "has_cc": {
            "title": "Creative Commons only",
            "type": "boolean",
            "description": "Only Creative Commons licensed videos. This is a licence filter, not closed captions. Applies to search-term inputs.",
            "default": false
          },
          "is_3d": {
            "title": "3D only",
            "type": "boolean",
            "description": "Only 3D videos. YouTube's 3D feature filter. Applies to search-term inputs.",
            "default": false
          },
          "is_live": {
            "title": "Live only",
            "type": "boolean",
            "description": "Only live streams. YouTube's Live feature filter. Applies to search-term inputs.",
            "default": false
          },
          "is_bought": {
            "title": "Purchased only",
            "type": "boolean",
            "description": "Only videos you have bought. YouTube's Purchased filter needs a signed-in account to return anything. Search-term inputs only.",
            "default": false
          },
          "is_4k": {
            "title": "4K only",
            "type": "boolean",
            "description": "Only 4K videos. YouTube's 4K feature filter. Applies to search-term inputs.",
            "default": false
          },
          "is_360": {
            "title": "360 only",
            "type": "boolean",
            "description": "Only 360-degree videos. YouTube's 360 feature filter. Applies to search-term inputs.",
            "default": false
          },
          "has_location": {
            "title": "Has location",
            "type": "boolean",
            "description": "Only videos tagged with a filming location. YouTube's Location filter. Applies to search-term inputs.",
            "default": false
          },
          "is_hdr": {
            "title": "HDR only",
            "type": "boolean",
            "description": "Only HDR videos. YouTube's HDR feature filter. Applies to search-term inputs.",
            "default": false
          },
          "is_vr180": {
            "title": "VR180 only",
            "type": "boolean",
            "description": "Only VR180 videos. YouTube's VR180 feature filter. Applies to search-term inputs.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}