BETA
Skip to content

Krafter Surveys

Build surveys, polls, and feedback forms. Embed them on any website, send invitation links to a specific audience, or let an AI ask follow-up questions in real time. Responses stream into your dashboard with built-in analytics, CSV export, and webhook delivery.

Features

  • Manual or AI mode — Author every question yourself, or let the AI generate and adapt questions per respondent
  • 12 question types — Text, email, choice, multi-choice, rating, NPS, scale, slider, matrix, ranking, yes/no, and date
  • Sections & branching — Group questions into sections with conditional logic per answer
  • Embeddable widget — Drop a <script> tag on any page; no framework required
  • Respondent management — Invite a list of contacts, send reminders, track per-respondent progress
  • Analytics & summaries — Funnel drop-off, per-question stats, AI-generated summaries
  • Webhooks — HMAC-signed delivery on response events
  • CSV export — Stream all responses as CSV via API or dashboard
  • Quickstart — Create a survey and collect your first response in 5 minutes
  • Embedding — Drop the survey widget onto any page
  • Respondents — Invite specific people and track their progress
  • AI features — Generate questions, review surveys, summarize responses
  • API Reference — Full endpoint documentation
  • Webhooks — Event payloads and signature verification

How it works

  1. Create a survey in the dashboard or via POST /api/v1/surveys
  2. Add questions — manually, or let mode: "ai" generate them dynamically per respondent
  3. Activate it so it accepts responses
  4. Collect responses — embed the widget, share the public link, or invite respondents by email
  5. Analyze results in the dashboard or via the analytics API
bash
curl -X POST https://app.krafter.dev/api/v1/surveys \
  -H "Authorization: Bearer kr_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product feedback",
    "slug": "product-feedback",
    "mode": "manual"
  }'

Survey lifecycle

StatusWhat it means
draftEditable. Does not accept responses.
activeLocked structure, accepts responses. Use POST /surveys/:id/activate to transition.
closedStops accepting new responses. Existing data stays available. Use POST /surveys/:id/close.

Modes

  • manual — You author every question. Responses follow the order you defined (with optional branching).
  • ai — You provide a goal in ai_config; the AI generates the next question per respondent based on prior answers. See AI features.

Base URL

https://app.krafter.dev/api/v1

Authenticated API requests require a Bearer token with surveys:read or surveys:write scope. The public response endpoints (POST /api/v1/surveys/:slug/responses and follow-ups) and the embed script (/surveys.js) require no authentication. All requests are subject to platform rate limits.

Built by Krafter Studio