{
  "openapi": "3.0.1",
  "info": {
    "title": "YouTube Scraper: Videos, Channels, Shorts & Search, $0.50/1K",
    "description": "Scrape YouTube videos, Shorts, channels, playlists and search results: views, likes, comments count, exact date, duration, description, hashtags, tags, category and channel subscribers. A YouTube API alternative: no login, no API key. $0.50 per 1,000 results, all-in. Find influencers by keyword.",
    "version": "1.0",
    "x-build-id": "0gzVqaL1sjMVESCWY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fit_melon~youtube-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fit_melon-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/fit_melon~youtube-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fit_melon-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/fit_melon~youtube-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fit_melon-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",
        "properties": {
          "searchQueries": {
            "title": "🔎 Search terms",
            "type": "array",
            "description": "What you would type in the YouTube search bar, one search per line. Each term returns up to \"Max videos\" regular videos (plus Shorts and live streams if you set those limits).",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Max videos per search term, channel or playlist",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Regular videos returned for each search term, each channel and each playlist (20 when no limit at all is set). Set 0 to get only Shorts or live streams. You pay only for results actually returned ($0.0005 each)."
          },
          "maxResultsShorts": {
            "title": "Max Shorts per search term or channel",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Shorts returned for each search term and each channel (0 = no Shorts)."
          },
          "maxResultStreams": {
            "title": "Max live streams per search term or channel",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Live streams per search term (streams live now) and per channel (its Live tab: live, upcoming and past streams). 0 = none."
          },
          "channelUrls": {
            "title": "📺 Channels",
            "type": "array",
            "description": "Channel links or handles: https://www.youtube.com/@MrBeast, @MrBeast, https://www.youtube.com/channel/UC…, /c/… or /user/… links. Each channel returns one channel result (subscribers, total views, video count, country, joined date, links) plus its latest videos, Shorts and live streams up to the limits above.",
            "items": {
              "type": "string"
            }
          },
          "playlistUrls": {
            "title": "📃 Playlists",
            "type": "array",
            "description": "Playlist links or IDs (https://www.youtube.com/playlist?list=PL…). Returns up to \"Max videos\" videos per playlist, in playlist order.",
            "items": {
              "type": "string"
            }
          },
          "videoUrls": {
            "title": "🎬 Videos",
            "type": "array",
            "description": "Video links or IDs: watch?v=…, youtu.be/…, /shorts/…, /live/… One result per video.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 Any YouTube links",
            "type": "array",
            "description": "Any mix of video, Short, channel, playlist or search results links (https://www.youtube.com/results?search_query=…), or a CSV / text file of links. Kept for compatibility with other YouTube scrapers: as there, when start URLs are given the search terms above are ignored.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "uploadDate": {
            "title": "Upload date",
            "enum": [
              "any",
              "hour",
              "today",
              "week",
              "month",
              "year"
            ],
            "type": "string",
            "description": "Only videos uploaded in this period (search terms only).",
            "default": "any"
          },
          "duration": {
            "title": "Duration",
            "enum": [
              "any",
              "short",
              "medium",
              "long"
            ],
            "type": "string",
            "description": "Only videos of this length (search terms only).",
            "default": "any"
          },
          "type": {
            "title": "Result type",
            "enum": [
              "videos",
              "shorts",
              "channels",
              "playlists",
              "movies"
            ],
            "type": "string",
            "description": "What a search returns: videos (default), Shorts only, channels (one channel result each, with subscribers and total views) or playlists.",
            "default": "videos"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "views"
            ],
            "type": "string",
            "description": "Search order. YouTube now offers relevance and popularity only (sorting by upload date or rating is no longer supported by YouTube; use the upload date filter instead).",
            "default": "relevance"
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Two-letter country code for search results (e.g. US, FR, DE, JP, BR). YouTube ranks results for this country.",
            "default": "US"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Interface language used for searches (e.g. en, fr, de, ja). Titles and descriptions are always returned as written by the creator.",
            "default": "en"
          },
          "sortVideosBy": {
            "title": "Channel videos order",
            "enum": [
              "NEWEST",
              "POPULAR",
              "OLDEST"
            ],
            "type": "string",
            "description": "Order of a channel's videos, Shorts and live streams (the channel's Latest / Popular / Oldest buttons).",
            "default": "NEWEST"
          },
          "oldestPostDate": {
            "title": "Only videos published after (channels and playlists)",
            "type": "string",
            "description": "Skip videos published before this date: an absolute date (2026-01-31) or a relative one (\"30 days\", \"6 months\"). Included in the price (no add-on). With the Latest order, a channel is scanned only down to this date."
          },
          "includeCommentCount": {
            "title": "Comments count and channel subscribers on each video",
            "type": "boolean",
            "description": "Adds commentCount (exact below 1,000, rounded above by YouTube) and channelSubscriberCount to each video. Included in the price; turn it off for about 20% faster runs.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify datacenter proxies are used by default and included in the price. Residential proxies are only a limited, automatic fallback.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}