{
  "openapi": "3.0.1",
  "info": {
    "title": "Kickstarter Campaign Intelligence: Live Funding Tracker",
    "description": "Track live and recently funded Kickstarter campaigns. Funding velocity, backer counts, pledge tiers, category rankings, creator history. Built for product scouts, manufacturers, trend hunters, and VCs. One row per campaign. Pay per campaign.",
    "version": "0.1",
    "x-build-id": "uaqJwi9UZbmfT51bh"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapemint~kickstarter-campaign-tracker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapemint-kickstarter-campaign-tracker",
        "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/scrapemint~kickstarter-campaign-tracker/runs": {
      "post": {
        "operationId": "runs-sync-scrapemint-kickstarter-campaign-tracker",
        "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/scrapemint~kickstarter-campaign-tracker/run-sync": {
      "post": {
        "operationId": "run-sync-scrapemint-kickstarter-campaign-tracker",
        "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": {
          "queries": {
            "title": "Search terms",
            "type": "array",
            "description": "Free text Kickstarter search terms. Example: [\"smart home\", \"board game\", \"wallet\"]. Empty means do not run any keyword search.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "uniqueItems": true,
            "type": "array",
            "description": "Kickstarter top level category slugs. Empty means pull across all categories.",
            "items": {
              "type": "string",
              "enum": [
                "art",
                "comics",
                "crafts",
                "dance",
                "design",
                "fashion",
                "film-video",
                "food",
                "games",
                "journalism",
                "music",
                "photography",
                "publishing",
                "technology",
                "theater"
              ],
              "enumTitles": [
                "Art",
                "Comics",
                "Crafts",
                "Dance",
                "Design",
                "Fashion",
                "Film & Video",
                "Food",
                "Games",
                "Journalism",
                "Music",
                "Photography",
                "Publishing",
                "Technology",
                "Theater"
              ]
            },
            "default": []
          },
          "projectUrls": {
            "title": "Project URLs",
            "type": "array",
            "description": "Direct kickstarter.com project URLs to fetch. Example: [\"https://www.kickstarter.com/projects/creator/slug\"]. Skips discovery and goes straight to detail enrichment.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "states": {
            "title": "Campaign states",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by campaign lifecycle state.",
            "items": {
              "type": "string",
              "enum": [
                "live",
                "successful",
                "failed",
                "canceled",
                "submitted",
                "upcoming"
              ],
              "enumTitles": [
                "Live (taking pledges now)",
                "Successful (funded and closed)",
                "Failed (closed unfunded)",
                "Canceled",
                "Submitted (pending review)",
                "Upcoming (prelaunch page live)"
              ]
            },
            "default": [
              "live"
            ]
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "magic",
              "popularity",
              "newest",
              "end_date",
              "most_funded",
              "most_backed"
            ],
            "type": "string",
            "description": "Discover sort key.",
            "default": "magic"
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Filter to campaigns based in one country. ISO 3166-1 alpha-2 code, for example US, GB, DE, JP. Empty means worldwide.",
            "default": ""
          },
          "minPercentFunded": {
            "title": "Minimum percent funded",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Only push campaigns at or above this funding percent. 100 means fully funded only. 0 disables the filter.",
            "default": 0
          },
          "minBackers": {
            "title": "Minimum backers",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Only push campaigns with at least this many backers. 0 disables the filter.",
            "default": 0
          },
          "minPledgedUsd": {
            "title": "Minimum pledged (USD)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only push campaigns with at least this much pledged in USD. 0 disables the filter.",
            "default": 0
          },
          "launchedAfterDays": {
            "title": "Launched within last N days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Only push campaigns launched within this many days. 0 disables the filter.",
            "default": 0
          },
          "fetchRewards": {
            "title": "Fetch reward tiers",
            "type": "boolean",
            "description": "Fetch the full pledge reward tiers per campaign. Adds rewards[] with title, price, backer count, items, estimated delivery, and shipping options. Adds one extra request per campaign.",
            "default": false
          },
          "fetchUpdates": {
            "title": "Fetch update count",
            "type": "boolean",
            "description": "Fetch the number of creator updates, comments, and FAQ entries per campaign. Adds updateCount, commentCount, faqCount.",
            "default": false
          },
          "fetchCreator": {
            "title": "Fetch creator history",
            "type": "boolean",
            "description": "Fetch the creator profile to count prior launched projects and lifetime backers. Adds creatorLaunchedCount and creatorBackedCount.",
            "default": false
          },
          "maxCampaigns": {
            "title": "Total maximum campaigns",
            "minimum": 0,
            "maximum": 50000,
            "type": "integer",
            "description": "Hard cap on campaign rows pushed per run. 0 means unlimited.",
            "default": 100
          },
          "maxPagesPerSeed": {
            "title": "Max pages per seed",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Pages of 12 campaigns to walk per seed. Kickstarter discover caps near 200 pages per filter combination.",
            "default": 5
          },
          "dedupe": {
            "title": "Deduplicate across runs",
            "type": "boolean",
            "description": "Skip project IDs already pushed in previous runs. Keyed on Kickstarter project ID. Turn off to refresh stale rows.",
            "default": true
          },
          "navigationDelayMs": {
            "title": "Delay between navigations (ms)",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Pause between page loads. Kickstarter throttles fast scraping. 1500 to 4000 ms is the safe range.",
            "default": 2000
          },
          "concurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "Parallel HTTP requests. Keep at 2 to 4 unless you have a residential proxy pool.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify proxy. Datacenter works for low volume. Switch to residential past a few hundred requests in a short window.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}