Kickstarter Scraper
Pricing
from $6.00 / 1,000 campaign rows
Kickstarter Scraper
Scrape Kickstarter campaigns — funding, backers, deadlines, reward tiers, creator history, full story, risks, and FAQ answers. Filter by keyword, category, state (live to prelaunch), country, or paste any discover URL. Optional creator contact emails. JSON or CSV out.
Pricing
from $6.00 / 1,000 campaign rows
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

Track live, funded, failed, and prelaunch Kickstarter campaigns at scale — straight from Kickstarter's public discover feed into structured JSON. Each row carries the campaign identity, funding totals, backer counts, lifecycle dates, category, creator, and country; optional enrichment adds full reward tiers, update/comment/FAQ counts, creator history, and even the creator's own website and contact email. Filter by search term, category, state, country, and funding thresholds so you only pay for the campaigns you actually want.
How it works

✨ Why use this scraper?
- Pure JSON pipeline — campaigns come from Kickstarter's own discover feed and embedded project JSON, not brittle CSS selectors. Layout redesigns don't break the dataset.
- Six lifecycle states — live, successful, failed, canceled, upcoming (prelaunch), or all. Scout campaigns before they launch or mine years of funded history.
- Funding filters that save you money — minimum percent funded, minimum backers, minimum USD pledged, launched-within-N-days. Filtered rows are never charged.
- Full reward-tier extraction — tier title, price (native + USD), backers per tier, availability, estimated delivery, shipping type, and included items.
- Story, risks, and FAQ answers — opt-in fetch of the complete campaign story (HTML + plain text), the "Risks and challenges" section, and FAQ questions with their answers. No other Kickstarter actor outputs FAQ answers.
- Creator intelligence — lifetime launched + backed counts, biography, last login, and the creator's own website(s), with an opt-in contact-email finder for outreach lists.
- Monitoring-ready — optional cross-run dedupe remembers pushed project ids, so a scheduled run only delivers newly discovered campaigns.
🎯 Use cases
| Who | What they do with it |
|---|---|
| Product scout / white-label buyer | Filter category + minPercentFunded: 100 to find proven products; contact creators near fulfilment. |
| Manufacturer / fulfilment provider | Track design and tech campaigns crossing funding goals; pitch production when momentum is proven. |
| Trend hunter / analyst | Weekly digest per category; watch staffPick + funding velocity for editorially flagged breakouts. |
| Hardware VC | Deal flow by category and funding velocity; creatorLaunchedCount ≥ 2 surfaces repeat founders. |
| E-commerce founder | Reverse-engineer competitor pricing ladders from reward tiers in your niche. |
| Crowdfunding agency | Pitch services to live campaigns under 50% funded; the email enrichment builds the outreach list. |
| Backer / collector | Track prelaunch (upcoming) pages in favourite categories before campaigns go live. |
📥 Supported inputs
| Input | Example | What happens |
|---|---|---|
| Discover/browse URLs | https://www.kickstarter.com/discover/advanced?category_id=16&sort=newest | Filters are parsed straight from the pasted URL (category, state, term, sort, country, location, staff picks) |
| Search terms | ["smart home", "board game"] | Each term becomes a discover search seed |
| Categories | ["technology", "games"] | 15 top-level categories (slugs or numeric ids) |
| States | ["live", "upcoming"] | Each state × category × term combination is crawled |
| Country | "JP" | ISO 3166-1 alpha-2, combines with everything above |
| Project URLs | https://www.kickstarter.com/projects/{creator}/{slug} | Skips discovery, fetches the page directly (always fully enriched) |
Not supported: creator profile URLs, private/draft campaigns, anything behind a Kickstarter login.
🔄 How it works
- Build seeds — one discover query per state × category × term combination, plus your country filter and sort.
- Walk the feed — each seed paginates Kickstarter's public discover JSON (12 campaigns per page, up to ~200 pages per combination). The result shuffle is seed-pinned after page 1, so pagination never skips or repeats campaigns mid-run.
- Filter — funding-threshold and recency filters run before anything is charged.
- Enrich (optional) — one project-page fetch per campaign adds reward tiers, add-on count, update/comment/FAQ counts, tags, creator history, biography, and websites.
- Find contacts (optional) — the email finder scrapes the creator's own website (or discovers it from the creator name) for a contact email.
- Push — one merged row per campaign to the dataset. JSON, CSV, or Excel out.
⚙️ Input parameters
| Field | Type | Default | What it does |
|---|---|---|---|
startUrls | string[] | — | Pasted kickstarter.com URLs — discover/browse URLs and project URLs both work. |
queries | string[] | — | Free-text search terms. |
categories | string[] | — | Top-level category slugs or numeric ids. Empty = all. |
projectUrls | string[] | — | Direct project URLs; always fully enriched. |
states | string[] | ["live"] | live, successful, failed, canceled, upcoming, all. |
sort | enum | magic | magic, popularity, newest, end_date, most_funded, most_backed. |
country | string | — | ISO 3166-1 alpha-2 country code. |
staffPicksOnly | boolean | false | Only "Projects We Love" — applied server-side, filtered campaigns are never charged. |
locationWoeid | integer | 0 | City/region filter (Yahoo WOEID, e.g. 44418 = London) — Kickstarter's own location filter. |
minPercentFunded | integer | 0 | Floor on funding percent (100 = fully funded only). |
minBackers | integer | 0 | Floor on backer count. |
minPledgedUsd | integer | 0 | Floor on USD pledged. |
launchedWithinDays | integer | 0 | Only campaigns launched in the last N days. |
fetchDetails | boolean | false | Reward tiers + counts + creator history per campaign. |
fetchStory | boolean | false | Full story HTML + text, "Risks and challenges", FAQ questions and answers, environmental commitments. |
enrichEmails | boolean | false | Opt-in creator contact-email finder (implies fetchDetails). Billed only when a contact is found — $0.005 per found contact, never for misses. |
qualifyByPayment | boolean | false | Requires enrichEmails. Flags whether the creator's site takes money online (Stripe, Shopify, PayPal, …) — adds takesPayments, paymentProcessors, paymentConfidence. No charge beyond the enrichment. |
dedupeAcrossRuns | boolean | false | Skip project ids pushed by previous runs. |
maxItems | integer | 1000 | Hard cap on rows per run. |
maxPagesPerSeed | integer | 200 | Pages of 12 walked per seed combination. |
maxConcurrency | integer | 10 | Parallel HTTP requests. |
proxy | object | Apify residential | Proxy settings for larger runs. |
📊 Output overview
One row per campaign. The canonical core (identity → lifecycle → funding → signals → classification → creator → geo → media → provenance) is always present in the same order, with null for anything the source doesn't carry — columns never disappear between rows. Enrichment fields (rewards, counts, creator history, contact email) are appended after the core when enabled. sourceState / sourceCategory / sourceTerm / sourceCountry record which of your filter combinations produced each row.
📦 Output sample
{"type": "campaign","source": "kickstarter","projectId": "452041358","projectKey": "innodigym/omni-x1-best-all-in-one-smart-cable-training-machine","slug": "omni-x1-best-all-in-one-smart-cable-training-machine","url": "https://www.kickstarter.com/projects/innodigym/omni-x1-best-all-in-one-smart-cable-training-machine","name": "OMNI X1: Beyond Real Strength All-in-One Smart Gym Machine","blurb": "Feels Like the Gym, Trains Beyond It. A precision-engineered all-in-one system with smart assist to master every rep at home.","state": "live","createdAt": "2025-12-14T16:54:34.000Z","launchedAt": "2026-06-23T15:00:30.000Z","deadline": "2026-08-07T15:00:30.000Z","daysLeft": 28,"currency": "HKD","pledged": 14162387,"goal": 78392,"usdPledged": 1806639.2,"percentFunded": 18066.11,"backers": 717,"spotlight": false,"staffPick": true,"category": "Hardware","categorySlug": "technology/hardware","parentCategory": "Technology","creatorId": "683568596","creatorName": "INNODIGYM","creatorUrl": "https://www.kickstarter.com/profile/innodigym","country": "HK","countryName": "Hong Kong","location": "Hong Kong, Hong Kong","photo": "https://i.kickstarter.com/assets/053/677/189/…_original.jpg","sourceState": "live","sourceCategory": "technology","scrapedAt": "2026-07-10T22:30:13.431Z","rewards": [{"rewardId": 11264106,"title": "VIP Offer: OMNI X1 Basic","amount": 12531,"amountUsd": 1190,"backersCount": 1,"available": true,"estimatedDelivery": "2026-07-31","shippingType": "anywhere","items": ["OMNI X1 Basic", "Instructions"]}],"rewardsCount": 11,"addOnsCount": 15,"updatesCount": 4,"commentsCount": 427,"faqCount": 17,"creatorLaunchedCount": 2,"creatorBackedCount": 0,"creatorWebsites": ["https://www.innodigym.com"],"creatorLastLogin": "2026-07-10T08:16:05.000Z"}
🗂 Key output fields
| Group | Fields |
|---|---|
| Identity | projectId, projectKey (creator/slug — canonical across reissues), slug, url, name, blurb |
| Lifecycle | state, createdAt, launchedAt, deadline, stateChangedAt, daysLeft |
| Funding | currency, pledged, goal, usdPledged, convertedPledgedAmount, percentFunded, backers |
| Signals | spotlight, staffPick (Projects We Love), prelaunchActivated, inPostCampaignPledging |
| Classification | category, categorySlug, parentCategory, categoryId |
| Creator | creatorId, creatorName, creatorSlug, creatorUrl |
| Geo | country, countryName, location, locationCountry, locationState |
Enrichment (fetchDetails) | rewards[], rewardsCount, addOnsCount, updatesCount, commentsCount, faqCount, tags[], creatorLaunchedCount, creatorBackedCount, creatorBiography, creatorWebsites[], creatorLastLogin |
Story (fetchStory) | story (HTML), storyText, risks, faqs[] (question + answer), environmentalCommitments[] |
Contacts (enrichEmails) | contactEmail, contactWebsite, emailEnrichment; with qualifyByPayment: takesPayments, paymentProcessors, stripeLiveKey, paymentConfidence |
| Provenance | sourceState, sourceCategory, sourceTerm, sourceCountry, scrapedAt |
❓ FAQ
Do I need a Kickstarter account? No. The actor only reads the public discover feed and public project pages — nothing behind a login.
Can I track a campaign's funding over time?
Yes — run the actor on an Apify schedule with the same filters and store snapshots keyed on projectId, then plot pledged / backers / percentFunded over time. Leave dedupeAcrossRuns off so rows refresh each run.
How do I only get newly discovered campaigns on a schedule?
Turn dedupeAcrossRuns on. Pushed project ids are remembered in a named key-value store and skipped on later runs.
Does it cover prelaunch pages?
Yes — states: ["upcoming"] returns prelaunch campaigns for early scouting. These rows have launchedAt: null and no funding totals yet, but carry the creator and category for outreach.
How reliable is the contact-email finder, and what does it cost? Best-effort. When the creator lists their own website on the project page, that site is scraped directly (highest hit rate); otherwise the finder tries to discover the site from the creator name. You're only billed when a contact is actually found — $0.005 per found contact via the "Additional data" event, never for misses. Rows without a findable email simply omit the contact fields at no charge.
Will Kickstarter block the scraper? The discover feed is a public JSON endpoint and tolerates normal volumes. For large runs (thousands of enriched campaigns), keep the default residential proxy setting — Kickstarter throttles datacenter IP ranges past a few hundred fast requests.
Why do I get fewer rows than maxItems?
Your funding filters run before rows are pushed, and Kickstarter caps each filter combination near 200 pages (~2,400 campaigns). Split a big pull across more categories/states/terms to widen coverage.
💬 Support
- 🐛 Found a bug or need a field added? Open an issue on the actor's Issues tab: https://apify.com/memo23/kickstarter-scraper/issues
- 💬 Custom scraping needs (Indiegogo, other crowdfunding platforms, bespoke pipelines)? Message me through the actor page.
🛠 Additional services
- Custom actor development for any directory or listing site
- Managed data delivery: schedules, webhooks, direct-to-warehouse exports
- Merging this dataset with ProductHunt launches, Amazon listings, or Etsy comps
🔎 Explore more scrapers
Check my Apify profile for 250+ actors covering jobs, real estate, reviews, e-commerce, and lead generation: https://apify.com/memo23
🤖 For AI Agents & LLM Apps
Purpose: structured Kickstarter campaign data — funding, backers, dates, reward tiers, creator history, story text, contact emails — from search filters or pasted URLs.
Minimal tested input:
{ "categories": ["technology"], "states": ["live"], "minPercentFunded": 100, "maxItems": 25 }
Or paste any URL: { "startUrls": ["https://www.kickstarter.com/discover/advanced?category_id=16&sort=newest"] }
Output fields (flat, one row per campaign): projectId, projectKey, name, blurb, url, state, launchedAt, deadline, daysLeft, currency, pledged, goal, usdPledged, percentFunded, backers, spotlight, staffPick, category, parentCategory, creatorId, creatorName, creatorUrl, country, location, photo, videoUrl, scrapedAt — plus with fetchDetails: true: rewards[], rewardsCount, updatesCount, commentsCount, faqCount, creatorLaunchedCount, creatorBackedCount, creatorWebsites[]; with fetchStory: true: story, storyText, risks, faqs[]; with enrichEmails: true: contactEmail, contactWebsite.
Billing: $0.006 per campaign row + $0.005 actor start; enrichEmails adds $0.005 per contact actually found (never for misses). Enrichment toggles add requests, not per-row charges.
Agent-relevant behaviors: funding filters (minPercentFunded, minBackers, minPledgedUsd, launchedWithinDays) drop rows before they're charged. states: ["upcoming"] returns prelaunch campaigns with launchedAt: null. dedupeAcrossRuns: true makes scheduled runs emit only newly discovered campaigns. Rows stream to the dataset as scraped — read partial results any time.
💰 Pricing
| Event | When charged | Rate |
|---|---|---|
| Campaign row | Each campaign pushed to the dataset | $0.006 |
| Actor start | Once per run, per GB of memory | $0.005 |
| Additional data | Only when a contact email is actually found (enrichEmails) | $0.005 per found contact |
Reward tiers, counts, creator history, and story enrichment are included in the campaign-row price — no extra per-row charge.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Kickstarter, PBC or any of its subsidiaries or affiliates. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available campaign pages and the public discover feed — no authenticated endpoints, backer-only content, or anything behind a Kickstarter login. Users are responsible for ensuring their use complies with Kickstarter's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organisation.
SEO Keywords
kickstarter scraper, scrape kickstarter, kickstarter api, kickstarter campaign tracker, kickstarter data export, crowdfunding intelligence, crowdfunding market research, kickstarter trend tracker, kickstarter funding tracker, kickstarter reward tiers data, kickstarter creator contact, crowdfunding deal flow, hardware deal flow, product scouting tool, kickstarter prelaunch tracker, kickstarter category report, kickstarter competitor analysis, kicktraq alternative, kickstarter campaign intelligence, Apify kickstarter actor