Jupiter SignupJupiterSignup

Developers

JupiterSignup is built to be driven by machines and AI agents. Pull your forms and responses over a simple REST API, or wire it into Claude/ChatGPT. Everything is scoped to your own account.

Try it with no account

An AI agent can get a trial key in one call, no sign-up:

curl -X POST https://jupitersignup.com/api/v1/trial

It works everywhere an account key does, the REST API and the MCP server, for 7 days. Its forms are drafts: anyone can view one at its link, but it can't take sign-ups until a person opens its claim_url, publishes it with their email, and keeps it in a free account. Limits: 4 new forms an hour, 12 a day, and 40 edits a day per key; 5 trial keys a day per network.

Authentication

Create a key on your API keys page. It's shown once. Send it as a bearer token:

curl https://jupitersignup.com/api/v1/forms \
  -H "Authorization: Bearer js_live_xxxxxxxxxxxxxxxx"

A key reads only the forms you own. Revoke it any time from your account page, that takes effect immediately.

Read endpoints

GET/api/v1/forms — your forms (id, title, response count, url).
GET/api/v1/forms/{id} — one form's spine: offerings, fields, schedule.
GET/api/v1/forms/{id}/responses — responses as JSON, or ?format=csv for a download.

Each response carries its frozen line items, total, and payment status exactly as submitted. Soft-deleted responses are never returned; test submissions are excluded unless ?include_test=1.

{
  "form": { "id": "ab12cd", "title": "Tuesday Yoga" },
  "count": 2,
  "responses": [
    { "id": "r1", "submitted_at": "2026-06-29T18:00:00Z",
      "attendee": { "name": "Alex", "email": "alex@example.com" },
      "line_items": [ { "name": "Drop-in", "price_cents": 2000, "qty": 1 } ],
      "total_cents": 2000, "payment_status": "paid", "test": false }
  ]
}

MCP server

Connect an AI assistant to your account so it can read your forms and responses live. The server speaks the Model Context Protocol over HTTP at:

https://jupitersignup.com/mcp

Authenticate with the same API key as a bearer token (Authorization: Bearer js_live_…). It exposes five tools: list_forms, get_form, get_responses, create_form and edit_form, each scoped to your own forms. Connect from any client that can send a bearer header on a remote MCP server (or via mcp-remote). A trial key works here too. In Claude or ChatGPT, add https://jupitersignup.com/mcp as a connector with no key: you'll be asked to sign in to Jupiter Signup and allow access (OAuth).

Analyze with AI

Two ways: download or "Copy for AI" from the Results page and paste into ChatGPT/Claude, or connect the MCP server above so your assistant pulls responses live. The CSV/JSON is built for exactly this.

Create & edit

Author forms programmatically — the AI builds the whole form from a prompt, over the REST API or the MCP create_form / edit_form tools.

POST/api/v1/forms — body {"prompt": "a paid yoga class signup, $20 drop-in, collect name and email"}. Returns the new form's id, URL, and structure.
POST/api/v1/forms/{id}/edit — body {"instruction": "add an early-bird tier at $15"}. Returns the updated structure.

Form authoring runs the AI, so writes are rate-limited per account: 25 creates / day and 20 writes / hour (creates + edits). Over the limit returns 429 with a message and reset time. (The in-app chat builder is unmetered.)