Kickstarter Campaigns Scraper
Pricing
from $2.40 / 1,000 results
Kickstarter Campaigns Scraper
Scrape Kickstarter reward-based crowdfunding campaigns by category or search term — funding progress, backer counts, creator, location, and optional reward-tier detail. One clean row per campaign. Built for market researchers and crowdfunding trend-spotters.
Pricing
from $2.40 / 1,000 results
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
🎯 What this scrapes
Kickstarter has no official public API for campaign discovery — we read the site's own internal discovery endpoint and the campaign-detail payload embedded in each project page, so you get structured funding progress, backer counts, creator and location data, and (optionally) full reward-tier and add-on detail without hand-scraping the Discover page yourself.
🔥 What we handle for you
- 🛡️ Browser fingerprint rotation + cookie warmup —
curl-cffiimpersonates real Chrome / Firefox / Safari TLS handshakes and warms cookies on the public Discover page before every session, so Kickstarter's internal endpoints see a real browser. - 🧩 We parse Kickstarter's undocumented wire format for you — the JSON-and-unicode-escaped
window.current_projectpayload embedded in each project page, isolated in one parser module so a format change doesn't break your pipeline. - 🔁 Retries with exponential backoff on
408 / 429 / 503— up to 5 attempts, fresh session on every retry. - 🧱 A single bad reward-tier page never drops a row — you get listing-only fields with a clear log instead of a failed run.
- 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable IDs, JSON / CSV / Excel export straight from the Apify Console.
- 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.
💡 Use cases
- Competitive product-launch tracking — monitor new campaigns in your category before they hit the mainstream press.
- Crowdfunding trend-spotting — pull a category's live campaigns to see what's gaining traction and how fast.
- Market research — analyze funding goals, pledge velocity, and backer counts across a niche before launching your own campaign.
- Reward-tier benchmarking — compare pricing and reward structures across competing campaigns in the same category.
⚙️ How to use it
- Click Try for free at the top of the page.
- Fill in the input form — most fields have sensible defaults.
- Click Start. Output streams into the run's dataset.
- Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
category | string | no | 'technology' | Kickstarter category slug to filter by. Leave unset to browse the unfiltered feed. |
searchTerm | string | no | '—' | Free-text search query, combinable with Category. Leave empty to browse without a keyword filter. |
sort | string | no | 'magic' | Result ordering passed to Kickstarter's discovery endpoint. Only 'magic' is independently verified; the others follow… |
maxItems | integer | no | 50 | Hard cap on total campaigns returned across pagination — the priced dimension. |
includeRewardTiers | boolean | no | True | When true, fetches each campaign's detail page for reward tiers, add-ons, comments/updates counts, and tags. Roughly… |
proxyConfiguration | object | no | {'useApifyProxy': True} | Apify Proxy config. apifyProxyGroups is left unset (datacenter default) — no residential-proxy requirement observed for… |
Example input
{"category": "technology","maxItems": 3,"includeRewardTiers": true,"proxyConfiguration": {"useApifyProxy": true}}
📤 Output
Every row is one dataset item.
| Field | Type | Notes |
|---|---|---|
campaign_id | integer | Kickstarter's own numeric project ID. |
name | string | Campaign title. |
blurb | ['string', 'null'] | One-line campaign pitch. |
slug | string | Canonical URL slug for the campaign. |
state | string | live / successful / failed / canceled / suspended. |
goal_usd | number | Funding goal, normalized to USD. |
pledged_usd | number | Amount pledged so far, normalized to USD. |
percent_funded | number | Percent of goal funded; derived from pledged/goal when not present on the payload. |
backers_count | integer | Number of backers. |
currency | string | Campaign's native currency code. |
country | string | Campaign's country code. |
deadline | string | ISO-8601 campaign deadline. |
created_at | string | ISO-8601 campaign creation timestamp. |
launched_at | string | ISO-8601 campaign launch timestamp. |
staff_pick | boolean | Whether Kickstarter staff featured this campaign. |
creator_id | integer | Creator's numeric Kickstarter ID. |
creator_name | string | Creator display name. |
location_name | ['string', 'null'] | Creator/campaign location display name. |
location_state | ['string', 'null'] | Location state/province, when disclosed. |
location_country | ['string', 'null'] | Location country code, when disclosed. |
category_id | integer | Kickstarter numeric category ID. |
category_name | string | Kickstarter category name. |
category_parent_name | ['string', 'null'] | Parent category name, when the category is a subcategory. |
project_url | string | Canonical campaign detail URL. |
image_url | ['string', 'null'] | Campaign cover photo URL. |
comments_count | ['integer', 'null'] | Comment count from the detail page; null when reward tiers were not fetched. |
updates_count | ['integer', 'null'] | Update-post count from the detail page; null when reward tiers were not fetched. |
tags | array | Campaign tags from the detail page; empty list when not fetched. |
reward_tiers | ['array', 'null'] | List of reward-tier objects (reward_id, title, minimum_usd, description, backers_count, estimated_delivery,… |
scraped_at | string | ISO-8601 UTC timestamp when this row was recorded. |
Example output
{"campaign_id": 1234567890,"name": "Nomad Drone: The Foldable 4K Explorer","blurb": "A pocket-sized 4K drone that folds flat and flies for 40 minutes.","slug": "nomad-drone-4k-explorer","state": "live","goal_usd": 25000.0,"pledged_usd": 41823.5,"percent_funded": 167.29,"backers_count": 612,"currency": "USD","country": "US","deadline": "2026-09-01T17:00:00Z","created_at": "2026-06-10T14:22:00Z","launched_at": "2026-07-05T15:00:00Z","staff_pick": true,"creator_id": 987654321,"creator_name": "Nomad Aero Labs","location_name": "Austin, TX","location_state": "TX","location_country": "US","category_id": 16,"category_name": "Gadgets","category_parent_name": "Technology","project_url": "https://www.kickstarter.com/projects/987654321/nomad-drone-4k-explorer","image_url": "https://ksr-ugc.imgix.net/assets/example.jpg","comments_count": 214,"updates_count": 9,"tags": ["Editor's Pick"],"reward_tiers": [{"reward_id": 111,"title": "Early Bird Nomad Drone","minimum_usd": 149.0,"description": "One Nomad Drone at the early-bird price. Ships worldwide.","backers_count": 340,"estimated_delivery": "2026-12-01T00:00:00Z","shipping_enabled": true,"available": true}],"scraped_at": "2026-08-02T09:15:00Z"}
💰 Pricing
Pay-Per-Event — you pay only when these events fire:
| Event | USD | What it is |
|---|---|---|
actor-start | $0.02 | One-off warm-up charge per run |
result-row | $0.0024 | Per unique dataset item |
Example: 1 000 results at the rates above ≈ $2.42. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.
🚧 Limitations
Authenticated / backer-only data (pledge history, backer identities, private survey responses) is out of scope. Comment thread content and update post content are not scraped — only comments_count and updates_count. Non-USD currency conversion is limited to what Kickstarter's own payload already provides. Each run is a fresh snapshot; historical/time-series tracking across runs is on the buyer via scheduling.
❓ FAQ
Do I need to provide a category or search term?
No — both are optional. Leave both empty to browse Kickstarter's unfiltered, magic-sorted campaign feed.
What does includeRewardTiers add?
It fetches each campaign's own project page for reward_tiers, add-ons, comments_count, updates_count, and tags. It roughly doubles request volume, so turn it off if you only need funding-progress fields.
Is percent_funded always present?
Kickstarter doesn't always include it in the listing payload — when it's missing we derive it as pledged / goal * 100.
Can I get backer identities or pledge history?
No — that data requires an authenticated backer session and is out of scope. This Actor only reads Kickstarter's public campaign data.
💬 Your feedback
Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.