{
  "openapi": "3.0.1",
  "info": {
    "title": "YouTube Channel Email Scraper: Business Emails, Phones, Socials",
    "description": "Extract public business emails + full channel intelligence from any YouTube channel. No login, no API key. Get email, subscribers, views, country, niche, language, social links, verification, activity & a 0-100 outreach score. Pay-per-result.",
    "version": "1.17",
    "x-build-id": "ugMQGfmRYTYI145uf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/apivault_labs~youtube-channel-business-email-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-apivault_labs-youtube-channel-business-email-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/apivault_labs~youtube-channel-business-email-scraper/runs": {
      "post": {
        "operationId": "runs-sync-apivault_labs-youtube-channel-business-email-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/apivault_labs~youtube-channel-business-email-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-apivault_labs-youtube-channel-business-email-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": {
          "channels": {
            "title": "YouTube channels or video URLs",
            "maxItems": 5000,
            "type": "array",
            "description": "Channels to scrape. Accepts channel URLs (https://youtube.com/@MrBeast), @handles (@MrBeast), bare handles (MrBeast), channel IDs (UCX6OQ3DkcsbYNE6H8uQQuVA), or even a video/Shorts/youtu.be URL (we resolve it to its channel automatically). Leave empty if you only use 'Search queries'. Max 5000 per run.",
            "items": {
              "type": "string"
            }
          },
          "searchQueries": {
            "title": "Search queries (find channels by niche)",
            "type": "array",
            "description": "Don't have a channel list? Type niche keywords (e.g. 'fitness coach', 'home barista', 'indie game dev') and the actor finds matching channels on YouTube, then scrapes their emails. Great for building an outreach list from scratch.",
            "items": {
              "type": "string"
            }
          },
          "maxChannelsPerQuery": {
            "title": "Max channels per search query",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many channels to pull per search query.",
            "default": 10
          },
          "onlyWithEmail": {
            "title": "Only output channels with an email",
            "type": "boolean",
            "description": "Skip channels where no public email was found. Great for building a clean outreach list — and you don't pay for empty results if combined with pay-per-result.",
            "default": false
          },
          "onlyBusinessEmail": {
            "title": "Only keep named/business emails (drop info@, support@ …)",
            "type": "boolean",
            "description": "Filter out generic role inboxes (info@, support@, contact@, hello@, sales@ …) and keep only named/business addresses, which convert better in cold outreach.",
            "default": false
          },
          "emailDomains": {
            "title": "Keep only these email domains",
            "type": "array",
            "description": "Optional. Keep only emails on these domains, e.g. ['@gmail.com'] for personal creator inboxes, or your own list of corporate domains. Leave empty to keep all. Accepts '@gmail.com' or 'gmail.com'.",
            "items": {
              "type": "string"
            }
          },
          "minSubscribers": {
            "title": "Minimum subscribers",
            "minimum": 0,
            "type": "integer",
            "description": "Only keep channels with at least this many subscribers. 0 = no filter.",
            "default": 0
          },
          "enrichFromLinks": {
            "title": "Find email from channel's website & social links",
            "type": "boolean",
            "description": "If no email found on the YouTube page itself, visit the channel's linked website, Linktree, and other external links to extract email from there. Significantly increases email discovery rate for smaller channels.",
            "default": true
          },
          "useDeepLookup": {
            "title": "Deep email lookup",
            "type": "boolean",
            "description": "Extra lookup step that finds a business email for larger channels when it isn't on the YouTube page or website. Works out of the box — no setup needed. On by default for maximum email discovery. Turn OFF for cheaper, faster runs.",
            "default": true
          },
          "deepLookupEndpoint": {
            "title": "Deep lookup endpoint (advanced)",
            "type": "string",
            "description": "Advanced/optional. Leave empty — deep lookup already works with the built-in configuration. Only for users running their own endpoint."
          },
          "deepLookupApiKey": {
            "title": "Deep lookup key (advanced)",
            "type": "string",
            "description": "Advanced/optional. Leave empty to use the built-in configuration."
          },
          "preciseSubscribers": {
            "title": "Precise subscriber count",
            "type": "boolean",
            "description": "YouTube only shows a rounded subscriber count (e.g. 21.1M). Turn this on to also get a precise live subscriber estimate (down to the single digit) in the 'subscribersExact' field. Adds one fast lookup per channel. On by default.",
            "default": true
          },
          "extractRecentVideos": {
            "title": "Extract recent videos & activity",
            "type": "boolean",
            "description": "Also parse the latest videos on the channel page to compute average recent views, engagement rate and last-upload recency. Slightly more parsing, no extra requests.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "How many channels to fetch in parallel. 40 is a good balance for most runs; raise it for very large lists.",
            "default": 40
          },
          "timeout": {
            "title": "Timeout per channel (seconds)",
            "minimum": 10,
            "maximum": 120,
            "type": "integer",
            "description": "HTTP timeout for each channel fetch.",
            "default": 25
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}