Kickstarter API endpoint
Returns one Kickstarter campaign's detail: funding snapshot (goal, pledged, percent funded, backers, state, dates), category, creator, cover photo, story text, risks & challenges, update/comment/FAQ counts, and reward/pledge tiers. creator and slug are the two path segments of the project URL, e.g. lookingglass and musubi for kickstarter.com/projects/lookingglass/musubi. Reward tiers are best-effort -- see the endpoint's documentation for when they may be omitted.
/kickstarter/projectQuery parameters:
creator: required. The creator path segment of the project URL, for example lookingglass in kickstarter.com/projects/lookingglass/musubi.slug: required. The project slug path segment of the project URL, for example musubi in kickstarter.com/projects/lookingglass/musubi.Returns one Kickstarter campaign's detail: the story, risks & challenges, creator, category, and update/comment/FAQ counts, the exact state/backers_count/pledged/comments_count, goal/percent_funded/category/location detail, and a best-effort capture of the campaign's reward/pledge tiers — see "Notable response behavior" below.
Notable response behavior:
story and risks_and_challenges are the campaign's own text, available on both live and completed campaigns.updates_count, comments_count, and faq_count come from the project page's own navigation tab labels, with comments_count/backers_count/pledged/state then refined by the campaign's own exact-match live-stats source when available.goal, percent_funded, staff_pick, spotlight, created_at, launched_at, deadline, usd_pledged, and converted_pledged_amount are sourced from a discover/advanced search matched by an EXACT slug — a fuzzy lookup that can occasionally miss an older or lightly-indexed campaign, in which case those specific fields are left at their zero value rather than failing the whole request.reward_tiers lists the campaign's reward tiers (each tier's id, name, description, amount, currency, backers_count, estimated_delivery_on, image, shipping fields, remaining_quantity, limit, available, featured, items (the reward's own contents), and add_ons). Best-effort: omitted from the response (not an error) when the capture misses or the campaign genuinely has no reward tiers (e.g. a completed or donation-only project) — the two are indistinguishable from this endpoint's point of view.creator/slug pair returns 404. A page Kickstarter blocks/challenges, or an unparseable response, returns a 503 upstream error.| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| creator | string | Yes | Creator path segment of the project URL | lookingglass | |
| slug | string | Yes | Project slug path segment of the project URL | musubi | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/kickstarter/project?creator=lookingglass&slug=musubi" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": 1114436418,
"name": "musubi: the first consumer holographic frame",
"slug": "musubi",
"url": "https://www.kickstarter.com/projects/lookingglass/musubi",
"blurb": "Turn any photo into a hologram.",
"state": "successful",
"goal": 50000,
"pledged": 423762.5,
"percent_funded": 847,
"backers_count": 3009,
"category": {
"name": "Technology",
"url": "https://www.kickstarter.com/discover/categories/technology"
},
"creator": {
"name": "Looking Glass",
"url": "https://www.kickstarter.com/profile/lookingglass"
},
"story": "Turn any photo or video into a hologram. No subscription required.",
"risks_and_challenges": "The largest risk is manufacturing scale.",
"updates_count": 12,
"comments_count": 34,
"faq_count": 8,
"has_video": true,
"reward_tiers": [
{
"id": "UmV3YXJkLTExMDQ1MDc4",
"name": "LAUNCH DAY SPECIAL",
"description": "Save $50 off MSRP. Shipping charged separately after campaign ends.",
"amount": 99,
"currency": "USD",
"backers_count": 998,
"estimated_delivery_on": "2026-06-01",
"shipping_enabled": true,
"shipping_preference": "unrestricted",
"shipping_summary": "Anywhere in the world",
"items": [
{
"name": "musubi holographic photo and video frame",
"quantity": 1
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/kickstarter.projectResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | kickstarter.Project | No | ||||
| data.backers_count | integer | No | ||||
| data.blurb | string | No | ||||
| data.category | kickstarter.Category | No | ||||
| data.category.id | integer | No | ||||
| data.category.name | string | No | Technology | |||
| data.category.parent_id | integer | No | ||||
| data.category.slug | string | No | technology | |||
| data.category.url | string | No | ||||
| data.comments_count | integer | No | ||||
| data.converted_pledged_amount | number | No | ||||
| data.country | string | No | US | |||
| data.created_at | string | No | ||||
| data.creator | kickstarter.Creator | No | ||||
| data.creator.avatar | string | No | ||||
| data.creator.id | integer | No | ||||
| data.creator.name | string | No | ||||
| data.creator.url | string | No | ||||
| data.currency | string | No | USD | |||
| data.currency_symbol | string | No | $ | |||
| data.deadline | string | No | ||||
| data.faq_count | integer | No | ||||
| data.goal | number | No | ||||
| data.has_video | boolean | No | ||||
| data.id | integer | No | 1114436418 | |||
| data.is_launched | boolean | No | ||||
| data.launched_at | string | No | ||||
| data.location | kickstarter.Location | No | ||||
| data.location.country | string | No | US | |||
| data.location.displayable_name | string | No | Los Angeles, CA | |||
| data.location.id | integer | No | ||||
| data.location.name | string | No | Los Angeles | |||
| data.location.short_name | string | No | Los Angeles, CA | |||
| data.name | string | No | ||||
| data.percent_funded | integer | No | ||||
| data.photo | kickstarter.Photo | No | ||||
| data.photo.full | string | No | ||||
| data.pledged | number | No | ||||
| data.reward_tiers | array | No | RewardTiers is the campaign's pledge/reward tier list, captured from kickstarter.com's own natural GraphQL traffic when the campaign's /rewards sub-page renders -- see doc.go's "Reward tiers" section. Best-effort: omitted (not an error) if the capture-capable render backends are unavailable or the campaign has no reward tiers. | |||
| data.reward_tiers[].add_ons | array | No | ||||
| data.reward_tiers[].add_ons[].amount | number | No | ||||
| data.reward_tiers[].add_ons[].currency | string | No | ||||
| data.reward_tiers[].add_ons[].description | string | No | ||||
| data.reward_tiers[].add_ons[].id | string | No | ||||
| data.reward_tiers[].add_ons[].name | string | No | ||||
| data.reward_tiers[].amount | number | No | ||||
| data.reward_tiers[].available | boolean | No | ||||
| data.reward_tiers[].backers_count | integer | No | ||||
| data.reward_tiers[].currency | string | No | USD | |||
| data.reward_tiers[].description | string | No | ||||
| data.reward_tiers[].ends_at | string | No | ||||
| data.reward_tiers[].estimated_delivery_on | string | No | 2026-06-01 | |||
| data.reward_tiers[].featured | boolean | No | ||||
| data.reward_tiers[].id | string | No | ||||
| data.reward_tiers[].image | string | No | ||||
| data.reward_tiers[].items | array | No | ||||
| data.reward_tiers[].items[].name | string | No | ||||
| data.reward_tiers[].items[].quantity | integer | No | ||||
| data.reward_tiers[].limit | integer | No | ||||
| data.reward_tiers[].name | string | No | ||||
| data.reward_tiers[].remaining_quantity | integer | No | ||||
| data.reward_tiers[].shipping_enabled | boolean | No | ||||
| data.reward_tiers[].shipping_preference | string | No | unrestricted | |||
| data.reward_tiers[].shipping_summary | string | No | ||||
| data.risks_and_challenges | string | No | ||||
| data.slug | string | No | ||||
| data.spotlight | boolean | No | ||||
| data.staff_pick | boolean | No | ||||
| data.state | string | No | live | |||
| data.state_changed_at | string | No | ||||
| data.story | string | No | ||||
| data.updates_count | integer | No | ||||
| data.url | string | No | ||||
| data.usd_pledged | number | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/kickstarter/project?creator=lookingglass&slug=musubi" \
-H "x-api-key: $CRAWLORA_API_KEY"