{
  "openapi": "3.0.1",
  "info": {
    "title": "Youtube Email Scraper",
    "description": "YouTube Email Scraper extracts publicly available email addresses from YouTube channel pages. Build targeted creator contact lists by niche or region. Ideal for brands, agencies, and managers running influencer outreach campaigns.",
    "version": "0.1",
    "x-build-id": "E4G2nGceid6JIC3TI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scraper-engine~youtube-email-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scraper-engine-youtube-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/scraper-engine~youtube-email-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scraper-engine-youtube-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/scraper-engine~youtube-email-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scraper-engine-youtube-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",
        "required": [
          "keywords"
        ],
        "properties": {
          "keywords": {
            "title": "🔑 Keywords (required)",
            "type": "array",
            "description": "💭 Think like your prospect: words they’d use in a title or bio.\n\n✅ Examples: marketing, founder, SaaS, podcast, coaching, real estate, fitness.\n\n📌 One keyword per line — each line is its own search theme.\n\n🚀 Stronger keywords → sharper matches and happier inboxes!",
            "items": {
              "type": "string"
            }
          },
          "platform": {
            "title": "🌐 Platform",
            "enum": [
              "Youtube"
            ],
            "type": "string",
            "description": "📺 YouTube is where this actor shines — creators, brands, and communities in one place.\n\n✨ Select Youtube and you’re set. (More platforms may come later — stay tuned! 🎉)",
            "default": "Youtube"
          },
          "location": {
            "title": "📍 Location (optional)",
            "type": "string",
            "description": "🗺️ Go local or go global — add a city, region, or country to gently bias results toward that area.\n\n✅ Examples: London 🇬🇧 · New York 🇺🇸 · Berlin 🇩🇪 · Tokyo 🇯🇵\n\n🌍 Leave blank for worldwide discovery.\n\n💼 Perfect for geo-targeted outreach and event-based campaigns!",
            "default": ""
          },
          "emailDomains": {
            "title": "📧 Email domain allowlist",
            "type": "array",
            "description": "🎯 Quality over noise: only rows whose email ends with a domain you allow are kept.\n\n✅ Examples: @gmail.com · @outlook.com · @company.com\n\n📭 Leave empty to accept any public email we can confidently detect.\n\n🔐 Great for tooling that works best with specific providers!",
            "items": {
              "type": "string"
            }
          },
          "maxEmails": {
            "title": "🔢 Max unique emails per keyword",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "🎚️ Set your ceiling: stop after this many unique emails for each keyword (default 20).\n\n⬆️ Higher = bigger lists, longer runs.\n\n⬇️ Lower = quick tests and lower spend.\n\n📊 Allowed: 1–5000 — pick what fits your campaign and budget!",
            "default": 20
          },
          "engine": {
            "title": "⚙️ Scraping engine",
            "enum": [
              "legacy",
              "cost-effective"
            ],
            "type": "string",
            "description": "🎛️ Choose your vibe:\n\n🔧 Legacy — maximum compatibility and stability for demanding runs; may use more resources.\n\n🚀 Cost-effective — leaner profile for many everyday jobs; great when you want to optimize spend.\n\n💡 Not sure? Start with Legacy, then try Cost-effective once you’re happy with your inputs.",
            "default": "legacy"
          },
          "proxyConfiguration": {
            "title": "🔌 Proxy configuration",
            "type": "object",
            "description": "🌍 Optional boost: route traffic through Apify’s proxy network when sites rate-limit or challenge requests.\n\n🏠 Handy for production and larger campaigns.\n\n🧪 Local testing? You can leave proxies off and iterate quickly on your laptop.\n\n✨ The actor may adjust connection behavior automatically if a fetch looks blocked — so your run keeps moving when possible."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}