{
  "openapi": "3.0.1",
  "info": {
    "title": "Kickstarter Campaign Scraper",
    "description": "Collect public Kickstarter campaigns by search term or project URL for research and product scouting. Returns funding and backer totals, creator, category, timeline, and source fields. Excludes backer accounts, creator dashboards, and private information. $0.01 per record plus usage.",
    "version": "1.9",
    "x-build-id": "Ojug6COyELFVKeTOv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~kickstarter-campaign-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-kickstarter-campaign-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/khadinakbar~kickstarter-campaign-scraper/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-kickstarter-campaign-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/khadinakbar~kickstarter-campaign-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-kickstarter-campaign-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": {
          "searchQueries": {
            "title": "Kickstarter search queries",
            "type": "array",
            "description": "Use this when you want to discover public campaigns by keyword. Enter short Kickstarter search phrases such as \"board game\" or \"smart home\". Defaults to [\"board game\"] and accepts up to 10 phrases. This is not a list of campaign URLs; use Kickstarter project URLs for a known campaign.",
            "items": {
              "type": "string"
            },
            "default": [
              "board game"
            ]
          },
          "projectUrls": {
            "title": "Kickstarter project URLs",
            "type": "array",
            "description": "Use this when you already know the public campaigns to collect. Enter full project URLs such as \"https://www.kickstarter.com/projects/example/my-campaign\". Defaults to an empty list and accepts up to 50 URLs; equivalent URLs are canonicalized and fetched once. This is not a Discover, profile, backer, or creator-dashboard URL.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "categories": {
            "title": "Campaign categories",
            "type": "array",
            "description": "Use this when search discovery should be limited to top-level Kickstarter categories. Select values such as \"games\" or \"technology\". Defaults to every category; each selected category creates its own bounded search seed. This does not filter campaigns supplied through project URLs.",
            "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": []
          },
          "states": {
            "title": "Campaign states",
            "type": "array",
            "description": "Use this when you need a specific public campaign lifecycle state. Choose values such as \"live\" or \"successful\"; the default is [\"live\"]. Each state is fetched as a separate bounded discovery seed. This does not grant access to submitted campaigns or private pre-launch analytics.",
            "items": {
              "type": "string",
              "enum": [
                "live",
                "successful",
                "failed",
                "canceled",
                "upcoming"
              ],
              "enumTitles": [
                "Live",
                "Successful",
                "Failed",
                "Canceled",
                "Upcoming"
              ]
            },
            "default": [
              "live"
            ]
          },
          "sort": {
            "title": "Discover sort order",
            "enum": [
              "magic",
              "popularity",
              "newest",
              "end_date",
              "most_funded",
              "most_backed"
            ],
            "type": "string",
            "description": "Use this when ordering discovered public campaigns matters. Choose one Kickstarter Discover order, for example \"newest\" or \"most_funded\". Defaults to \"magic\" and applies only to search discovery. This is not a guarantee of funding rank and does not reorder direct project URLs.",
            "default": "magic"
          },
          "maxResults": {
            "title": "Maximum campaign records",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Use this to cap the number of validated campaign records and billable campaign events. Enter an integer from 1 to 100; for example, 20 returns at most 20 records. Defaults to 5, while the automated quality-test prefill uses 1 for a fast live canary. This is not a page-count setting; use maximum pages per seed for discovery pagination.",
            "default": 5
          },
          "maxPagesPerSeed": {
            "title": "Maximum pages per discovery seed",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Use this when a keyword or category search needs more than the first Discover page. Enter an integer from 1 to 10; for example, 2 permits two pages for each query/category/state combination. Defaults to 1 to control proxy and compute use. This does not affect direct project URLs or override the maximum campaign-record cap.",
            "default": 1
          },
          "enrichDetails": {
            "title": "Fetch campaign detail pages",
            "type": "boolean",
            "description": "Use this when search results should be followed to each public campaign page for richer structured fields. Set true for detail-first records; false uses structured data already present on Discover pages. Defaults to true, while the automated quality-test prefill is false so its live canary finishes quickly. This does not access creator dashboards, pledge records, or private backer data.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}