{
  "openapi": "3.0.1",
  "info": {
    "title": "Youtube Creator Leads Finder",
    "description": "YouTube Creator Leads Finder discovers YouTube creators by keyword/niche, filters channels by region and subscriber size, then extracts public contact signals from About pages—emails, websites, and social links—to build outreach-ready lead lists.",
    "version": "2.0",
    "x-build-id": "1lv8DQFMfJPoJbJt5"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/coregent~youtube-creator-leads-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-coregent-youtube-creator-leads-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-creator-leads-finder/runs": {
      "post": {
        "operationId": "runs-sync-coregent-youtube-creator-leads-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-creator-leads-finder/run-sync": {
      "post": {
        "operationId": "run-sync-coregent-youtube-creator-leads-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",
            "maxItems": 20,
            "type": "array",
            "description": "Keywords or niches to DISCOVER creators you don't know yet. Examples: 'AI tools', 'Shopify dropshipping', 'Fitness workouts'.\n\nMaximum 20 keywords per run. Supply this, Channel Inputs, or both.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "maxChannels": {
            "title": "Max Channels per Keyword",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of channels to analyze for each search keyword. Higher values discover more creators but take longer.\n\nDoes not apply to Channel Inputs — those are all processed.",
            "default": 10
          },
          "channelInputs": {
            "title": "Channel Inputs (enrich an existing list)",
            "maxItems": 500,
            "type": "array",
            "description": "Channels you ALREADY have, to enrich with contacts and metrics — no search needed.\n\nFour formats are accepted, and you can mix them freely:\n\n• Handle — @mkbhd\n• Channel URL — https://www.youtube.com/@veritasium\n• Channel ID — UCBJycsmduvYEL83R_U4JriQ\n• Video URL — https://www.youtube.com/watch?v=... (resolved to the uploader's channel)\n\nMaximum 500 per run. Unrecognised entries are reported in the log and skipped.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "maxTotalChannels": {
            "title": "Max Channels Total (all sources)",
            "minimum": 0,
            "type": "integer",
            "description": "Hard ceiling on the number of creator leads saved across the entire run, counting both keyword discovery and Channel Inputs. This is your spend cap — without it, a run costs up to (keywords x Max Channels per Keyword) plus every channel input.\n\nSet to 0 for no overall limit.",
            "default": 100
          },
          "regionCode": {
            "title": "Search Region (ranking only)",
            "enum": [
              "US",
              "GB",
              "CA",
              "AU",
              "IE",
              "NZ",
              "IN",
              "PK",
              "BD",
              "PH",
              "SG",
              "MY",
              "ID",
              "TH",
              "VN",
              "JP",
              "KR",
              "TW",
              "HK",
              "CN",
              "DE",
              "AT",
              "CH",
              "FR",
              "BE",
              "NL",
              "IT",
              "ES",
              "PT",
              "PL",
              "CZ",
              "RO",
              "HU",
              "GR",
              "SE",
              "NO",
              "DK",
              "FI",
              "RU",
              "UA",
              "TR",
              "IL",
              "SA",
              "AE",
              "EG",
              "NG",
              "GH",
              "KE",
              "ZA",
              "MA",
              "BR",
              "MX",
              "AR",
              "CO",
              "CL",
              "PE"
            ],
            "type": "string",
            "description": "Which country's YouTube results to search. This localizes and RANKS the search results for that market.\n\n⚠️ It does NOT guarantee the creators returned are based in that country — a US search regularly returns channels from elsewhere. To filter by where the creator actually is, use 'Creator Country' below.",
            "default": "US"
          },
          "searchLanguage": {
            "title": "Search Language",
            "enum": [
              "en",
              "es",
              "pt",
              "fr",
              "de",
              "it",
              "nl",
              "pl",
              "cs",
              "ro",
              "hu",
              "el",
              "sv",
              "no",
              "da",
              "fi",
              "ru",
              "uk",
              "tr",
              "ar",
              "he",
              "hi",
              "bn",
              "ur",
              "id",
              "ms",
              "th",
              "vi",
              "ja",
              "ko",
              "zh"
            ],
            "type": "string",
            "description": "Language for YouTube's search interface and results.\n\nPair this with Search Region when targeting non-English markets — region alone still returns an English-language result set.",
            "default": "en"
          },
          "minSubscribers": {
            "title": "Minimum Subscribers",
            "minimum": 0,
            "type": "integer",
            "description": "Only include channels with at least this many subscribers. Set to 0 to include all channels.",
            "default": 0
          },
          "maxSubscribers": {
            "title": "Maximum Subscribers",
            "minimum": 0,
            "type": "integer",
            "description": "Only include channels with at most this many subscribers. Set to 0 for no upper limit.",
            "default": 0
          },
          "channelCountry": {
            "title": "Creator Country (real filter)",
            "type": "array",
            "description": "Keep only creators whose channel declares one of these countries. Select several to target a region — for example Germany, Austria and Switzerland.\n\nUnlike Search Region, this IS a real filter: it is applied to the creator's own declared country after extraction. Leave empty to keep all countries.\n\n⚠️ Not every creator sets a country on their channel. While this filter is active, channels with no declared country are skipped — the run log reports how many.",
            "items": {
              "type": "string",
              "enum": [
                "US",
                "GB",
                "CA",
                "AU",
                "IE",
                "NZ",
                "IN",
                "PK",
                "BD",
                "PH",
                "SG",
                "MY",
                "ID",
                "TH",
                "VN",
                "JP",
                "KR",
                "TW",
                "HK",
                "CN",
                "DE",
                "AT",
                "CH",
                "FR",
                "BE",
                "NL",
                "IT",
                "ES",
                "PT",
                "PL",
                "CZ",
                "RO",
                "HU",
                "GR",
                "SE",
                "NO",
                "DK",
                "FI",
                "RU",
                "UA",
                "TR",
                "IL",
                "SA",
                "AE",
                "EG",
                "NG",
                "GH",
                "KE",
                "ZA",
                "MA",
                "BR",
                "MX",
                "AR",
                "CO",
                "CL",
                "PE"
              ],
              "enumTitles": [
                "United States",
                "United Kingdom",
                "Canada",
                "Australia",
                "Ireland",
                "New Zealand",
                "India",
                "Pakistan",
                "Bangladesh",
                "Philippines",
                "Singapore",
                "Malaysia",
                "Indonesia",
                "Thailand",
                "Vietnam",
                "Japan",
                "South Korea",
                "Taiwan",
                "Hong Kong",
                "China",
                "Germany",
                "Austria",
                "Switzerland",
                "France",
                "Belgium",
                "Netherlands",
                "Italy",
                "Spain",
                "Portugal",
                "Poland",
                "Czechia",
                "Romania",
                "Hungary",
                "Greece",
                "Sweden",
                "Norway",
                "Denmark",
                "Finland",
                "Russia",
                "Ukraine",
                "Turkey",
                "Israel",
                "Saudi Arabia",
                "United Arab Emirates",
                "Egypt",
                "Nigeria",
                "Ghana",
                "Kenya",
                "South Africa",
                "Morocco",
                "Brazil",
                "Mexico",
                "Argentina",
                "Colombia",
                "Chile",
                "Peru"
              ]
            },
            "default": []
          },
          "joinedAfter": {
            "title": "Joined After",
            "type": "string",
            "description": "Keep only channels created on or after this date (YYYY-MM-DD). Useful for finding emerging creators. Leave empty for no lower bound.\n\nChannels with no known creation date are skipped while this filter is active.",
            "default": ""
          },
          "joinedBefore": {
            "title": "Joined Before",
            "type": "string",
            "description": "Keep only channels created on or before this date (YYYY-MM-DD). Useful for finding established creators. Leave empty for no upper bound.\n\nChannels with no known creation date are skipped while this filter is active.",
            "default": ""
          },
          "excludeKeywords": {
            "title": "Exclude Keywords",
            "type": "array",
            "description": "Skip creators whose channel name, description or channel keywords contain any of these words. Use this when a search term has more than one meaning — searching 'Gemini' returns astrology and tarot channels alongside AI ones, so adding 'tarot', 'zodiac' and 'horoscope' removes them.\n\nMatched as whole words and case-insensitively, so 'ai' will not match 'said'. Excluded creators are skipped before their contact details are fetched, so they cost you nothing.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeSocialLinks": {
            "title": "Extract Contacts",
            "type": "boolean",
            "description": "Fetch each channel's About data to extract contact details — email, website, Instagram, X/Twitter, TikTok, LinkedIn, Facebook and other links.\n\nTurn this off for a metadata-only run (faster, but no contact information at all).",
            "default": true
          },
          "scanLinkedWebsites": {
            "title": "Scan the creator's website",
            "type": "boolean",
            "description": "If no email is found on YouTube, follow the website link from the About page and check its home, /contact and /about pages.\n\nMany creators publish their business address on their own site rather than on YouTube, so this is the single biggest improvement to email hit rate. Strictly bounded: max 3 pages, 3s per request, no browser.",
            "default": true
          },
          "scanVideoDescriptions": {
            "title": "Scan recent video descriptions",
            "type": "boolean",
            "description": "Last resort: if nothing else turned up an email, check the descriptions of the channel's 50 most recent videos.\n\nRuns only when the About page, channel description and website have all come up empty. Costs one YouTube API unit regardless of how many videos are read.\n\nAn address must appear in at least 2 descriptions to be kept — a creator templates their contact into every video, while a guest's or sponsor's appears once.",
            "default": true
          },
          "validateEmails": {
            "title": "Validate emails (MX + disposable check)",
            "type": "boolean",
            "description": "Check each discovered address and populate emailValidationStatus:\n\n• mx_valid — the domain publishes mail servers\n• role_valid — deliverable, but a role inbox (info@, sales@)\n• no_mx — no mail servers, likely undeliverable\n• disposable — a known throwaway provider\n• unknown — the lookup failed or timed out (never treated as bad)\n\nOn by default, because it also decides which address becomes the primary and contributes up to 25 points of the contactability score — with it off, even a lead with a real business email rarely clears the 'qualified' threshold.\n\n⚠️ This checks the DOMAIN, not the mailbox. Proving a specific mailbox exists is impossible without sending mail, so treat it as a strong hint rather than verification.",
            "default": true
          },
          "minQualificationScore": {
            "title": "Minimum Qualification Score",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Contactability score (0-100) at which a lead is marked isQualified: true.\n\nThis is a LABEL, not a filter — leads below the threshold are still returned, just flagged as unqualified, so you can tune the cut-off in your CRM without re-running.\n\nTiers are fixed: Hot 80+, Warm 60-79, Cold 40-59, Unqualified below 40.",
            "default": 60
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "Optional. Every delivered lead is POSTed as JSON to this URL in real time — ideal for Zapier, Make, n8n catch-hooks and live CRM inserts.\n\nDelivery is best-effort: a failed or timed-out POST is logged and never fails the run.",
            "default": ""
          },
          "webhookAuthHeader": {
            "title": "Webhook Authorization Header",
            "type": "string",
            "description": "Optional value sent as the Authorization header on each webhook POST — for example 'Bearer abc123'. Leave empty if your endpoint needs no auth."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}