{
  "openapi": "3.0.1",
  "info": {
    "title": "Whop Campaign Intelligence & Marketplace Scraper",
    "description": "Collects public Content Rewards campaigns, searches selected parts of the Whop catalog, and joins campaigns to public Whop company profiles. It is designed for campaign research, creator outreach, competitor monitoring, and bounded marketplace discovery",
    "version": "0.0",
    "x-build-id": "m9ve70xiGeZymK8VM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/hypebridge~whop-campaign-intelligence/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-hypebridge-whop-campaign-intelligence",
        "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/hypebridge~whop-campaign-intelligence/runs": {
      "post": {
        "operationId": "runs-sync-hypebridge-whop-campaign-intelligence",
        "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/hypebridge~whop-campaign-intelligence/run-sync": {
      "post": {
        "operationId": "run-sync-hypebridge-whop-campaign-intelligence",
        "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": [
          "startUrls",
          "maxItems",
          "modes"
        ],
        "properties": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Whop search, browse, company/product, Content Rewards discovery, or campaign detail URLs. Direct detail URLs are always fully enriched.",
            "default": [
              {
                "url": "https://contentrewards.com/discover"
              }
            ],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum records across all selected modes.",
            "default": 25
          },
          "getCampaignDetails": {
            "title": "Get full campaign details",
            "type": "boolean",
            "description": "Fetch requirements, resources, payouts, views, daily metrics, and top earners. Direct campaign URLs are always detailed.",
            "default": true
          },
          "modes": {
            "title": "Modes",
            "minItems": 1,
            "maxItems": 3,
            "uniqueItems": true,
            "type": "array",
            "description": "Campaigns returns campaign records; Catalog searches Whop; Enriched leads joins campaigns to public company data. Campaigns and Enriched leads cannot be combined.",
            "items": {
              "type": "string",
              "enum": [
                "campaigns",
                "catalog",
                "enrichedLeads"
              ],
              "enumTitles": [
                "Campaigns",
                "Catalog",
                "Enriched leads"
              ]
            },
            "default": [
              "campaigns"
            ]
          },
          "campaignSearchQueries": {
            "title": "Campaign search queries",
            "maxItems": 20,
            "uniqueItems": true,
            "type": "array",
            "description": "Optional public Content Rewards searches.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            "default": []
          },
          "catalogSearchQueries": {
            "title": "Catalog search queries",
            "maxItems": 20,
            "uniqueItems": true,
            "type": "array",
            "description": "Keywords for bounded Whop catalog search.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            "default": []
          },
          "categoryUrls": {
            "title": "Category URLs",
            "maxItems": 50,
            "type": "array",
            "description": "Whop /discover/browse category URLs. Only Max categories are accepted.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "includeCompletedCampaigns": {
            "title": "Include completed campaigns",
            "type": "boolean",
            "description": "Also fetch the separate, large completed campaign collection.",
            "default": false
          },
          "maxSearchQueries": {
            "title": "Max search queries",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum combined campaign and catalog query count.",
            "default": 5
          },
          "maxCategories": {
            "title": "Max categories",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum Whop categories scheduled.",
            "default": 10
          },
          "maxPagesPerQuery": {
            "title": "Max pages per catalog query",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Hard page-number pagination cap per catalog query.",
            "default": 5
          },
          "maxListings": {
            "title": "Max catalog listings",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum catalog candidates collected across searches and categories.",
            "default": 500
          },
          "maxCampaigns": {
            "title": "Max campaigns",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum unique campaigns collected before detail scheduling.",
            "default": 500
          },
          "maxCampaignDetails": {
            "title": "Max campaign detail requests",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum unique campaigns enriched with full detail.",
            "default": 25
          },
          "maxEnrichments": {
            "title": "Max company enrichments",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum campaign companies joined in Enriched leads mode.",
            "default": 100
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Global concurrency cap; Content Rewards requests remain capped at two.",
            "default": 5
          },
          "maxResponseBytes": {
            "title": "Max campaign response bytes",
            "minimum": 1048576,
            "maximum": 25165824,
            "type": "integer",
            "description": "Abort an unexpectedly large campaign response before it exhausts memory.",
            "default": 12582912
          },
          "debugMode": {
            "title": "Debug mode",
            "type": "boolean",
            "description": "Enable verbose bounded diagnostics.",
            "default": 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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}