# Kickstarter Advanced Scraper (`datacach/kickstarter-advanced-scraper`) Actor

Scrape Kickstarter projects with advanced filters: category, status, location, funding goal & % raised. Extracts structured JSON data at scale. No proxy required.

- **URL**: https://apify.com/datacach/kickstarter-advanced-scraper.md
- **Developed by:** [DataCach](https://apify.com/datacach) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 1,000 project items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

### What does Kickstarter Advanced Scraper do?

**Kickstarter Advanced Scraper** extracts structured project data from [Kickstarter](https://www.kickstarter.com) at scale — no proxy required. It uses Kickstarter's own advanced discovery engine to search, filter, and paginate through thousands of campaigns and delivers clean, ready-to-use JSON output directly to your Apify dataset.

Whether you need 50 projects or 50,000, the scraper handles pagination automatically with concurrent workers, rate-limit recovery, and deterministic seeding so you never miss a result or get duplicates.

Try it now on the [Apify platform](https://apify.com) — no code needed.

### Why use Kickstarter Advanced Scraper?

- **No proxy required** — works out of the box without additional proxy costs, unlike other Kickstarter scrapers.
- **Advanced filtering built-in** — filter by keyword, category (150+ subcategories), project status, location, funding goal, amount pledged, and percentage raised simultaneously.
- **Deterministic pagination** — a seed parameter locks pagination so repeated runs on the same search return consistent, deduplicated results.
- **Concurrent scraping** — 5 parallel workers fetch pages simultaneously for fast data collection.
- **Production-grade reliability** — automatic rate-limit backoff (HTTP 429 handling), graceful abort on platform stop, and per-page error recovery.

#### Business use cases

- **Market research** — analyze funding trends across categories to identify gaps and opportunities.
- **Competitor intelligence** — monitor live campaigns in your niche with scheduled runs.
- **Lead generation** — build lists of creators, projects, and backers for outreach.
- **Investment analysis** — filter by funding goal, amount raised, and percentage funded to find high-potential campaigns.
- **Academic research** — collect large-scale crowdfunding datasets for studies on entrepreneurship and consumer behavior.
- **Product validation** — gauge public interest in product categories before launching your own campaign.

### How to use Kickstarter Advanced Scraper

1. Go to the Kickstarter Advanced Scraper page on Apify and click **Try for free**.
2. Enter a **Search Keyword** (e.g., `"board games"`, `"3D printer"`, `"indie film"`).
3. Optionally apply filters: pick a **Category**, set a **Project Status**, enter a **Location**, and choose funding ranges.
4. Set **Max Results** (default: 100). Set to `0` for unlimited.
5. Click **Start** and wait for the run to finish.
6. Download your dataset in **JSON, CSV, Excel, or HTML** from the Output tab.

### Input

All input fields are configurable from the Apify Console UI or via the API. Only **Search Keyword** is required.

| Field | Type | Description | Default |
|---|---|---|---|
| `search_keyword` | String | Keyword to search on Kickstarter (e.g. `"chess"`) | *(required)* |
| `location` | String | City or region name — auto-resolved to a Kickstarter location ID | *(none)* |
| `max_results` | Integer | Maximum projects to return. `0` = unlimited | `100` |
| `state` | Select | Filter by project status: All, Live, Successful, Upcoming, Late Pledge | All |
| `category_id` | Select | Filter by category/subcategory (150+ options across Art, Tech, Games, etc.) | All |
| `pledged` | Select | Filter by total pledged: any, <$1K, $1K–$10K, $10K–$100K, $100K–$1M, >$1M | Any |
| `goal` | Select | Filter by funding goal range (same tiers as pledged) | Any |
| `raised` | Select | Filter by % of goal raised: any, <75%, 75–100%, >100% | Any |
| `sort` | Select | Sort order: Magic, Popularity, Newest, End Date, Most Funded, Most Backed, Near Me | Magic |
| `seed` | Integer | Pagination seed for deterministic results across multiple runs | *(auto)* |

#### Example input (JSON)

```json
{
  "search_keyword": "board games",
  "state": "live",
  "category_id": "344",
  "pledged": "3",
  "goal": "2",
  "raised": "2",
  "sort": "most_funded",
  "max_results": 500
}
````

This example scrapes **live tabletop game campaigns** that have raised between **$10K–$100K** and are **75–100% funded**, sorted by most funded — ideal for spotting breakout campaigns before they hit their goal.

### Output

Each scraped project is saved as a JSON object in your Apify dataset. You can download the dataset in various formats such as **JSON, HTML, CSV, or Excel**.

#### Sample output item

```json
{
  "id": 339473088,
  "photo": {
    "key": "assets/052/962/122/fb44e775152d1c9d7be327a71301c8bd_original.png",
    "full": "https://i.kickstarter.com/assets/052/962/122/fb44e775152d1c9d7be327a71301c8bd_original.png?anim=false&fit=cover&gravity=auto&height=315&origin=ugc&q=92&v=1773589748&width=560&sig=TAhT2%2BrlO%2FXY7ztmcL4RPa6lU71%2FTtE2iZG4xBKCcI0%3D",
    "ed": "https://i.kickstarter.com/assets/052/962/122/fb44e775152d1c9d7be327a71301c8bd_original.png?anim=false&fit=cover&gravity=auto&height=198&origin=ugc&q=92&v=1773589748&width=352&sig=0F81Vk6Lt3XzI%2FAq3%2BYBtEFJegIQQNErwaZ0p30wxF4%3D",
    "med": "https://i.kickstarter.com/assets/052/962/122/fb44e775152d1c9d7be327a71301c8bd_original.png?anim=false&fit=cover&gravity=auto&height=153&origin=ugc&q=92&v=1773589748&width=272&sig=LsFvgJcIBYEt64dX5vSn%2FfzH78ktWzHWxu%2FVV145jfM%3D",
    "little": "https://i.kickstarter.com/assets/052/962/122/fb44e775152d1c9d7be327a71301c8bd_original.png?anim=false&fit=cover&gravity=auto&height=117&origin=ugc&q=92&v=1773589748&width=208&sig=jBGMJ%2BTE3x5FJ1%2FA%2FYdQEueVgVSAR5UMtnz1hcfWshQ%3D",
    "small": "https://i.kickstarter.com/assets/052/962/122/fb44e775152d1c9d7be327a71301c8bd_original.png?anim=false&fit=cover&gravity=auto&height=90&origin=ugc&q=92&v=1773589748&width=160&sig=dVIdhN%2Ffnv6YZ9MCO%2BaZRPN1XPwtlp2nyge1%2Bwc0oJY%3D",
    "thumb": "https://i.kickstarter.com/assets/052/962/122/fb44e775152d1c9d7be327a71301c8bd_original.png?anim=false&fit=cover&gravity=auto&height=27&origin=ugc&q=92&v=1773589748&width=48&sig=WE3YcA%2BQlTRl%2Bvo4BhKeo3UDJy%2B4t2Uu2y74k73ndsc%3D",
    "1024x576": "https://i.kickstarter.com/assets/052/962/122/fb44e775152d1c9d7be327a71301c8bd_original.png?anim=false&fit=cover&gravity=auto&height=576&origin=ugc&q=92&v=1773589748&width=1024&sig=oLPQcibH2r2E9o3zf5YElCcGExe7JsI%2F2QwpM5m%2Br4w%3D",
    "1536x864": "https://i.kickstarter.com/assets/052/962/122/fb44e775152d1c9d7be327a71301c8bd_original.png?anim=false&fit=cover&gravity=auto&height=873&origin=ugc&q=92&v=1773589748&width=1552&sig=3eyhDD0DrpHA7HuQOGoFNBRQkkKN4pwNNmZaL1R%2B%2FMw%3D"
  },
  "name": "The Official Cyberpunk Trading Card Game",
  "blurb": "Build Your Crew. Earn Your Legend.",
  "goal": 100000.0,
  "pledged": 27217127.0,
  "state": "successful",
  "slug": "the-official-cyberpunk-trading-card-game",
  "country": "US",
  "country_displayable_name": "the United States",
  "currency": "USD",
  "currency_symbol": "$",
  "currency_trailing_code": true,
  "deadline": 1776466800,
  "state_changed_at": 1776466800,
  "created_at": 1768439922,
  "launched_at": 1773763202,
  "is_in_post_campaign_pledging_phase": true,
  "staff_pick": true,
  "is_starrable": false,
  "disable_communication": false,
  "backers_count": 48414,
  "static_usd_rate": 1.0,
  "usd_pledged": "27217127.0",
  "converted_pledged_amount": 37933272,
  "fx_rate": 1.39372801,
  "usd_exchange_rate": 1.0,
  "current_currency": "AUD",
  "usd_type": null,
  "creator": {
    "id": 1409909020,
    "name": "WeirdCo",
    "slug": "cyberpunktcg",
    "is_registered": null,
    "is_email_verified": null,
    "chosen_currency": null,
    "is_superbacker": null,
    "has_admin_message_badge": false,
    "partner_badge": null,
    "ppo_has_action": false,
    "backing_action_count": 0,
    "avatar": {
      "thumb": "https://i.kickstarter.com/assets/052/355/008/b884e8954172554fa5433510a6f6f326_original.png?anim=false&fit=cover&height=40&origin=ugc&q=92&v=1769447566&width=40&sig=7sAO6FWujWFqwfkbf%2FW2ytaC%2FNuvqg2rSZj69HcZcsU%3D",
      "small": "https://i.kickstarter.com/assets/052/355/008/b884e8954172554fa5433510a6f6f326_original.png?anim=false&fit=cover&height=80&origin=ugc&q=92&v=1769447566&width=80&sig=GPzu%2FzeKG5XEAO75oOq5ZYRnIZgX%2BcwwDwqaCHUJzDU%3D",
      "medium": "https://i.kickstarter.com/assets/052/355/008/b884e8954172554fa5433510a6f6f326_original.png?anim=false&fit=cover&height=160&origin=ugc&q=92&v=1769447566&width=160&sig=WNJmb0FaWm12iaiq6D0mbz6mbbzL52JjXV2%2FqbWIs8I%3D"
    },
    "urls": {
      "web": {
        "user": "https://www.kickstarter.com/profile/cyberpunktcg"
      },
      "api": {
        "user": "https://api.kickstarter.com/v1/users/1409909020?signature=1776645157.900154d5d97f9fa53cf9f3ca350b0f7c4736d288"
      }
    }
  },
  "location": {
    "id": 2490383,
    "name": "Seattle",
    "slug": "seattle-wa",
    "short_name": "Seattle, WA",
    "displayable_name": "Seattle, WA",
    "localized_name": "Seattle",
    "country": "US",
    "state": "WA",
    "type": "Town",
    "is_root": false,
    "expanded_country": "United States",
    "urls": {
      "web": {
        "discover": "https://www.kickstarter.com/discover/places/seattle-wa",
        "location": "https://www.kickstarter.com/locations/seattle-wa"
      },
      "api": {
        "nearby_projects": "https://api.kickstarter.com/v1/discover?signature=1776633695.ddf9aeecb832bff87c740452194f97c679bdcd08&woe_id=2490383"
      }
    }
  },
  "category": {
    "id": 34,
    "name": "Tabletop Games",
    "analytics_name": "Tabletop Games",
    "slug": "games/tabletop games",
    "position": 6,
    "parent_id": 12,
    "parent_name": "Games",
    "color": 51627,
    "urls": {
      "web": {
        "discover": "http://www.kickstarter.com/discover/categories/games/tabletop%20games"
      }
    }
  },
  "video": {
    "id": 1420498,
    "status": "successful",
    "hls": "https://v2.kickstarter.com/1776555701-P2sKCSlnt%2Bwn5%2FHKpw2xTWgv4FcKUgifJ%2F1PfDz8%2BFQ%3D/projects/5275028/video-1420498-hls_playlist.m3u8",
    "hls_type": "application/x-mpegURL",
    "high": "https://v2.kickstarter.com/1776555701-P2sKCSlnt%2Bwn5%2FHKpw2xTWgv4FcKUgifJ%2F1PfDz8%2BFQ%3D/projects/5275028/video-1420498-h264_high.mp4",
    "high_type": "video/mp4; codecs=\"avc1.64001E, mp4a.40.2\"",
    "base": "https://v2.kickstarter.com/1776555701-P2sKCSlnt%2Bwn5%2FHKpw2xTWgv4FcKUgifJ%2F1PfDz8%2BFQ%3D/projects/5275028/video-1420498-h264_base.mp4",
    "base_type": "video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"",
    "tracks": "[]",
    "width": 1280,
    "height": 720,
    "frame": "https://d15chbti7ht62o.cloudfront.net/projects/5275028/video-1420498-h264_720.jpg?2026"
  },
  "profile": {
    "id": 5314504,
    "project_id": 5314504,
    "state": "inactive",
    "state_changed_at": 1768439922,
    "name": "The Official Cyberpunk Trading Card Game",
    "blurb": null,
    "background_color": null,
    "text_color": null,
    "link_background_color": null,
    "link_text_color": null,
    "link_text": null,
    "link_url": null,
    "show_feature_image": false,
    "background_image_opacity": 0.8,
    "should_show_feature_image_section": true,
    "feature_image_attributes": {
      "image_urls": {
        "default": "https://i.kickstarter.com/assets/052/962/122/fb44e775152d1c9d7be327a71301c8bd_original.png?anim=false&fit=cover&gravity=auto&height=873&origin=ugc&q=92&v=1773589748&width=1552&sig=3eyhDD0DrpHA7HuQOGoFNBRQkkKN4pwNNmZaL1R%2B%2FMw%3D",
        "baseball_card": "https://i.kickstarter.com/assets/052/962/122/fb44e775152d1c9d7be327a71301c8bd_original.png?anim=false&fit=cover&gravity=auto&height=315&origin=ugc&q=92&v=1773589748&width=560&sig=TAhT2%2BrlO%2FXY7ztmcL4RPa6lU71%2FTtE2iZG4xBKCcI0%3D"
      }
    }
  },
  "spotlight": true,
  "urls": {
    "web": {
      "project": "https://www.kickstarter.com/projects/cyberpunktcg/the-official-cyberpunk-trading-card-game",
      "rewards": "https://www.kickstarter.com/projects/cyberpunktcg/the-official-cyberpunk-trading-card-game/rewards"
    }
  },
  "percent_funded": 27217.127,
  "is_liked": false,
  "is_disliked": false,
  "is_launched": true,
  "prelaunch_activated": true,
  "extraction_date": "04/19/2026",
  "extraction_datetime": "2026-04-19T00:33:54.635742+00:00"
}
```

### Data table

| Field | Format | Description |
|---|---|---|
| `id` | Integer | Unique Kickstarter project ID |
| `name` | String | Project title |
| `blurb` | String | Short project description |
| `state` | String | Project status: `live`, `successful`, `failed`, `canceled`, `submitted` |
| `slug` | String | URL slug (use to build project URL) |
| `goal` | Number | Funding goal in local currency |
| `pledged` | Number | Total amount pledged in local currency |
| `usd_pledged` | String | Total pledged converted to USD |
| `converted_pledged_amount` | Integer | Pledged amount converted to the viewer's current currency |
| `percent_funded` | Number | Percentage of goal funded |
| `backers_count` | Integer | Number of backers |
| `currency` | String | ISO currency code of the project (e.g. `USD`, `GBP`) |
| `currency_symbol` | String | Currency symbol (e.g. `$`, `£`) |
| `currency_trailing_code` | Boolean | Whether the currency code appears after the amount |
| `current_currency` | String | Viewer's current display currency |
| `static_usd_rate` | Number | Exchange rate from project currency to USD at time of launch |
| `fx_rate` | Number | Current exchange rate from project currency to viewer's currency |
| `usd_exchange_rate` | Number | Exchange rate used for USD conversion |
| `usd_type` | String | USD pricing type (e.g. `international`); `null` for US projects |
| `deadline` | Timestamp | Campaign end date (Unix timestamp) |
| `launched_at` | Timestamp | Campaign launch date (Unix timestamp) |
| `created_at` | Timestamp | Project creation date (Unix timestamp) |
| `state_changed_at` | Timestamp | Date when the project state last changed (Unix timestamp) |
| `staff_pick` | Boolean | Whether Kickstarter staff picked this project |
| `spotlight` | Boolean | Whether the project is featured in Kickstarter Spotlight |
| `is_starrable` | Boolean | Whether the current user can star/follow this project |
| `is_launched` | Boolean | Whether the project has been publicly launched |
| `is_liked` | Boolean | Whether the current user has liked this project |
| `is_disliked` | Boolean | Whether the current user has disliked this project |
| `is_in_post_campaign_pledging_phase` | Boolean | Whether the project is in a late-pledge phase |
| `prelaunch_activated` | Boolean | Whether the project is in pre-launch mode |
| `disable_communication` | Boolean | Whether backer messaging is disabled for this project |
| `country` | String | ISO country code of the creator |
| `country_displayable_name` | String | Human-readable country name (e.g. `the United States`) |
| `creator` | Object | Creator ID, name, slug, avatar, and profile URLs |
| `location` | Object | Project location — name, country, state, type, and Kickstarter woe\_id |
| `category` | Object | Category name, slug, ID, parent ID, and parent name |
| `photo` | Object | Project image URLs in multiple resolutions (thumb, small, med, ed, full, 1024×576, 1536×864) |
| `video` | Object | Video URLs (HLS stream, high/base MP4, frame thumbnail) and dimensions — `null` if no video |
| `profile` | Object | Project profile page settings (background color, feature image, display flags) |
| `urls` | Object | Web URLs for the project page and rewards page |
| `extraction_date` | String | Date the record was scraped (MM/DD/YYYY) |
| `extraction_datetime` | String | Full ISO 8601 datetime the record was scraped |

### Pricing and cost estimation

Kickstarter Advanced Scraper uses **pay-per-event pricing** — you only pay for the projects you actually scrape, with no monthly subscription.

| Volume | Cost |
|---|---|
| 100 projects | $0.40 |
| 1,000 projects | $3.99 |
| 5,000 projects | $19.95 |
| 10,000 projects | $39.90 |

**$3.99 per 1,000 projects scraped.** No idle charges, no minimum commitment — run it once or a thousand times.

**Unlike other Kickstarter scrapers, no proxy subscription is required**, which saves you $10–$30/month in additional costs.

### Tips and advanced options

#### Maximize speed

- Leave **Max Results** at the default (100) for quick research runs.
- For large exports (10,000+), set **Sort Order** to `newest` or `most_funded` to get the most relevant items first.

#### Avoid duplicates across runs

- Set the **Pagination Seed** to the same integer value across multiple runs searching the same keyword. This locks Kickstarter's pagination so page 2 of run A and page 2 of run B return the same results.
- Leave the seed blank on first run — the scraper logs the seed used so you can copy it into subsequent runs.

#### Combine filters for precision

Kickstarter's advanced engine supports all filters simultaneously. For example:

- `state=live` + `category_id=344` (Tabletop Games) + `raised=2` (75–100% funded) = live tabletop campaigns close to their goal
- `state=successful` + `pledged=4` (>$1M) + `sort=most_backed` = blockbuster campaigns sorted by backer count

#### Schedule recurring runs

Use Apify's built-in **Scheduler** to run the scraper daily or weekly and track how campaigns evolve over time. Combine with [Apify integrations](https://apify.com/integrations) to push data to Google Sheets, Slack, or a database automatically.

### FAQ, disclaimers, and support

#### Is scraping Kickstarter legal?

Web scraping publicly available data is generally legal in most jurisdictions. This scraper only accesses publicly visible project pages that any visitor can see without logging in. Always review [Kickstarter's Terms of Service](https://www.kickstarter.com/terms-of-service) and your local laws before use. Never use scraped data to process personal information without a lawful basis.

#### Does this scraper require proxies?

No. Kickstarter Advanced Scraper works without any proxy configuration — saving you significant cost compared to alternatives that require Apify Proxy or external proxy subscriptions.

#### Why am I getting fewer results than expected?

Kickstarter's search index may return fewer projects than the total hit count for highly specific filter combinations. Try relaxing one or two filters (e.g., remove the `pledged` range) to broaden results.

#### Can I scrape project detail pages (rewards, full descriptions, updates)?

The current version scrapes search result data, which includes all fields embedded in Kickstarter's discovery engine. Full project detail page scraping (reward tiers, updates, comments) is on the roadmap — open a request in the Issues tab or contact us for a custom solution.

#### I need custom features or a dedicated scraper

For enterprise use cases, custom output formats, or additional data sources, open an issue in the Issues tab on Apify Store or reach out directly via the platform.

# Actor input Schema

## `search_keyword` (type: `string`):

The keyword to search for on Kickstarter (e.g. "chess", "board games", "3D printer").

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

Filter projects by location. Enter a city or region name (e.g. "Chicago", "New York"). The scraper will resolve it to a Kickstarter location ID automatically.

## `max_results` (type: `integer`):

Maximum number of projects to scrape. Set to 0 for unlimited.

## `state` (type: `string`):

Filter by the current status of the project.

## `category_id` (type: `string`):

Filter by a top-level category. Leave unset to search all categories.

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

Filter projects by the total amount pledged so far.

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

Filter projects by their funding goal amount.

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

Filter projects by the percentage of their goal they have raised.

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

How to sort the search results.

## `seed` (type: `integer`):

Random seed for deterministic pagination. Useful when scraping multiple pages to avoid duplicates. Leave empty to let Kickstarter assign one.

## Actor input object example

```json
{
  "search_keyword": "chess",
  "max_results": 100,
  "state": "",
  "category_id": "",
  "pledged": "",
  "goal": "",
  "raised": "",
  "sort": "magic"
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {
    "search_keyword": "chess"
};

// Run the Actor and wait for it to finish
const run = await client.actor("datacach/kickstarter-advanced-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 = { "search_keyword": "chess" }

# Run the Actor and wait for it to finish
run = client.actor("datacach/kickstarter-advanced-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 '{
  "search_keyword": "chess"
}' |
apify call datacach/kickstarter-advanced-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Kickstarter Advanced Scraper",
        "description": "Scrape Kickstarter projects with advanced filters: category, status, location, funding goal & % raised. Extracts structured JSON data at scale. No proxy required.",
        "version": "0.1",
        "x-build-id": "7D5IZhTbi5ISFqGwf"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/datacach~kickstarter-advanced-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-datacach-kickstarter-advanced-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/datacach~kickstarter-advanced-scraper/runs": {
            "post": {
                "operationId": "runs-sync-datacach-kickstarter-advanced-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/datacach~kickstarter-advanced-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-datacach-kickstarter-advanced-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": [
                    "search_keyword"
                ],
                "properties": {
                    "search_keyword": {
                        "title": "Search Keyword",
                        "minLength": 1,
                        "type": "string",
                        "description": "The keyword to search for on Kickstarter (e.g. \"chess\", \"board games\", \"3D printer\")."
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Filter projects by location. Enter a city or region name (e.g. \"Chicago\", \"New York\"). The scraper will resolve it to a Kickstarter location ID automatically."
                    },
                    "max_results": {
                        "title": "Max Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of projects to scrape. Set to 0 for unlimited.",
                        "default": 100
                    },
                    "state": {
                        "title": "Project Status",
                        "enum": [
                            "",
                            "live",
                            "successful",
                            "upcoming",
                            "late_pledge"
                        ],
                        "type": "string",
                        "description": "Filter by the current status of the project.",
                        "default": ""
                    },
                    "category_id": {
                        "title": "Category",
                        "enum": [
                            "",
                            "1",
                            "287",
                            "20",
                            "21",
                            "22",
                            "288",
                            "54",
                            "23",
                            "24",
                            "53",
                            "25",
                            "395",
                            "289",
                            "290",
                            "3",
                            "249",
                            "250",
                            "251",
                            "252",
                            "253",
                            "26",
                            "343",
                            "344",
                            "345",
                            "346",
                            "347",
                            "348",
                            "350",
                            "351",
                            "352",
                            "353",
                            "354",
                            "355",
                            "356",
                            "6",
                            "254",
                            "255",
                            "256",
                            "257",
                            "7",
                            "258",
                            "259",
                            "27",
                            "260",
                            "28",
                            "396",
                            "261",
                            "9",
                            "262",
                            "263",
                            "264",
                            "265",
                            "266",
                            "267",
                            "268",
                            "269",
                            "11",
                            "291",
                            "29",
                            "292",
                            "30",
                            "293",
                            "294",
                            "330",
                            "296",
                            "295",
                            "297",
                            "298",
                            "299",
                            "31",
                            "300",
                            "301",
                            "32",
                            "303",
                            "302",
                            "33",
                            "10",
                            "304",
                            "305",
                            "306",
                            "307",
                            "308",
                            "310",
                            "309",
                            "311",
                            "312",
                            "313",
                            "314",
                            "315",
                            "12",
                            "270",
                            "271",
                            "272",
                            "273",
                            "274",
                            "34",
                            "35",
                            "13",
                            "357",
                            "358",
                            "359",
                            "360",
                            "361",
                            "14",
                            "316",
                            "317",
                            "36",
                            "386",
                            "37",
                            "38",
                            "318",
                            "39",
                            "40",
                            "41",
                            "319",
                            "320",
                            "241",
                            "42",
                            "321",
                            "322",
                            "43",
                            "44",
                            "15",
                            "275",
                            "276",
                            "277",
                            "278",
                            "280",
                            "279",
                            "18",
                            "323",
                            "324",
                            "45",
                            "325",
                            "46",
                            "387",
                            "47",
                            "349",
                            "326",
                            "389",
                            "48",
                            "49",
                            "50",
                            "239",
                            "327",
                            "328",
                            "329",
                            "16",
                            "331",
                            "332",
                            "333",
                            "334",
                            "335",
                            "336",
                            "337",
                            "52",
                            "362",
                            "338",
                            "51",
                            "339",
                            "340",
                            "341",
                            "342",
                            "17",
                            "388",
                            "281",
                            "282",
                            "283",
                            "284",
                            "285",
                            "286"
                        ],
                        "type": "string",
                        "description": "Filter by a top-level category. Leave unset to search all categories.",
                        "default": ""
                    },
                    "pledged": {
                        "title": "Amount Pledged",
                        "enum": [
                            "",
                            "0",
                            "1",
                            "2",
                            "3",
                            "4"
                        ],
                        "type": "string",
                        "description": "Filter projects by the total amount pledged so far.",
                        "default": ""
                    },
                    "goal": {
                        "title": "Funding Goal",
                        "enum": [
                            "",
                            "0",
                            "1",
                            "2",
                            "3",
                            "4"
                        ],
                        "type": "string",
                        "description": "Filter projects by their funding goal amount.",
                        "default": ""
                    },
                    "raised": {
                        "title": "Percentage Raised",
                        "enum": [
                            "",
                            "0",
                            "1",
                            "2"
                        ],
                        "type": "string",
                        "description": "Filter projects by the percentage of their goal they have raised.",
                        "default": ""
                    },
                    "sort": {
                        "title": "Sort Order",
                        "enum": [
                            "magic",
                            "popularity",
                            "newest",
                            "end_date",
                            "most_funded",
                            "most_backed",
                            "distance"
                        ],
                        "type": "string",
                        "description": "How to sort the search results.",
                        "default": "magic"
                    },
                    "seed": {
                        "title": "Pagination Seed",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Random seed for deterministic pagination. Useful when scraping multiple pages to avoid duplicates. Leave empty to let Kickstarter assign one."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
