{
  "openapi": "3.0.1",
  "info": {
    "title": "YouTube Creator Finder — Influencer Discovery ✅",
    "description": "Find YouTube creators by niche, subscriber range, declared country and recent activity. Get channel profiles, public links, recent uploads and relevance scores. Export CSV, Excel or JSON. No YouTube API key required.",
    "version": "0.1",
    "x-build-id": "N44UpkcBv7A36yPGa"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nexascout~youtube-creator-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nexascout-youtube-creator-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/nexascout~youtube-creator-finder/runs": {
      "post": {
        "operationId": "runs-sync-nexascout-youtube-creator-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/nexascout~youtube-creator-finder/run-sync": {
      "post": {
        "operationId": "run-sync-nexascout-youtube-creator-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",
        "required": [
          "searchQueries"
        ],
        "properties": {
          "searchQueries": {
            "title": "Topics / niches",
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "description": "Up to 10 topic phrases. Creators are discovered from YouTube topic search results for these queries.",
            "items": {
              "type": "string"
            },
            "default": [
              "hiking camping"
            ]
          },
          "minSubscribers": {
            "title": "Minimum subscribers",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Only include channels with at least this many subscribers. 0 = no minimum.",
            "default": 0
          },
          "maxSubscribers": {
            "title": "Maximum subscribers",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Only include channels with at most this many subscribers. 0 = no maximum.",
            "default": 0
          },
          "creatorCountry": {
            "title": "Declared creator country",
            "type": "string",
            "description": "Filter by the channel's declared country (from the About page). 'any' = no filter. Accepts a code or name ('BR' = 'Brazil'). This is the creator's country, NOT the audience's geography.",
            "default": "any"
          },
          "countryMatch": {
            "title": "Country match mode",
            "enum": [
              "lenient",
              "strict"
            ],
            "type": "string",
            "description": "How to treat creators whose country is unknown. 'lenient' keeps unknown countries (only a known mismatch is excluded). 'strict' excludes unknown countries too, so only a confirmed match passes.",
            "default": "lenient"
          },
          "region": {
            "title": "YouTube search localization",
            "type": "string",
            "description": "Two-letter country code for localizing YouTube search. It does not measure where viewers live.",
            "default": "US"
          },
          "language": {
            "title": "Content language (soft filter)",
            "type": "string",
            "description": "Filter by detected content language (heuristic from titles/description). 'any' = no filter. Examples: en, pt, es, de, fr.",
            "default": "any"
          },
          "maxCreators": {
            "title": "Maximum output creators",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum unique creators returned and billed per run (1–200). The actual number can be lower because of filters, available candidates or collection budgets.",
            "default": 25
          },
          "maxCandidatesPerQuery": {
            "title": "Discovery candidates per query",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum channels discovered per topic query before enrichment.",
            "default": 30
          },
          "maxRecentVideosPerCreator": {
            "title": "Recent videos per creator",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "How many recent uploads to fetch per creator for language and topic confirmation.",
            "default": 10
          },
          "maxInactiveDays": {
            "title": "Approximate time since last upload: max days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Filter by the approximate time since last upload, estimated from YouTube's relative publication labels. Exclude creators whose estimated age exceeds this many days. 0 = disabled. The output reports approximate lastUploadDaysAgo and an activity tier (very_active/active/dormant/inactive/unknown).",
            "default": 0
          },
          "activityMatch": {
            "title": "Activity match mode",
            "enum": [
              "lenient",
              "strict"
            ],
            "type": "string",
            "description": "How to treat creators whose last-upload date is unknown when maxInactiveDays is set. 'lenient' keeps unknown activity (only a confirmed-too-old creator is excluded). 'strict' excludes unknown activity too, so only a confirmed-recent creator passes.",
            "default": "lenient"
          },
          "minRelevance": {
            "title": "Minimum topic relevance",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Exclude creators whose stemmed+synonym topic relevance score is below this (0-100). 0 = disabled.",
            "default": 0
          },
          "maxDetailRequests": {
            "title": "Maximum detail requests",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Hard cap on physical HTTP requests for enrichment, including retries and filtered creators.",
            "default": 120
          },
          "maxRunSeconds": {
            "title": "Collection budget (seconds)",
            "minimum": 30,
            "maximum": 240,
            "type": "integer",
            "description": "Stops collection early enough to write output.",
            "default": 180
          },
          "maxRequestRetries": {
            "title": "Retries per YouTube request",
            "minimum": 0,
            "maximum": 3,
            "type": "integer",
            "description": "Retry temporary network errors and HTTP 403/429/5xx responses within existing time and request caps.",
            "default": 2
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Direct requests by default. Configure your proxy if YouTube blocks cloud traffic; proxy usage may add cost.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}