{
  "openapi": "3.0.1",
  "info": {
    "title": "Whop Content Rewards Scraper for Campaigns",
    "description": "Find current public Whop Content Rewards campaigns from the directory or public campaign URLs. Filter by type, platform, category, payout, budget, competition, runway, or opportunity score. Review campaign economics, performance, insights, and optional public details.",
    "version": "1.2",
    "x-build-id": "L26hlYaWHbvwrybKP"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maximedupre~whop-content-rewards-campaigns/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maximedupre-whop-content-rewards-campaigns",
        "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/maximedupre~whop-content-rewards-campaigns/runs": {
      "post": {
        "operationId": "runs-sync-maximedupre-whop-content-rewards-campaigns",
        "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/maximedupre~whop-content-rewards-campaigns/run-sync": {
      "post": {
        "operationId": "run-sync-maximedupre-whop-content-rewards-campaigns",
        "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": [
          "findCampaignsBy"
        ],
        "properties": {
          "findCampaignsBy": {
            "title": "Find campaigns by",
            "enum": [
              "directory",
              "campaignUrls"
            ],
            "type": "string",
            "description": "Choose Public directory to scan the public campaign board, or Campaign URLs to read the pages you provide."
          },
          "campaignUrls": {
            "title": "Campaign URLs",
            "minItems": 1,
            "type": "array",
            "description": "Add one or more public Whop Content Rewards campaign page URLs. This list is used for Campaign URLs and is ignored for Public directory.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "title": "Campaign URL",
                  "type": "string",
                  "description": "A public Whop campaign page URL.",
                  "pattern": "^https?://.+$"
                }
              },
              "required": [
                "url"
              ]
            }
          },
          "campaignType": {
            "title": "Campaign type",
            "enum": [
              "clipping",
              "ugc",
              "all"
            ],
            "type": "string",
            "description": "Choose Clipping, UGC, or all campaign types.",
            "default": "all"
          },
          "campaignStatus": {
            "title": "Campaign status",
            "enum": [
              "active",
              "paused",
              "activeAndPaused"
            ],
            "type": "string",
            "description": "Choose Active, Paused, or both statuses. This filter applies to both Public directory and Campaign URLs, and source statuses stay unchanged in the results."
          },
          "platforms": {
            "title": "Accepted platforms",
            "type": "array",
            "description": "Add one or more social platform names. A campaign matches when it accepts at least one name. Leave this empty to allow all platforms.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Add one or more public category names. A campaign matches when its category is one of them. Leave this empty to allow all categories.",
            "items": {
              "type": "string"
            }
          },
          "brand": {
            "title": "Brand name",
            "type": "string",
            "description": "Match this text against the public brand name. Leave this empty to allow every brand."
          },
          "hasPublicResources": {
            "title": "Only campaigns with public resources",
            "type": "boolean",
            "description": "Return only campaigns that publish at least one public brief or resource link.",
            "default": false
          },
          "searchText": {
            "title": "Text search",
            "type": "string",
            "description": "Search campaign title, brand, category, and description text. Use one search scope per run."
          },
          "fundedAfter": {
            "title": "Funded on or after",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Return campaigns funded on or after this calendar date."
          },
          "fundedBefore": {
            "title": "Funded on or before",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Return campaigns funded on or before this calendar date."
          },
          "minimumPayoutPerThousandViews": {
            "title": "Minimum payout per 1,000 views",
            "minimum": 0,
            "type": "number",
            "description": "Return campaigns with a reward rate at or above this amount per 1,000 views. Use the source currency."
          },
          "minimumRemainingBudget": {
            "title": "Minimum remaining budget",
            "minimum": 0,
            "type": "number",
            "description": "Return campaigns with at least this much public budget left. Use the source currency."
          },
          "maximumBudgetSpentProgress": {
            "title": "Maximum budget spent (%)",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Return campaigns whose spent budget is at or below this percentage. Enter a number from 0 to 100."
          },
          "maximumParticipatingCreators": {
            "title": "Maximum participating creators",
            "minimum": 0,
            "type": "integer",
            "description": "Return campaigns with no more than this many participating creators."
          },
          "minimumAveragePayoutPerCreator": {
            "title": "Minimum average payout per creator",
            "minimum": 0,
            "type": "number",
            "description": "Return campaigns whose derived average payout per participating creator is at least this amount. Use the source currency."
          },
          "minimumEstimatedRunwayDays": {
            "title": "Minimum estimated budget runway (days)",
            "minimum": 0,
            "type": "number",
            "description": "Return campaigns with at least this many estimated days of budget runway."
          },
          "minimumOpportunityScore": {
            "title": "Minimum opportunity score",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Return campaigns with an opportunity score at or above this value. Enter a score from 0 to 100."
          },
          "orderBy": {
            "title": "Order results by",
            "enum": [
              "payout",
              "remainingBudget",
              "recency",
              "progress",
              "competition",
              "payoutVelocity",
              "runway",
              "opportunity"
            ],
            "type": "string",
            "description": "Order matching campaigns by the measure you choose. Results use the most useful direction for that measure, such as newest first for recency and lower first for progress or competition.",
            "default": "opportunity"
          },
          "maxItems": {
            "title": "Maximum campaigns",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many matching campaigns. Leave this empty to return all available results until the public source is exhausted."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}