{
  "openapi": "3.0.1",
  "info": {
    "title": "Brand Sponsor Finder",
    "description": "Find brands that pay creators in your niche. Reads public YouTube descriptions, podcast show notes, newsletter issues, event sponsor pages, partnership job posts, and creator program pages. One row per sighting with evidence link and date, one per brand with a recency score.",
    "version": "0.1",
    "x-build-id": "VhE6H0A2DKVyzeeZz"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/mambalabs~brand-sponsor-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-mambalabs-brand-sponsor-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/mambalabs~brand-sponsor-finder/runs": {
      "post": {
        "operationId": "runs-sync-mambalabs-brand-sponsor-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/mambalabs~brand-sponsor-finder/run-sync": {
      "post": {
        "operationId": "run-sync-mambalabs-brand-sponsor-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": {
          "niche": {
            "title": "Niche",
            "type": "string",
            "description": "The audience niche, for example \"health and fitness\", \"beauty and skincare\", or \"food and beverage\". Searches for channels, shows, and newsletters use it, and every row carries it. These three niches also start from a list of sources Mamba Labs has read before (turn off with use_niche_presets)."
          },
          "audience_keywords": {
            "title": "Audience keywords",
            "type": "string",
            "description": "Optional. More search terms for the audience, one per line or separated by commas, for example \"strength training\". Each one widens the podcast, newsletter, and (with your key) YouTube channel search. Up to 20. A text field, so a Clay column maps straight in."
          },
          "window_days": {
            "title": "Date window (days)",
            "type": "string",
            "description": "Only sightings from the last N days. Whole number, default 90, at most 365. Sent as text so Clay works.",
            "default": "90"
          },
          "sources": {
            "title": "Sources",
            "type": "string",
            "description": "Optional. Which sources to run, separated by commas, any of: youtube, podcast, event, newsletter, job_post, program. Empty runs all of them. job_post and program check the brands the other sources found."
          },
          "seed_sources": {
            "title": "Seed creators, shows, and newsletters",
            "type": "string",
            "description": "Optional. YouTube channel URLs or @handles, podcast RSS feed URLs, or newsletter URLs to read first, one per line or separated by commas. Each is read even beyond the per source limits."
          },
          "event_calendar": {
            "title": "Event calendar",
            "type": "string",
            "description": "Optional. Events whose sponsor or partner page to read, as a JSON list of objects: [{\"name\": \"...\", \"url\": \"sponsor page URL\", \"date\": \"YYYY-MM-DD\", \"city\": \"...\", \"audience\": \"...\", \"size\": \"...\"}], or one sponsor page URL per line. url is needed; the rest is optional. A dated event inside the window gives dated rows; an undated or upcoming event gives undated rows."
          },
          "youtube_api_key": {
            "title": "Your YouTube Data API key",
            "type": "string",
            "description": "Optional, your own key from Google Cloud (free quota). With it the actor searches YouTube for channels in the niche and reads up to 50 uploads per channel; channel search uses 100 of your daily quota units per search term. Without it the actor reads each channel's public feed (15 newest uploads) and only the channels it already knows. Sent only to googleapis.com, never logged or written to a row."
          },
          "use_niche_presets": {
            "title": "Start from known sources for seed niches",
            "type": "string",
            "description": "true or false, default true. For health and fitness, beauty and skincare, and food and beverage, also read the channels, shows, newsletters, and event pages Mamba Labs has read before.",
            "default": "true"
          },
          "include_brands": {
            "title": "Brand rows",
            "type": "string",
            "description": "true or false, default true. One row per brand domain with sighting count, last seen date, sources, creators or events, contact, and recency score.",
            "default": "true"
          },
          "include_sightings": {
            "title": "Sighting rows",
            "type": "string",
            "description": "true or false, default true. One row per sighting with its evidence link, date, promo code, placement type, and pitch angle.",
            "default": "true"
          },
          "max_channels": {
            "title": "Max YouTube channels",
            "type": "string",
            "description": "YouTube channels read per run. Whole number, default 20, at most 100. Sent as text so Clay works.",
            "default": "20"
          },
          "max_videos_per_channel": {
            "title": "Max videos per channel",
            "type": "string",
            "description": "Newest uploads read per channel (the public feed holds 15). Whole number, default 15, at most 50. Sent as text so Clay works.",
            "default": "15"
          },
          "max_podcasts": {
            "title": "Max podcasts",
            "type": "string",
            "description": "Podcast shows read per run. Whole number, default 15, at most 100. Sent as text so Clay works.",
            "default": "15"
          },
          "max_episodes_per_podcast": {
            "title": "Max episodes per podcast",
            "type": "string",
            "description": "Newest episodes read per show. Whole number, default 8, at most 30. Sent as text so Clay works.",
            "default": "8"
          },
          "max_newsletters": {
            "title": "Max newsletters",
            "type": "string",
            "description": "Newsletters read per run. Whole number, default 8, at most 50. Sent as text so Clay works.",
            "default": "8"
          },
          "max_issues_per_newsletter": {
            "title": "Max issues per newsletter",
            "type": "string",
            "description": "Newest issues read per newsletter. Whole number, default 8, at most 30. Sent as text so Clay works.",
            "default": "8"
          },
          "max_brands_to_check": {
            "title": "Max brands to check for jobs and programs",
            "type": "string",
            "description": "Brands, most sighted first, whose job boards and program pages are checked. Whole number, default 25, at most 200. Sent as text so Clay works.",
            "default": "25"
          },
          "max_charge_usd": {
            "title": "Maximum charge (USD)",
            "type": "string",
            "description": "Optional. The run stops before it would charge more than this."
          },
          "source_tag": {
            "title": "Source tag",
            "type": "string",
            "description": "Internal attribution tag. Leave empty."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}