{
  "openapi": "3.0.1",
  "info": {
    "title": "YouTube Channel Search Scraper - Subscribers, Emails",
    "description": "YouTube channel search: find channels by keyword or through the videos that rank, up to 1,000 per search. Filters: subscribers, videos, verified, country. Optional country, total views, social links and public business email. $0.50 per 1,000 channels. API and MCP.",
    "version": "0.1",
    "x-build-id": "CWGQt0YPKQguv9fgW"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/om_kh~youtube-channel-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-om_kh-youtube-channel-search-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/om_kh~youtube-channel-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-om_kh-youtube-channel-search-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/om_kh~youtube-channel-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-om_kh-youtube-channel-search-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": {
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Topics, products or types of creators to search YouTube for, one per line (up to 500 with the files and links below).",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "YouTube search links (optional)",
            "type": "array",
            "description": "Paste youtube.com/results links to run a search again exactly as you set it on YouTube, filters included.",
            "items": {
              "type": "string"
            }
          },
          "searchTermsFiles": {
            "title": "Files of search terms (optional)",
            "type": "array",
            "description": "Up to 20 TXT or CSV files, one term per line (first column of a CSV)."
          },
          "discoveryMode": {
            "title": "Where to find channels",
            "enum": [
              "channelFilter",
              "videoResults",
              "both"
            ],
            "type": "string",
            "description": "The channel filter returns channels YouTube matches by name and topic. Video results return the creators whose videos rank for the search, with the video that surfaced them. Both mixes the two.",
            "default": "channelFilter"
          },
          "maxChannels": {
            "title": "Max channels per search",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Channels saved per search term or search link, after filters (1 to 1,000). Default 50.",
            "default": 50
          },
          "minSubscribers": {
            "title": "Min subscribers",
            "type": "integer",
            "description": "Optional: skip channels below this subscriber count."
          },
          "maxSubscribers": {
            "title": "Max subscribers",
            "type": "integer",
            "description": "Optional: skip channels above this subscriber count (great for micro-influencers)."
          },
          "minVideos": {
            "title": "Min videos",
            "minimum": 0,
            "type": "integer",
            "description": "Optional: keep only channels with at least this many public videos."
          },
          "verifiedOnly": {
            "title": "Verified channels only",
            "type": "boolean",
            "description": "Keep only channels YouTube marks as verified.",
            "default": false
          },
          "excludedChannels": {
            "title": "Channels to leave out (optional)",
            "type": "array",
            "description": "Channel links, @handles or channel IDs that must never be returned (your own channels, ones you already have).",
            "items": {
              "type": "string"
            }
          },
          "maxTotalResults": {
            "title": "Max channels for the whole run (optional)",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many channels over all searches. Empty: no run-wide limit."
          },
          "countryHint": {
            "title": "Search from country",
            "type": "string",
            "description": "Two-letter country YouTube ranks the search for: US, FR, DE, BR..."
          },
          "languageHint": {
            "title": "Search language",
            "type": "string",
            "description": "Two-letter language YouTube ranks the search for: en, fr, es, de..."
          },
          "enrichChannels": {
            "title": "Enrich channels (country, links, business email)",
            "type": "boolean",
            "description": "Adds country, exact subscribers, total views, join date, social and website links, and a public business email from the channel bio (MX-checked). +$0.002 per enriched channel.",
            "default": false
          },
          "country": {
            "title": "Country filter",
            "type": "string",
            "description": "Optional: keep only channels whose About page lists this country (e.g. United States, France). Turns on enrichment."
          },
          "maxTotalChargeUsd": {
            "title": "Max total charge (USD)",
            "type": "number",
            "description": "Optional hard cap on what this run can cost you."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}