{
  "openapi": "3.0.1",
  "info": {
    "title": "Whop Clipping Content Rewards Scraper",
    "description": "Find and compare public Whop Content Rewards clipping and UGC campaigns.",
    "version": "0.0",
    "x-build-id": "63qAOWN0QBvKgil1F"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lurkapi~whop-clipping-content-rewards-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lurkapi-whop-clipping-content-rewards-scraper",
        "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/lurkapi~whop-clipping-content-rewards-scraper/runs": {
      "post": {
        "operationId": "runs-sync-lurkapi-whop-clipping-content-rewards-scraper",
        "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/lurkapi~whop-clipping-content-rewards-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-lurkapi-whop-clipping-content-rewards-scraper",
        "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": {
          "startUrls": {
            "title": "Exact campaign URLs",
            "maxItems": 500,
            "uniqueItems": true,
            "type": "array",
            "description": "Public Content Rewards campaign URLs, one per line. Format: https://contentrewards.com/discover/{campaign-id}. Leave empty to scan the full public directory instead.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum campaigns",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many campaign snapshots to return. Default and product limit is 500 per run.",
            "default": 500
          },
          "includeDetails": {
            "title": "Include campaign details ($)",
            "type": "boolean",
            "description": "Adds public requirements, per-platform payout rules, and campaign resource links. Charged only for saved results where enrichment succeeded.",
            "default": false
          },
          "searchText": {
            "title": "Search text ($)",
            "maxLength": 200,
            "type": "string",
            "description": "Keep campaigns whose title, brand, category, or description contains this text. Case-insensitive."
          },
          "campaignTypes": {
            "title": "Campaign type ($)",
            "maxItems": 3,
            "uniqueItems": true,
            "type": "array",
            "description": "Keep campaigns of the selected types. Picking several still counts as one filter.",
            "items": {
              "type": "string",
              "enum": [
                "clipping",
                "ugc",
                "both"
              ],
              "enumTitles": [
                "Clipping",
                "UGC",
                "Both"
              ]
            },
            "default": []
          },
          "platforms": {
            "title": "Accepted platform ($)",
            "maxItems": 5,
            "uniqueItems": true,
            "type": "array",
            "description": "Keep campaigns that accept posts on the selected platforms.",
            "items": {
              "type": "string",
              "enum": [
                "tiktok",
                "instagram",
                "youtube",
                "x",
                "facebook"
              ],
              "enumTitles": [
                "TikTok",
                "Instagram",
                "YouTube",
                "X",
                "Facebook"
              ]
            },
            "default": []
          },
          "categories": {
            "title": "Category ($)",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Keep campaigns whose category matches any name in the list. Case-insensitive. One per line.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            },
            "default": []
          },
          "status": {
            "title": "Campaign status",
            "enum": [
              "active",
              "completed",
              "all"
            ],
            "type": "string",
            "description": "Active is free. Completed or paused and All each count as one filter.",
            "default": "active"
          },
          "minRewardPerThousandUsd": {
            "title": "Minimum reward per 1K views ($)",
            "minimum": 0,
            "type": "number",
            "description": "Keep campaigns paying at least this USD amount per 1,000 views."
          },
          "minBudgetLeftUsd": {
            "title": "Minimum budget left ($)",
            "minimum": 0,
            "type": "number",
            "description": "Keep campaigns with at least this much unspent budget."
          },
          "maxProgressPercentage": {
            "title": "Maximum budget spent % ($)",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Keep campaigns at or below this budget-spent percentage."
          },
          "maxCreators": {
            "title": "Maximum creators ($)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep campaigns with no more than this many participating creators. Requires loading each campaign page, so the run takes slightly longer."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "budgetLeft",
              "reward",
              "newest",
              "progress",
              "creators",
              "successRate"
            ],
            "type": "string",
            "description": "Budget left is free. Any other sort adds one sorting event per saved result. Fewest creators and Highest success rate need to load every matching campaign page, so those runs take longer.",
            "default": "budgetLeft"
          },
          "outputDescription": {
            "title": "Output: description",
            "type": "boolean",
            "description": "Include the public campaign description.",
            "default": true
          },
          "outputCampaignType": {
            "title": "Output: campaign type",
            "type": "boolean",
            "description": "Include clipping, UGC, or both.",
            "default": true
          },
          "outputCategory": {
            "title": "Output: category",
            "type": "boolean",
            "description": "Include the campaign category name.",
            "default": true
          },
          "outputSourceStatus": {
            "title": "Output: source status",
            "type": "boolean",
            "description": "Include the raw status value published by the source.",
            "default": true
          },
          "outputRewardPerThousandUsd": {
            "title": "Output: reward per 1K (USD)",
            "type": "boolean",
            "description": "Include the numeric USD reward per 1,000 views.",
            "default": true
          },
          "outputTotalBudgetUsd": {
            "title": "Output: total budget (USD)",
            "type": "boolean",
            "description": "Include the numeric total campaign budget.",
            "default": true
          },
          "outputBudgetSpentUsd": {
            "title": "Output: budget spent (USD)",
            "type": "boolean",
            "description": "Include the numeric amount already spent.",
            "default": true
          },
          "outputBudgetLeftUsd": {
            "title": "Output: budget left (USD)",
            "type": "boolean",
            "description": "Include the calculated unspent budget.",
            "default": true
          },
          "outputProgressPercentage": {
            "title": "Output: budget progress %",
            "type": "boolean",
            "description": "Include the percentage of budget spent.",
            "default": true
          },
          "outputSocialPlatforms": {
            "title": "Output: platforms",
            "type": "boolean",
            "description": "Include the list of accepted platforms.",
            "default": true
          },
          "outputCreatorsCount": {
            "title": "Output: creators count",
            "type": "boolean",
            "description": "Include the count of participating creators.",
            "default": true
          },
          "outputViewCount": {
            "title": "Output: view count",
            "type": "boolean",
            "description": "Include the normalized numeric view count.",
            "default": true
          },
          "outputViewCountDisplay": {
            "title": "Output: view count display",
            "type": "boolean",
            "description": "Include the original abbreviated view-count string (e.g. 103.5M).",
            "default": true
          },
          "outputSuccessRate": {
            "title": "Output: success rate",
            "type": "boolean",
            "description": "Include the reported submission success rate.",
            "default": true
          },
          "outputEngagementUsd": {
            "title": "Output: engagement value",
            "type": "boolean",
            "description": "Include the numeric engagement value published by the source.",
            "default": true
          },
          "outputIsVerified": {
            "title": "Output: verified flag",
            "type": "boolean",
            "description": "Include whether the brand is verified.",
            "default": true
          },
          "outputFundedAt": {
            "title": "Output: funded date",
            "type": "boolean",
            "description": "Include the campaign funding timestamp.",
            "default": true
          },
          "outputCampaignUrl": {
            "title": "Output: campaign URL",
            "type": "boolean",
            "description": "Include the direct public Content Rewards URL.",
            "default": true
          },
          "outputWhopUrl": {
            "title": "Output: Whop URL",
            "type": "boolean",
            "description": "Include the related public Whop page URL when available.",
            "default": true
          },
          "outputThumbnailUrl": {
            "title": "Output: thumbnail URL",
            "type": "boolean",
            "description": "Include the campaign thumbnail image URL.",
            "default": true
          },
          "outputBrandAvatarUrl": {
            "title": "Output: brand avatar URL",
            "type": "boolean",
            "description": "Include the brand avatar image URL.",
            "default": true
          },
          "outputCompanyId": {
            "title": "Output: company ID",
            "type": "boolean",
            "description": "Include the public Whop company ID.",
            "default": true
          },
          "outputExperienceId": {
            "title": "Output: experience ID",
            "type": "boolean",
            "description": "Include the public campaign experience ID.",
            "default": true
          },
          "outputWhopExperienceId": {
            "title": "Output: Whop experience ID",
            "type": "boolean",
            "description": "Include the related Whop experience ID.",
            "default": true
          },
          "outputWhopProductRoute": {
            "title": "Output: Whop product route",
            "type": "boolean",
            "description": "Include the related Whop product route.",
            "default": true
          },
          "outputTotalBudgetDisplay": {
            "title": "Output: total budget display",
            "type": "boolean",
            "description": "Include the original total-budget string.",
            "default": true
          },
          "outputBudgetSpentDisplay": {
            "title": "Output: budget spent display",
            "type": "boolean",
            "description": "Include the original budget-spent string.",
            "default": true
          },
          "outputRewardDisplay": {
            "title": "Output: reward display",
            "type": "boolean",
            "description": "Include the original reward-per-1K string.",
            "default": true
          },
          "outputRequirements": {
            "title": "Output: requirements",
            "type": "boolean",
            "description": "Include enriched requirements. Only present when details are enabled.",
            "default": true
          },
          "outputPayouts": {
            "title": "Output: payout rules",
            "type": "boolean",
            "description": "Include enriched per-platform payout rules. Only present when details are enabled.",
            "default": true
          },
          "outputResources": {
            "title": "Output: resources",
            "type": "boolean",
            "description": "Include enriched public resource links. Only present when details are enabled.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}