{
  "openapi": "3.0.1",
  "info": {
    "title": "YouTube Video Scraper · 5 datasets per URL",
    "description": "One video URL in, five joined datasets out: video metadata, channel profile, comments, transcript and the YouTube search results for the video's own title. One flat row per video, joined on video_id and channel_id. Switch off any section you do not need. One delivered row is one billed row.",
    "version": "0.1",
    "x-build-id": "fvzWXAAUUDwBWyL4F"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/doesaiknow~youtube-scraper-5-datasets-from-one-video-url/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-doesaiknow-youtube-scraper-5-datasets-from-one-video-url",
        "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/doesaiknow~youtube-scraper-5-datasets-from-one-video-url/runs": {
      "post": {
        "operationId": "runs-sync-doesaiknow-youtube-scraper-5-datasets-from-one-video-url",
        "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/doesaiknow~youtube-scraper-5-datasets-from-one-video-url/run-sync": {
      "post": {
        "operationId": "run-sync-doesaiknow-youtube-scraper-5-datasets-from-one-video-url",
        "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": [
          "videoUrls"
        ],
        "properties": {
          "videoUrls": {
            "title": "Video URLs or IDs",
            "minItems": 1,
            "maxItems": 500,
            "uniqueItems": true,
            "type": "array",
            "description": "Videos to process — one delivered row per video. Accepts watch URLs (https://www.youtube.com/watch?v=ID), short links (https://youtu.be/ID), Shorts links (/shorts/ID), embed links (/embed/ID) and bare 11-character video IDs. Duplicates of the same video are merged into one row before any data is fetched, so you are never billed twice for the same video.",
            "items": {
              "type": "string"
            }
          },
          "includeVideo": {
            "title": "Include video metadata",
            "type": "boolean",
            "description": "Video title, description, views, likes, publish date, duration, keywords, thumbnail, chapters and key moments. Turn a section off and its fields are returned as null and listed in \"sections_skipped\".",
            "default": true
          },
          "includeChannel": {
            "title": "Include channel profile",
            "type": "boolean",
            "description": "Channel ID, handle, title, subscribers, total views, video count, join date and description of the channel that published the video.",
            "default": true
          },
          "includeComments": {
            "title": "Include comments",
            "type": "boolean",
            "description": "Top-level comments with author, text, likes, reply count and publish date, plus the total comment count.",
            "default": true
          },
          "includeTranscript": {
            "title": "Include transcript",
            "type": "boolean",
            "description": "Timestamped transcript segments, the full transcript text, the language actually returned, the segment count and the word count.",
            "default": true
          },
          "includeSearch": {
            "title": "Include YouTube search results",
            "type": "boolean",
            "description": "YouTube search results for the video title, plus the rank of the video itself among them — competitive context for the same query the video competes on.",
            "default": true
          },
          "language": {
            "title": "Language",
            "enum": [
              "en",
              "de",
              "fr",
              "es",
              "it",
              "pt",
              "nl",
              "pl",
              "sv",
              "no",
              "da",
              "fi",
              "cs",
              "ro",
              "el",
              "tr",
              "ru",
              "uk",
              "ar",
              "he",
              "hi",
              "id",
              "ja",
              "ko",
              "zh",
              "th",
              "vi",
              "ms"
            ],
            "type": "string",
            "description": "Preferred language for the transcript and for the language-dependent text fields. When a video has no transcript in this language, the row is returned with the transcript section marked as unavailable — the language actually returned is always reported in \"transcript_language\".",
            "default": "en"
          },
          "country": {
            "title": "Country",
            "enum": [
              "",
              "US",
              "GB",
              "DE",
              "FR",
              "ES",
              "IT",
              "NL",
              "PL",
              "SE",
              "NO",
              "DK",
              "FI",
              "IE",
              "PT",
              "CH",
              "AT",
              "BE",
              "CZ",
              "RO",
              "GR",
              "TR",
              "RU",
              "UA",
              "CA",
              "MX",
              "BR",
              "AR",
              "CL",
              "CO",
              "AU",
              "NZ",
              "IN",
              "ID",
              "JP",
              "KR",
              "CN",
              "TW",
              "HK",
              "SG",
              "MY",
              "TH",
              "VN",
              "PH",
              "AE",
              "SA",
              "IL",
              "EG",
              "ZA",
              "NG",
              "KE"
            ],
            "type": "string",
            "description": "Market the video, channel, comment and search data is requested from. Leave on \"Auto\" to let YouTube pick the market.",
            "default": ""
          },
          "commentsPages": {
            "title": "Comment pages per video",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many pages of comments to load per video. One page is roughly 20 top-level comments. Ignored when the comments section is turned off.",
            "default": 1
          },
          "maxTotalChargeUsd": {
            "title": "Maximum charge per run (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Hard spending limit for this run. When the videos in the input would cost more than this, the run stops before fetching anything and tells you how many videos fit the limit. Leave empty to run without a limit."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}