{
  "openapi": "3.0.1",
  "info": {
    "title": "Patreon Scraper With Launch Date & Billing Setup",
    "description": "Patreon Scraper — Scrape Patreon creator profiles, launch dates, billing setup, membership tiers, prices, benefits, and audience details. Extract structured data for creator research, competitive analysis, market research, and subscription insights.",
    "version": "0.1",
    "x-build-id": "FkrvC7zKimfhd1pub"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapier~patreon-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapier-patreon-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/scrapier~patreon-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapier-patreon-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/scrapier~patreon-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapier-patreon-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",
        "required": [
          "startUrls"
        ],
        "properties": {
          "startUrls": {
            "title": "🎯 Campaigns to profile - URL, username or keyword",
            "type": "array",
            "description": "An item containing patreon.com/ (e.g. https://www.patreon.com/GreenRoomPythons) is profiled directly. Anything else - including a bare username - is run through Patreon's own creator search as a keyword.",
            "items": {
              "type": "string"
            }
          },
          "maxData": {
            "title": "🔢 Campaign cap per keyword",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many campaigns to keep per search keyword (default 10, maximum 500). Direct profile URLs are always all profiled and ignore this number. Patreon's own search is the real ceiling - it reported 44-174 hits per keyword when measured on 2026-08-10, and the run stops when the result set is exhausted.",
            "default": 10
          },
          "includeLaunchDate": {
            "title": "🎂 Launch date, creation date and last post",
            "type": "boolean",
            "description": "Returns launchedAt (the day the page went live), createdAt (the earlier day the campaign object was made - the gap between them is how long the creator built in private), postFrequencyPerMonth and publicPostsAvailable. Costs one extra request per campaign, to Patreon's campaigns API.",
            "default": true
          },
          "fetchLatestPostDate": {
            "title": "📰 Also fetch the newest public post",
            "type": "boolean",
            "description": "Adds latestPostDate, latestPostTitle and latestPostUrl by reading one row off the public post feed. This is the only reliable 'is it still running' signal, and it costs one more request per campaign. Turn it off to keep the run cheap; postFrequencyPerMonth still answers the same question for free.",
            "default": true
          },
          "includeBillingAndTrial": {
            "title": "💳 Billing model, currency and free trial",
            "type": "boolean",
            "description": "Returns billingModel (monthly or per_creation), payPerName, billingCurrency, isChargeUpfront, isChargedImmediately, hasFreeTrial, freeTrialDays plus the creator's own showsEarnings / showsPatronCount / earningsVisibility switches.",
            "default": true
          },
          "includeCreationType": {
            "title": "🗂️ What the campaign publishes",
            "type": "boolean",
            "description": "Returns contentFormats - podcast_rss, video, shows, collections, shop, per_release - each tag mapped from one published flag, plus the raw flags and oneLiner. NOTE: Patreon's own category taxonomy is NOT exposed to logged-out requests (0 occurrences on both surfaces on 2026-08-10), so no category or category_rank column is shipped rather than a guessed one.",
            "default": true
          },
          "launchedBetween": {
            "title": "📅 Launched between (YYYY-MM-DD..YYYY-MM-DD)",
            "type": "string",
            "description": "Keep only campaigns whose launch date falls inside this window, e.g. 2020-01-01..2023-12-31. Leave either side empty for an open end (..2023-12-31 or 2020-01-01..). Empty keeps every campaign. A campaign whose launch date Patreon did not publish fails the window and says so - it is never quietly passed through.",
            "default": ""
          },
          "onlyKeepMatchingCampaigns": {
            "title": "🚫 Drop campaigns outside the window",
            "type": "boolean",
            "description": "ON: campaigns outside the window are dropped and not charged, and the search keeps paging to fill the requested count. OFF: every campaign is returned and flagged with passedLaunchDateFilter plus filterReasons, so the funnel is visible. Ignored when no window is set.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy settings",
            "type": "object",
            "description": "Apify proxy groups, or your own proxy URLs when the section is expanded."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}