{
  "openapi": "3.0.1",
  "info": {
    "title": "YouTube Scraper & API | EveryInfra",
    "description": "YouTube data via one Actor: search, profile, user_posts, video, comments, followers, transcript, shorts. Pay per request, no start fee. First 3 requests free across EveryInfra Actors.",
    "version": "0.1",
    "x-build-id": "DndTMCy5fxO0tVWkm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/blushing_parachute~everyinfra-youtube-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-blushing_parachute-everyinfra-youtube-api",
        "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/blushing_parachute~everyinfra-youtube-api/runs": {
      "post": {
        "operationId": "runs-sync-blushing_parachute-everyinfra-youtube-api",
        "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/blushing_parachute~everyinfra-youtube-api/run-sync": {
      "post": {
        "operationId": "run-sync-blushing_parachute-everyinfra-youtube-api",
        "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": [
          "action"
        ],
        "properties": {
          "action": {
            "title": "Action",
            "enum": [
              "search",
              "profile",
              "user_posts",
              "video",
              "comments",
              "followers",
              "transcript",
              "shorts"
            ],
            "type": "string",
            "description": "What to fetch. Each action uses only the fields listed for it below; other fields are ignored when empty.",
            "default": "search"
          },
          "keyword": {
            "title": "keyword",
            "type": "string",
            "description": "Used by `search` (required). The search query term for the YouTube search action. If passed to compatibility inputs for the shorts action, this parameter acts as a channel name rather than initiating a site-wide Shorts search."
          },
          "sort": {
            "title": "sort",
            "enum": [
              "most_viewed",
              "newest",
              "oldest",
              "popular",
              "relevance",
              "top_rated"
            ],
            "type": "string",
            "description": "Used by `search`, `user_posts`, `comments`, `shorts`. The sort order applied across YouTube actions. For search, accepted values are relevance, newest, most_viewed, and top_rated. For channel videos and Shorts, accepted values are newest, oldest, and popular. For comments, accepted values are newest and popular. Specifying this parameter on a single-video query does not filter that video's content."
          },
          "url": {
            "title": "url",
            "type": "string",
            "description": "Used by `profile` (required), `user_posts` (required), `video` (required), `comments` (required), `transcript` (required). The target URL required by YouTube actions. Use full channel URLs for profile and user_posts, or specific watch?v= and share links for video, comments, and transcript. Channel metadata is derived from published content, and comments does not return channel community board posts."
          },
          "since": {
            "title": "since",
            "type": "string",
            "description": "Used by `user_posts`, `comments`, `shorts`. The lower date bound for filtering channel videos, Shorts, or comments. It applies to those lists only."
          },
          "username": {
            "title": "username",
            "type": "string",
            "description": "Used by `followers` (required), `shorts` (required). The channel handle (optional leading @) required by the followers and shorts actions. The followers action returns aggregate subscriber counts rather than user lists. The shorts action prioritizes handles and does not treat UC... channel IDs as identical identifiers."
          },
          "channel": {
            "title": "channel",
            "type": "string",
            "description": "Used by `followers`, `shorts`. A compatibility alias for specifying a channel handle. Full /channel/UC... URLs may fail to parse across helper utilities, so prefer passing a handle or using the URL parameter explicitly provided by the action."
          },
          "language": {
            "title": "language",
            "type": "string",
            "description": "Used by `transcript`. The requested language code for transcript content. Subtitles are returned based on available tracks; automatic translation is not guaranteed."
          },
          "limit": {
            "title": "limit",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "How many results to request for list actions. Defaults and maximums per action: `search` 10 (max 50); `user_posts` 10 (max 50); `comments` 20 (max 100); `shorts` 20 (max 100). Billing: `search` one event per started block of 10 results; `user_posts` one event per started block of 10 results; `comments` one event per started block of 20 results; `shorts` one event per started block of 20 results."
          },
          "params": {
            "title": "params (advanced)",
            "type": "object",
            "description": "Optional JSON object with the same fields as above, for API and integration use. Flat fields and params must not disagree."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}