Send surveys via email, collect scores, calculate NPS, track trends over time. Delighted charges $224/mo. This is an HTTP endpoint and a dashboard.
Every operation in Surveyor II is available through a JSON REST API. No SDK required — use curl, fetch, or any HTTP client.
GET /api/surveys — list all surveys with optional search and filter query parametersPOST /api/surveys — create a new survey recordGET /api/surveys/{id} — retrieve a single survey by IDPUT /api/surveys/{id} — update an existing surveyDELETE /api/surveys/{id} — remove a surveyGET /api/stats — aggregated statistics with status breakdownGET /api/health — health check endpoint for monitoringSaaS tools hold your data hostage. Export formats are incomplete, migrations are painful, and pricing changes whenever the vendor feels like it. Surveyor II stores everything in SQLite on your own server. Your data is a file you control, back up, and query directly.
A non-profit with no DevOps budget downloads the Surveyor II binary, sets two environment variables, and runs it on the same Linux box that handles their email. It has been running for three months without intervention. When they need to update, they download the new binary and restart the process.
Each survey record carries fields for name, type, question, responses, avg score. The API accepts partial updates, so you can PATCH individual fields without resubmitting the entire record. Listing endpoints support ?q= for keyword search and ?status= for filtering through the lifecycle. Backups are a file copy of the SQLite database in the data directory.
GET /api/surveys — List all surveys. Supports ?q=keyword for search and ?status=value for filteringPOST /api/surveys — Create a new survey. Send JSON with at least nameGET /api/surveys/{id} — Fetch one survey by IDPUT /api/surveys/{id} — Update fields on an existing surveyDELETE /api/surveys/{id} — Remove a surveyGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted NPS and satisfaction tracker. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool surveyor2
PORT=10130 ./surveyor2
http://localhost:10130
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export SURVEYOR2_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./surveyor2
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.