{
  "openapi": "3.0.1",
  "info": {
    "title": "Unlimited YouTube Subtitle & Transcript Scraper Pro",
    "description": "𝗬𝗼𝘂𝗧𝘂𝗯𝗲 𝗦𝘂𝗯𝘁𝗶𝘁𝗹𝗲 & 𝗧𝗿𝗮𝗻𝘀𝗰𝗿𝗶𝗽𝘁 𝗗𝗼𝘄𝗻𝗹𝗼𝗮𝗱𝗲𝗿 - Extract subtitles and transcripts in 𝗺𝘂𝗹𝘁𝗶𝗽𝗹𝗲 𝗹𝗮𝗻𝗴𝘂𝗮𝗴𝗲𝘀 from any YouTube video. Supports 𝗯𝘂𝗹𝗸 𝗱𝗼𝘄𝗻𝗹𝗼𝗮𝗱𝘀, auto-generated captions & custom language selection.",
    "version": "1.3",
    "x-build-id": "oFb8MDnr7oebZTVxI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/xtech~youtube-transcript-scraper-pro/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-xtech-youtube-transcript-scraper-pro",
        "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/xtech~youtube-transcript-scraper-pro/runs": {
      "post": {
        "operationId": "runs-sync-xtech-youtube-transcript-scraper-pro",
        "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/xtech~youtube-transcript-scraper-pro/run-sync": {
      "post": {
        "operationId": "run-sync-xtech-youtube-transcript-scraper-pro",
        "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": [
          "videos"
        ],
        "properties": {
          "videos": {
            "title": "YouTube videos",
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "description": "Paste video links or IDs, one per item. Watch, youtu.be, Shorts, embed and live links are supported.",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "title": "Output format",
            "enum": [
              "plain",
              "timestamped",
              "srt",
              "vtt",
              "json",
              "csv",
              "all"
            ],
            "type": "string",
            "description": "Plain text works well for reading and AI tools. Choose SRT or VTT for subtitles, JSON or CSV for structured data, or All formats for every version.",
            "default": "plain"
          },
          "language": {
            "title": "Preferred caption language",
            "maxLength": 12,
            "type": "string",
            "description": "Automatic selects the best available captions, preferring manual captions. Choose or enter a language code. If it is unavailable, another available caption language is returned; this does not translate captions.",
            "default": ""
          },
          "preserveFormatting": {
            "title": "Keep caption formatting",
            "type": "boolean",
            "description": "Keep formatting tags such as italics when they are provided by the captions.",
            "default": false
          },
          "keepMusicMarkers": {
            "title": "Keep [Music] markers",
            "type": "boolean",
            "description": "Include music markers such as [Music] in the transcript.",
            "default": false
          },
          "dropEmpty": {
            "title": "Remove empty segments",
            "type": "boolean",
            "description": "Remove segments with no text after cleanup.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Videos processed at once",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Operator-configured parallel processing limit. The default is 3 videos at once.",
            "default": 3
          },
          "maxRetries": {
            "title": "Retries per video",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Operator-configured retry limit. Temporary failures receive up to 2 retries; permanent failures are not retried.",
            "default": 2
          },
          "useExternalProxy": {
            "title": "Use included residential connection",
            "type": "boolean",
            "description": "Recommended. Uses the included connection for the standard residential selection below. Turn off only to use Apify residential proxies, which have separate traffic charges.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Custom proxy settings",
            "type": "object",
            "description": "Leave the default residential selection to use the included connection. Custom URLs, country selections and other groups use their selected routing. Disable proxies for direct requests. Apify proxy routes have separate traffic charges.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}