# Kickstarter Scraper 🚀 (`scrapier/kickstarter-scraper`) Actor

Extract Kickstarter campaign data including project details, funding progress, goals, backer counts, categories, creators, rewards, and launch dates. Ideal for market research, trend analysis, lead generation, investment research, and business intelligence.

- **URL**: https://apify.com/scrapier/kickstarter-scraper.md
- **Developed by:** [Scrapier](https://apify.com/scrapier) (community)
- **Categories:** Developer tools, Lead generation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Kickstarter Scraper 🚀

Extract **rich, structured data** from [Kickstarter](https://www.kickstarter.com) at scale — funding numbers, rewards, add-ons, items, creator profiles, categories, locations and more. Point it at project pages, categories, places, creator profiles or a `/discover/advanced` search, or just set the filters and let it crawl.

No login, no headless browser — the scraper impersonates a real browser's TLS fingerprint to sail past Cloudflare, so it's fast and cheap.

---

### ✨ Why choose this scraper?

- **🧱 Complete records** — not just the search summary. Every project is enriched with rewards, add-ons, items, add-on support and the full creator profile (biography, websites, avatar).
- **🔗 Flexible input** — project / category / place / profile / discover URLs **or** human-friendly filters (category, location, status, pledged, goal, raised, sort).
- **🛡️ Smart proxy ladder** — starts with no proxy and only escalates to **datacenter** then **residential** if Kickstarter blocks you, then sticks with residential. You never overpay for proxies you don't need.
- **💾 Live results** — every project is saved the moment it's scraped, so a long run never loses work.
- **🗂️ Four ready-made views** — Overview, Funding, Creators, and Rewards & Add-ons.

---

### 🔑 Key features

| Feature | Details |
|---|---|
| Input types | Project URL, Category URL, Place URL, Profile URL, `/discover/advanced` URL, or filters only |
| Filters | Search term, category, location, status, pledged, goal, raised, sort |
| Enrichment | Rewards, add-ons, items, creator biography / websites / avatar |
| Anti-blocking | `curl_cffi` browser TLS impersonation + escalating proxy ladder + retry/backoff |
| Output | Live dataset push, 4 table views, full JSON / CSV / XLSX export |

---

### 📥 Input

```json
{
  "startUrls": [
    { "url": "https://www.kickstarter.com/discover/categories/games/tabletop%20games" }
  ],
  "query": "",
  "maxResults": 10,
  "category": "games/tabletop games",
  "location": "",
  "status": "Successful",
  "pledged": "All",
  "goal": "All",
  "raised": "All",
  "sort": "newest",
  "enrichProjects": true,
  "concurrency": 5,
  "requestDelay": 1.0,
  "impersonate": "chrome131",
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
````

| Field | Type | Description |
|---|---|---|
| `startUrls` | array | Bulk list of Kickstarter URLs (project / category / place / profile / discover). Leave empty to crawl from filters. |
| `query` | string | Free-text keyword search. |
| `maxResults` | integer | Max number of projects to collect. |
| `category` | string | Category slug (`games/tabletop games`), parent (`games`) or `All`. |
| `location` | string | Free-text location, resolved automatically. |
| `status` | string | `All`, `Live`, or `Successful`. |
| `pledged` / `goal` / `raised` | string | Range buckets (see dropdowns). |
| `sort` | string | `newest`, `magic`, `popularity`, `end_date`, `most_funded`, `most_backed`. |
| `enrichProjects` | boolean | Fetch full project + creator detail (default `true`). |
| `concurrency` | integer | Parallel project fetches. |
| `requestDelay` | number | Politeness delay (seconds) + random jitter. |
| `impersonate` | string | Browser TLS fingerprint. |
| `proxyConfiguration` | object | Apify proxy settings (residential recommended). |

***

### 📤 Output

Each dataset item is the full Kickstarter project object, with a top-level `url` and an enriched `creator`. A few flat helper fields (`projectName`, `categoryName`, `creatorName`, `percentFunded`, `photoUrl`, …) are added so the table views render nicely — the complete nested data is always preserved.

```jsonc
{
  "url": "https://www.kickstarter.com/projects/infiniform/sci-fi-desert-relay-tower-complex...",
  "id": 933356486,
  "name": "Sci-fi Desert - Relay Tower Complex - 3D Printable STL Files",
  "blurb": "3D Printable Pieces for Wargames, Tabletop RPGs & Boardgames...",
  "goal": 100.0,
  "pledged": 729.0,
  "state": "successful",
  "backers_count": 35,
  "currency": "USD",
  "category": { "name": "Tabletop Games", "slug": "games/tabletop games", "parent_name": "Games" },
  "location": { "displayable_name": "Walla Walla, WA" },
  "creator": { "name": "InfiniForm", "biography": "...", "websites": [], "url": "..." },
  "rewards": [ { "minimum": 12.0, "title": "...", "backers_count": 24, "...": "..." } ],
  "add_ons": [ "..." ],
  "items": [ "..." ],
  "percentFunded": 729.0,
  "projectUrl": "https://www.kickstarter.com/projects/infiniform/..."
}
```

***

### 🚀 How to use (Apify Console)

1. Log in at [console.apify.com](https://console.apify.com) → **Actors**.
2. Open **Kickstarter Scraper**.
3. Add **Start URLs** and/or set the filters (category, status, sort, …).
4. (Optional) Set proxy to **Residential** for the most reliable runs.
5. Click **Start**.
6. Watch the live log fill up with projects as they're scraped.
7. Open the **Output** tab — switch between the 🗂️ Overview, 💰 Funding, 👤 Creators and 🎁 Rewards views.
8. Export to **JSON / CSV / XLSX**.

***

### 🤖 Use via API

```bash
curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "category": "games/tabletop games",
       "status": "Successful",
       "maxResults": 10,
       "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
     }'
```

***

### 💡 Best use cases

- Market research on a category (which projects fund, at what goals, how many backers).
- Lead generation — creator profiles, websites and locations.
- Tracking rewards / pricing strategies across successful campaigns.
- Building datasets of crowdfunding trends.

***

### 💳 Pricing

This Actor runs on Apify's standard compute + proxy usage. Residential proxy traffic is the main cost driver, which is exactly why the scraper starts **direct** and only escalates when blocked — you only pay for the proxy tier you actually need.

***

### ❓ FAQ

**Do I need a proxy?** Not to start — the Actor tries direct first. But Kickstarter blocks datacenter IPs aggressively, so for larger runs **residential** is recommended.

**Why do some creator fields look empty?** Those fields come from the signed creator endpoint; if a creator's profile is private or the call is rate-limited, the Actor degrades gracefully and keeps the rest of the record.

**Can I scrape a single project?** Yes — paste its URL into **Start URLs**.

**Is this legal?** The Actor only collects publicly available data. You are responsible for complying with Kickstarter's ToS and applicable laws (GDPR/CCPA, etc.).

***

### 🆘 Support & feedback

Found a bug or want a new field? Open an issue on the Actor's **Issues** tab in the Apify Console.

# Actor input Schema

## `startUrls` (type: `array`):

URLs to start with. Supports 🟢 project detail, 👤 creator profile, 📂 category, 📍 place, and 🔍 /discover/advanced search URLs. Leave empty to crawl purely from the filters below.

## `query` (type: `string`):

Keyword/query you want to search on Kickstarter. Ignored when Start URLs are provided.

## `maxResults` (type: `integer`):

Maximum number of project records to retrieve.

## `category` (type: `string`):

Kickstarter category to filter results by. Pick "All" for every category.

## `location` (type: `string`):

Location to search within (e.g. "Seattle, WA" or "United States"). Resolved automatically. Leave empty to skip.

## `status` (type: `string`):

Filter by campaign status.

## `pledged` (type: `string`):

Filter by total amount pledged.

## `goal` (type: `string`):

Filter by the campaign's funding goal.

## `raised` (type: `string`):

Filter by how much of the goal was raised.

## `sort` (type: `string`):

Order of the results.

## `datasetName` (type: `string`):

Write results into a named dataset (persists across runs and is overwritten each run). Leave empty to use the run's default dataset.

## `enrichProjects` (type: `boolean`):

Fetch each project page for rewards, add-ons, items and full creator profiles. Turn off for a faster, lighter crawl that returns only the discover summary.

## `concurrency` (type: `integer`):

How many projects to fetch in parallel.

## `requestDelay` (type: `number`):

Politeness delay; a small random jitter is added on top. Kickstarter rate-limits aggressively.

## `impersonate` (type: `string`):

Browser TLS fingerprint to impersonate. Use a recent one — Cloudflare rejects old/generic fingerprints.

## `proxyConfig` (type: `object`):

The scraper starts with NO proxy and only escalates (datacenter → residential) if Kickstarter blocks it, then sticks with residential. Residential is strongly recommended — Kickstarter blocks datacenter traffic.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.kickstarter.com/projects/1460250988/darkest-dungeon-by-red-hook-studios",
    "https://www.kickstarter.com/discover/categories/games/tabletop%20games",
    "https://www.kickstarter.com/discover/places/seattle-wa",
    "https://www.kickstarter.com/profile/alleycatgames",
    "https://www.kickstarter.com/discover/advanced?term=board+games&category_id=12&pledged=1&goal=1&sort=newest&page=1"
  ],
  "query": "Gadgets",
  "maxResults": 10,
  "category": "All",
  "location": "United States",
  "status": "All",
  "pledged": "All",
  "goal": "All",
  "raised": "All",
  "sort": "newest",
  "datasetName": "",
  "enrichProjects": true,
  "concurrency": 5,
  "requestDelay": 1,
  "impersonate": "chrome131",
  "proxyConfig": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        "https://www.kickstarter.com/projects/1460250988/darkest-dungeon-by-red-hook-studios",
        "https://www.kickstarter.com/discover/categories/games/tabletop%20games",
        "https://www.kickstarter.com/discover/places/seattle-wa",
        "https://www.kickstarter.com/profile/alleycatgames",
        "https://www.kickstarter.com/discover/advanced?term=board+games&category_id=12&pledged=1&goal=1&sort=newest&page=1"
    ],
    "query": "Gadgets",
    "maxResults": 10,
    "category": "All",
    "location": "United States",
    "sort": "newest",
    "proxyConfig": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapier/kickstarter-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [
        "https://www.kickstarter.com/projects/1460250988/darkest-dungeon-by-red-hook-studios",
        "https://www.kickstarter.com/discover/categories/games/tabletop%20games",
        "https://www.kickstarter.com/discover/places/seattle-wa",
        "https://www.kickstarter.com/profile/alleycatgames",
        "https://www.kickstarter.com/discover/advanced?term=board+games&category_id=12&pledged=1&goal=1&sort=newest&page=1",
    ],
    "query": "Gadgets",
    "maxResults": 10,
    "category": "All",
    "location": "United States",
    "sort": "newest",
    "proxyConfig": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapier/kickstarter-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    "https://www.kickstarter.com/projects/1460250988/darkest-dungeon-by-red-hook-studios",
    "https://www.kickstarter.com/discover/categories/games/tabletop%20games",
    "https://www.kickstarter.com/discover/places/seattle-wa",
    "https://www.kickstarter.com/profile/alleycatgames",
    "https://www.kickstarter.com/discover/advanced?term=board+games&category_id=12&pledged=1&goal=1&sort=newest&page=1"
  ],
  "query": "Gadgets",
  "maxResults": 10,
  "category": "All",
  "location": "United States",
  "sort": "newest",
  "proxyConfig": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call scrapier/kickstarter-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapier/kickstarter-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Kickstarter Scraper 🚀",
        "description": "Extract Kickstarter campaign data including project details, funding progress, goals, backer counts, categories, creators, rewards, and launch dates. Ideal for market research, trend analysis, lead generation, investment research, and business intelligence.",
        "version": "0.1",
        "x-build-id": "E9PQjuaLhtZiAo6i6"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapier~kickstarter-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapier-kickstarter-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~kickstarter-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapier-kickstarter-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~kickstarter-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapier-kickstarter-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": [
                    "proxyConfig"
                ],
                "properties": {
                    "startUrls": {
                        "title": "🔗 Start URLs",
                        "type": "array",
                        "description": "URLs to start with. Supports 🟢 project detail, 👤 creator profile, 📂 category, 📍 place, and 🔍 /discover/advanced search URLs. Leave empty to crawl purely from the filters below.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "query": {
                        "title": "🔍 Search Query",
                        "type": "string",
                        "description": "Keyword/query you want to search on Kickstarter. Ignored when Start URLs are provided."
                    },
                    "maxResults": {
                        "title": "🎯 Maximum Results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of project records to retrieve.",
                        "default": 10
                    },
                    "category": {
                        "title": "📂 Category",
                        "enum": [
                            "All",
                            "art",
                            "art/ceramics",
                            "art/conceptual art",
                            "art/digital art",
                            "art/illustration",
                            "art/installations",
                            "art/mixed media",
                            "art/painting",
                            "art/performance art",
                            "art/public art",
                            "art/sculpture",
                            "art/textiles",
                            "art/video art",
                            "comics",
                            "comics/anthologies",
                            "comics/comic books",
                            "comics/events",
                            "comics/graphic novels",
                            "comics/webcomics",
                            "crafts",
                            "crafts/candles",
                            "crafts/crochet",
                            "crafts/diy",
                            "crafts/embroidery",
                            "crafts/glass",
                            "crafts/knitting",
                            "crafts/pottery",
                            "crafts/printing",
                            "crafts/quilts",
                            "crafts/stationery",
                            "crafts/taxidermy",
                            "crafts/weaving",
                            "crafts/woodworking",
                            "dance",
                            "dance/performances",
                            "dance/residencies",
                            "dance/spaces",
                            "dance/workshops",
                            "design",
                            "design/architecture",
                            "design/civic design",
                            "design/graphic design",
                            "design/interactive design",
                            "design/product design",
                            "design/typography",
                            "fashion",
                            "fashion/accessories",
                            "fashion/apparel",
                            "fashion/childrenswear",
                            "fashion/couture",
                            "fashion/footwear",
                            "fashion/jewelry",
                            "fashion/pet fashion",
                            "fashion/ready-to-wear",
                            "film & video",
                            "film & video/action",
                            "film & video/animation",
                            "film & video/comedy",
                            "film & video/documentary",
                            "film & video/drama",
                            "film & video/experimental",
                            "film & video/family",
                            "film & video/fantasy",
                            "film & video/festivals",
                            "film & video/horror",
                            "film & video/movie theaters",
                            "film & video/music videos",
                            "film & video/narrative film",
                            "film & video/romance",
                            "film & video/science fiction",
                            "film & video/shorts",
                            "film & video/television",
                            "film & video/thrillers",
                            "film & video/webseries",
                            "food",
                            "food/bacon",
                            "food/community gardens",
                            "food/cookbooks",
                            "food/drinks",
                            "food/events",
                            "food/farmer's markets",
                            "food/farms",
                            "food/food trucks",
                            "food/restaurants",
                            "food/small batch",
                            "food/spaces",
                            "food/vegan",
                            "games",
                            "games/gaming hardware",
                            "games/live games",
                            "games/mobile games",
                            "games/playing cards",
                            "games/puzzles",
                            "games/tabletop games",
                            "games/video games",
                            "journalism",
                            "journalism/audio",
                            "journalism/photo",
                            "journalism/print",
                            "journalism/video",
                            "journalism/web",
                            "music",
                            "music/blues",
                            "music/chiptune",
                            "music/classical music",
                            "music/comedy",
                            "music/country & folk",
                            "music/electronic music",
                            "music/faith",
                            "music/hip-hop",
                            "music/indie rock",
                            "music/jazz",
                            "music/kids",
                            "music/latin",
                            "music/metal",
                            "music/pop",
                            "music/punk",
                            "music/r&b",
                            "music/rock",
                            "music/world music",
                            "photography",
                            "photography/animals",
                            "photography/fine art",
                            "photography/nature",
                            "photography/people",
                            "photography/photobooks",
                            "photography/places",
                            "publishing",
                            "publishing/academic",
                            "publishing/anthologies",
                            "publishing/art books",
                            "publishing/calendars",
                            "publishing/children's books",
                            "publishing/comedy",
                            "publishing/fiction",
                            "publishing/letterpress",
                            "publishing/literary journals",
                            "publishing/nonfiction",
                            "publishing/periodicals",
                            "publishing/poetry",
                            "publishing/radio & podcasts",
                            "publishing/translations",
                            "publishing/young adult",
                            "publishing/zines",
                            "publishing/literary spaces",
                            "technology",
                            "technology/3d printing",
                            "technology/apps",
                            "technology/camera equipment",
                            "technology/diy electronics",
                            "technology/fabrication tools",
                            "technology/flight",
                            "technology/gadgets",
                            "technology/hardware",
                            "technology/makerspaces",
                            "technology/robots",
                            "technology/software",
                            "technology/sound",
                            "technology/space exploration",
                            "technology/wearables",
                            "technology/web",
                            "theater",
                            "theater/comedy",
                            "theater/experimental",
                            "theater/festivals",
                            "theater/immersive",
                            "theater/musical",
                            "theater/plays",
                            "theater/spaces"
                        ],
                        "type": "string",
                        "description": "Kickstarter category to filter results by. Pick \"All\" for every category.",
                        "default": "All"
                    },
                    "location": {
                        "title": "📍 Location",
                        "type": "string",
                        "description": "Location to search within (e.g. \"Seattle, WA\" or \"United States\"). Resolved automatically. Leave empty to skip."
                    },
                    "status": {
                        "title": "⭐ Status",
                        "enum": [
                            "All",
                            "Live",
                            "Successful"
                        ],
                        "type": "string",
                        "description": "Filter by campaign status.",
                        "default": "All"
                    },
                    "pledged": {
                        "title": "💰 Amount Pledged",
                        "enum": [
                            "All",
                            "< $1,000 pledged",
                            "$1,000 to $10,000 pledged",
                            "$10,000 to $100,000 pledged",
                            "$100,000 to $1,000,000 pledged",
                            "> $1,000,000 pledged"
                        ],
                        "type": "string",
                        "description": "Filter by total amount pledged.",
                        "default": "All"
                    },
                    "goal": {
                        "title": "🎯 Goal",
                        "enum": [
                            "All",
                            "< $1,000 goal",
                            "$1,000 to $10,000 goal",
                            "$10,000 to $100,000 goal",
                            "$100,000 to $1,000,000 goal",
                            "> $1,000,000 goal"
                        ],
                        "type": "string",
                        "description": "Filter by the campaign's funding goal.",
                        "default": "All"
                    },
                    "raised": {
                        "title": "📈 % Raised",
                        "enum": [
                            "All",
                            "< 75% raised",
                            "75% to 100% raised",
                            "> 100% raised"
                        ],
                        "type": "string",
                        "description": "Filter by how much of the goal was raised.",
                        "default": "All"
                    },
                    "sort": {
                        "title": "↕️ Sort By",
                        "enum": [
                            "newest",
                            "popularity",
                            "end_date",
                            "most_funded",
                            "most_backed"
                        ],
                        "type": "string",
                        "description": "Order of the results.",
                        "default": "newest"
                    },
                    "datasetName": {
                        "title": "🗄️ Dataset Name",
                        "type": "string",
                        "description": "Write results into a named dataset (persists across runs and is overwritten each run). Leave empty to use the run's default dataset.",
                        "default": ""
                    },
                    "enrichProjects": {
                        "title": "✨ Fetch Full Project Details",
                        "type": "boolean",
                        "description": "Fetch each project page for rewards, add-ons, items and full creator profiles. Turn off for a faster, lighter crawl that returns only the discover summary.",
                        "default": true
                    },
                    "concurrency": {
                        "title": "⚡ Concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "How many projects to fetch in parallel.",
                        "default": 5
                    },
                    "requestDelay": {
                        "title": "⏱️ Delay Between Requests (seconds)",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "number",
                        "description": "Politeness delay; a small random jitter is added on top. Kickstarter rate-limits aggressively.",
                        "default": 1
                    },
                    "impersonate": {
                        "title": "🌐 Browser Fingerprint",
                        "enum": [
                            "chrome131",
                            "chrome124",
                            "chrome120",
                            "safari17_2_ios"
                        ],
                        "type": "string",
                        "description": "Browser TLS fingerprint to impersonate. Use a recent one — Cloudflare rejects old/generic fingerprints.",
                        "default": "chrome131"
                    },
                    "proxyConfig": {
                        "title": "🛡️ Proxy Configuration",
                        "type": "object",
                        "description": "The scraper starts with NO proxy and only escalates (datacenter → residential) if Kickstarter blocks it, then sticks with residential. Residential is strongly recommended — Kickstarter blocks datacenter traffic.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
