{
  "openapi": "3.0.1",
  "info": {
    "title": "YouTube Channel Email Scraper",
    "description": "Extract business emails, contact info, and social media links from YouTube channel About pages. Supports @handles, channel URLs, and channel IDs.",
    "version": "0.0",
    "x-build-id": "apCa1hqHolEHubGis"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lurkapi~youtube-channel-email-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lurkapi-youtube-channel-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/lurkapi~youtube-channel-email-scraper/runs": {
      "post": {
        "operationId": "runs-sync-lurkapi-youtube-channel-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/lurkapi~youtube-channel-email-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-lurkapi-youtube-channel-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": {
          "urls": {
            "title": "YouTube channels",
            "maxItems": 500,
            "type": "array",
            "description": "Paste any mix of: @handle (@mkbhd), channel URL (https://www.youtube.com/@veritasium), channel ID (UCBJycsmduvYEL83R_U4JriQ), or video URL (we resolve to the channel). Max 500 per run.",
            "items": {
              "type": "string"
            }
          },
          "searchQueries": {
            "title": "Search keywords ($)",
            "maxItems": 20,
            "type": "array",
            "description": "Each keyword runs a YouTube search and collects the matching channels. Discovers channels from both channel and video result shelves.",
            "items": {
              "type": "string"
            }
          },
          "maxResultsPerQuery": {
            "title": "Max channels per keyword",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Cap how many channels each keyword pulls in. Higher = more leads, more compute. Max 500.",
            "default": 20
          },
          "country": {
            "title": "Country (keyword search only)",
            "enum": [
              "",
              "United States",
              "United Kingdom",
              "Canada",
              "Australia",
              "Germany",
              "France",
              "Spain",
              "Italy",
              "Netherlands",
              "Belgium",
              "Switzerland",
              "Austria",
              "Sweden",
              "Norway",
              "Denmark",
              "Finland",
              "Ireland",
              "Portugal",
              "Poland",
              "Czech Republic",
              "Romania",
              "Hungary",
              "Greece",
              "Turkey",
              "Russia",
              "Ukraine",
              "Israel",
              "India",
              "Japan",
              "South Korea",
              "China",
              "Taiwan",
              "Thailand",
              "Indonesia",
              "Malaysia",
              "Philippines",
              "Vietnam",
              "Singapore",
              "Brazil",
              "Mexico",
              "Argentina",
              "Colombia",
              "Chile",
              "South Africa",
              "Nigeria",
              "Kenya",
              "Egypt",
              "Saudi Arabia",
              "United Arab Emirates",
              "New Zealand"
            ],
            "type": "string",
            "description": "Localize keyword search results. Ignored for direct URL input.",
            "default": ""
          },
          "language": {
            "title": "Language (keyword search only)",
            "enum": [
              "",
              "English",
              "Spanish",
              "French",
              "German",
              "Italian",
              "Portuguese",
              "Dutch",
              "Russian",
              "Japanese",
              "Korean",
              "Chinese",
              "Arabic",
              "Hindi",
              "Bengali",
              "Turkish",
              "Polish",
              "Ukrainian",
              "Romanian",
              "Czech",
              "Hungarian",
              "Swedish",
              "Norwegian",
              "Danish",
              "Finnish",
              "Greek",
              "Hebrew",
              "Thai",
              "Vietnamese",
              "Indonesian",
              "Malay",
              "Filipino",
              "Swahili",
              "Persian",
              "Urdu"
            ],
            "type": "string",
            "description": "Localize keyword search results. Ignored for direct URL input.",
            "default": ""
          },
          "joinedDateFrom": {
            "title": "Joined after",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Skip channels created before this date. Leave empty to include all."
          },
          "joinedDateTo": {
            "title": "Joined before",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Skip channels created after this date. Leave empty to include all."
          },
          "scanLinkedWebsites": {
            "title": "Scan linked websites (recommended ON)",
            "type": "boolean",
            "description": "Follow website links from the channel's About page and scan them, plus /contact and /about subpages, for email addresses. Free.",
            "default": true
          },
          "validateEmails": {
            "title": "Validate emails ($)",
            "type": "boolean",
            "description": "Check if email addresses have valid mail servers and flag disposable/throwaway addresses. Every row gets a validation verdict: valid, invalid, disposable, or unchecked. Charged per email successfully validated.",
            "default": 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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}