{
  "openapi": "3.0.1",
  "info": {
    "title": "Youtube Channel Finder",
    "description": "Fast YouTube channel discovery tool that extracts comprehensive channel information from YouTube searches and videos. Discover 5-20+ channels per search with 15 complete fields including profile, metrics, and metadata. No residential proxy required.",
    "version": "2.5",
    "x-build-id": "HuXys0TNR3YKrLXgc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/coregent~youtube-channel-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-coregent-youtube-channel-finder",
        "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/coregent~youtube-channel-finder/runs": {
      "post": {
        "operationId": "runs-sync-coregent-youtube-channel-finder",
        "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/coregent~youtube-channel-finder/run-sync": {
      "post": {
        "operationId": "run-sync-coregent-youtube-channel-finder",
        "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 Keywords",
            "type": "array",
            "description": "Keyword search to discover relevant YouTube channels. This is a fuzzy search — it returns channels related to the terms, not one specific channel. To look up an exact channel or video, use the Channels & Videos field below instead.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "nichePreset": {
            "title": "Niche preset (optional)",
            "enum": [
              "",
              "ai-automation",
              "saas",
              "tech-reviews",
              "gaming",
              "fitness",
              "cooking",
              "personal-finance",
              "education",
              "beauty",
              "travel"
            ],
            "type": "string",
            "description": "Pick a ready-made set of search keywords instead of writing your own. The preset's keywords are ADDED to Search Keywords above (yours take priority; duplicates are dropped). Each preset adds 4 queries, so keep an eye on 'Max total channels' for spend control.",
            "default": ""
          },
          "maxResultsPerQuery": {
            "title": "Max channels per search term",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum number of channels to discover per search keyword. Each search will return up to this many unique channels.",
            "default": 10
          },
          "maxTotalResults": {
            "title": "Max total channels (whole run)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional overall cap on the number of channels returned across ALL keywords and inputs combined — a run-level spend control. 0 = no limit.",
            "default": 0
          },
          "minSubscribers": {
            "title": "Min subscribers",
            "minimum": 0,
            "type": "integer",
            "description": "Only return channels with at least this many subscribers. 0 = no minimum. Channels that hide their subscriber count are kept.",
            "default": 0
          },
          "maxSubscribers": {
            "title": "Max subscribers",
            "minimum": 0,
            "type": "integer",
            "description": "Only return channels with at most this many subscribers. 0 = no maximum. Channels that hide their subscriber count are kept.",
            "default": 0
          },
          "sort": {
            "title": "Sort results by",
            "enum": [
              "relevance",
              "subscribers",
              "date"
            ],
            "type": "string",
            "description": "Order of the returned channels. 'Relevance' keeps discovery order. 'Subscribers' and 'Join date' sort AFTER filtering but BEFORE the total cap — so combined with 'Max total channels' you get a true top-N (e.g. the 10 most-subscribed channels found), not just the first 10 found then sorted.",
            "default": "relevance"
          },
          "regionCode": {
            "title": "Search Region",
            "enum": [
              "US",
              "GB",
              "CA",
              "AU",
              "IN",
              "DE",
              "FR",
              "JP",
              "BR",
              "MX"
            ],
            "type": "string",
            "description": "YouTube search region - affects which results appear, not channel location (ISO 3166-1 alpha-2)",
            "default": "US"
          },
          "language": {
            "title": "Language",
            "enum": [
              "en",
              "es",
              "de",
              "fr",
              "pt",
              "ja",
              "hi",
              "zh"
            ],
            "type": "string",
            "description": "Preferred language (IETF BCP-47).",
            "default": "en"
          },
          "dateFrom": {
            "title": "From Date (Joined After)",
            "type": "string",
            "description": "Filter channels that joined YouTube after this date (optional). Leave empty to include all channels regardless of join date.",
            "default": ""
          },
          "dateTo": {
            "title": "To Date (Joined Before)",
            "type": "string",
            "description": "Filter channels that joined YouTube before this date (optional). Leave empty to include all channels regardless of join date.",
            "default": ""
          },
          "channelOrVideoInputs": {
            "title": "Channels & videos (exact match)",
            "type": "array",
            "description": "Exact-match lookup. Add YouTube channels — as a handle (@name), channel ID (UC…), or channel URL — and/or videos — as a video ID, watch URL, youtu.be link, or Shorts URL. Each entry resolves to the exact channel(s). One entry per line. Tip: write bare handles with the leading @; a bare 11-character token is treated as a video ID.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "similarToChannels": {
            "title": "Find channels similar to (paid extra)",
            "type": "array",
            "description": "Opt-in discovery. Give one or more seed channels (handle @name, channel ID UC…, or channel URL) and the actor returns channels YouTube itself associates with them, found via the related-video graph and ranked by how often they recur. Up to 'Max channels per search term' per seed. Billed per similar channel returned (these replace, not add to, the standard per-channel fee).",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "includeActivityScore": {
            "title": "Add activity & upload-cadence metrics (paid extra)",
            "type": "boolean",
            "description": "Opt-in enrichment. Adds LastUploadDate, DaysSinceLastUpload, UploadsPerMonth, UploadConsistency (0-100) and ActivityStatus (active/slowing/dormant/inactive) to each returned channel. Billed per channel scored, on top of the per-channel result fee — only channels actually returned are scored. Leave off for the standard price.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}