Civasure Developers

Civasure API · v1

Readiness data, built into your stack.

A read-only REST API and MCP server for the anonymous disaster-readiness data in your organization's area. Pull submission counts, per-ZIP coverage, and aggregate readiness — into a dashboard, a report, or an AI agent.

Your first call
# Every response is scoped to your organization's area.
curl https://api.civasure.com/v1/stats \
  -H "Authorization: Bearer civ_live_…"

→ 200 OK
{
  "scope": { "type": "geographic", "zipsInArea": 1461 },
  "submissions": { "total": 429, "households": 1072 },
  "coverage": { "zipsWithData": 84 },
  "lastSubmissionAt": "2026-06-29T17:49:52Z"
}

Why integrate

  • Your data, where you work. Surface readiness numbers in the tools your team already uses — BI dashboards, GIS, internal reports.
  • Agent-ready. The MCP server lets Claude and other AI agents query your area's data directly, in natural language.
  • Always scoped, always anonymous. A key only ever sees aggregates for your organization's geography — never another org's data, never an individual.

Authentication

API keys

The API is available on the Regional and Government plans. Create and revoke keys from the dashboard under Settings → API. A key is shown once at creation — store it somewhere safe.

Send it as a bearer token on every request:

Authorization header
Authorization: Bearer civ_live_njuLI63But89cQaG…
🔑

A key inherits its organization's geographic scope. There is nothing to configure — the area your dashboard shows is exactly the area the API returns.

Quickstart

Make your first request

Three read endpoints cover the essentials. Each accepts optional startDate and endDate (ISO 8601) query parameters.

Per-ZIP coverage, last 30 days
curl "https://api.civasure.com/v1/coverage?startDate=2026-06-01T00:00:00Z" \
  -H "Authorization: Bearer $CIVASURE_KEY"

{
  "scope": { "type": "geographic", "zipsInArea": 1461 },
  "total": { "submissions": 429, "households": 1072 },
  "zips": [
    { "zip": "32163", "submissions": 34, "households": 85 }
  ]
}

That's it — no SDK required. For the complete schema of every field, see the API Reference.

Reference

Endpoints

All endpoints are read-only and return aggregates only.

GET/v1/statsTotals & coverage for your area GET/v1/coveragePer-ZIP submission counts GET/v1/readinessQuestion-level distributions POST/mcpMCP server (JSON-RPC)

For AI agents

Connect via MCP

Civasure runs a remote Model Context Protocol server at https://api.civasure.com/mcp. Point any MCP-capable client — Claude, an agent framework, your own tooling — at it with your API key, and your readiness data becomes a set of tools the agent can call.

Claude Desktop & other config-file clients

Desktop clients configure MCP servers as a local command, so a remote server is reached through the mcp-remote bridge (requires Node.js). Add this to your claude_desktop_config.json, then fully quit and reopen the app:

claude_desktop_config.json
{
  "mcpServers": {
    "civasure": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://api.civasure.com/mcp",
        "--header",
        "Authorization: Bearer civ_live_…"
      ]
    }
  }
}

Clients with native remote MCP support

If your client connects to remote (Streamable HTTP) servers directly, point it at the URL with a bearer header:

Remote MCP config
{
  "url": "https://api.civasure.com/mcp",
  "headers": { "Authorization": "Bearer civ_live_…" }
}

Available tools

ToolReturns
get_statsSubmission totals, households, ZIPs with data, last submission time
get_coveragePer-ZIP submission & household counts
get_readinessAggregate readiness question distributions

Then ask in plain language — "How many households have we reached, and which ZIPs are lagging?" The same scope and privacy rules as the REST API apply to every tool call.

Operations

Rate limits

Requests are limited per key, per minute. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset; over the limit returns 429 with Retry-After.

PlanRequests / minute
Regional120
Government600

Privacy

Anonymous by design

Civasure survey responses are anonymous, and the API keeps them that way.

🛡️

The API only returns counts and distributions. It never exposes an individual response, a device identifier, or any personally identifying information — and a key can only read aggregates inside its own organization's area.