CRATON
Get a free API key

Developers

The Craton API

Craton is a plain HTTP API, so there is no SDK to install. One call gets you a key, and each feature after that is a single request.

Backdrop: Tokyo, Kawasaki and Yokohama at night from the ISS, NASA, public domain.

Request
curl -sS https://api.oncraton.com/signup \
  -H "Content-Type: application/json" \
  -d '{"label": "quickstart"}'
201 Created
{
  "schema_version": "0.1.0",
  "id": "acct_9f4c1e0b7a2d5c38",
  "created_at": "2026-08-11T02:33:54.512907Z",
  "plan": "sandbox",
  "label": "quickstart",
  "api_key": {
    "id": "key_3b71c0d94e26af58",
    "secret": "cede_sk_…",
    "created_at": "2026-08-11T02:33:54.512907Z",
    "scheme": "Bearer",
    "expires_at": null
  }
}
The response, as shown in the quickstart. The key is shown once, so save it.

Quickstart

Turn a spreadsheet into structured data in four calls

It takes about ten minutes in a terminal. The quickstart has all four calls in one script.

  1. Check the API is up

    No key needed.

    GET/health200

  2. Get a key

    Creates an account and returns its key.

    POST/signup201

  3. Upload a schedule

    Send the file you have. You get back a job to check on.

    POST/ingest202

  4. Read the result

    The structured record created from your file.

    GET/objects/{id}200

The model lab

Run a catastrophe model

Run open catastrophe models on versioned data. The same inputs always give the same result.

$13,672

Average loss per year · 0.14% of $10M

10,000 simulated years
1 in 100 years $369,776 1 in 10 1 in 1,000

Example run lab-climada-storm:df5dab0ff0f6c19a · Miami, Houston, New Orleans

POST lab.oncraton.com/runs
curl https://lab.oncraton.com/runs \
  -H "Authorization: Bearer $CEDE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"spec": {
    "model": "climada-tropical-cyclone-storm",
    "hazard": {"basin": "NA", "years": 10000},
    "exposure": {"points": [
      {"lat": 25.76, "lon": -80.19, "value": 3333333.3333333335},
      {"lat": 29.76, "lon": -95.37, "value": 3333333.3333333335},
      {"lat": 29.95, "lon": -90.07, "value": 3333333.3333333335}
    ]}
  }}'
202 then poll GET /runs/{id}
{
  "id": "lab-climada-storm:df5dab0ff0f6c19a",
  "status": "succeeded",
  "model_version": "climada-6.1.0-storm-v4-r2",
  "result": {
    "events_modelled": 20658,
    "events_with_loss": 2167,
    "expected_annual_impact": 13672.176887327945,
    …
  }
}

A saved result, trimmed to four fields. The run ID is derived from the inputs, so the same inputs always return this run.

For agents

Use Craton from your AI agent

The docs are also available as plain text for agents. Add the MCP server with one command.

Claude Code
claude mcp add --transport http craton https://mcp.oncraton.com/mcp

Links for agents

  • Docs indexdocs.oncraton.com/llms.txt
  • Agent guidedocs.oncraton.com/agents.md
  • MCPmcp.oncraton.com/mcp
  • APIapi.oncraton.com

Call GET /health first. A 200 response means the API is up.