{
  "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, and opportunity score, then review campaign economics, performance, insights, and optional public details.",
    "version": "0.0",
    "x-build-id": "FuvVVGyPq1JJYehp2"
  },
  "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"
              ]
            }
          },
          "campaignStatus": {
            "title": "Campaign status",
            "enum": [
              "active",
              "completed",
              "all"
            ],
            "type": "string",
            "description": "Choose which public status scopes to include. This applies to both Public directory and Campaign URLs. Some scopes may have no available records.",
            "default": "active"
          },
          "campaignType": {
            "title": "Campaign type",
            "enum": [
              "clipping",
              "ugc",
              "mixed",
              "all"
            ],
            "type": "string",
            "description": "Choose Clipping, UGC, Mixed, or All types.",
            "default": "all"
          },
          "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"
            }
          },
          "searchText": {
            "title": "Text search",
            "type": "string",
            "description": "Search campaign title, brand, category, and description text. Use one search scope per run."
          },
          "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",
            "type": "number",
            "description": "Return campaigns with an opportunity score at or above this value. Use the score scale shown in the results."
          },
          "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"
          },
          "includeDetails": {
            "title": "Include public campaign details",
            "type": "boolean",
            "description": "Request public requirements, platform payout rules, minimum views, maximum payouts, and public resource links for matching campaigns.",
            "default": false
          },
          "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}