API v1 Stable

API Reference

Programmatic access to real-time prices, ISO averages, and settlement data. RESTful design, JSON responses, no SDK required.

https://api.wattmarkets.com/v1

Quick Start

bash
# Get latest prices for all ISOs
curl https://api.wattmarkets.com/v1/alerts/prices/latest

# Get price summary with ISO averages
curl https://api.wattmarkets.com/v1/prices/summary

# Get settlement data for a specific date
curl https://api.wattmarkets.com/v1/settlement/ERCOT/LZ_HOUSTON/2025-01-20

Authentication

Public

Real-time prices and ISO averages. No authentication required. Rate limited to 20 requests/minute.

Limited

Settlement data and historical queries. Requires API key. Contact us for access.

API Key Header

Authorization: Bearer <your-api-key>

Endpoints

GET/api/v1/alerts/prices/latestPublic

Current prices for all ISOs

Response

[
  {
    "iso_id": "ERCOT",
    "market_type": "RTM",
    "prices": {
      "LZ_HOUSTON": {
        "price_mwh": 42.15,
        "timestamp": "2025-01-22T14:30:00Z"
      },
      "HB_NORTH": {
        "price_mwh": 38.90,
        "timestamp": "2025-01-22T14:30:00Z"
      }
    },
    "updated_at": "2025-01-22T14:30:00Z"
  }
]
GET/api/v1/prices/point/{iso_id}/{node_id}Public

Current price and statistics for a specific settlement point

Response

{
  "iso_id": "ERCOT",
  "node_id": "LZ_HOUSTON",
  "display_name": "Houston Hub",
  "current": {
    "price_mwh": 45.20,
    "timestamp": "2025-01-22T14:30:00Z"
  },
  "hour": {
    "high": 52.10,
    "low": 38.50,
    "avg": 44.80,
    "change_pct": 3.2
  },
  "day": {
    "high": 125.00,
    "low": 22.50,
    "avg": 48.30,
    "percentile": 72
  }
}
GET/api/v1/prices/summaryPublic

Price summary and averages for all ISOs

Response

{
  "timestamp": "2025-01-22T14:30:00Z",
  "isos": [
    {
      "iso_id": "ERCOT",
      "avg_price": 45.20,
      "min_price": 28.50,
      "max_price": 125.00,
      "node_count": 8,
      "price_range": "normal"
    }
  ]
}
GET/api/v1/grid/changesPublic

Recent material price changes

Response

{
  "timestamp": "2025-01-22T14:30:00Z",
  "changes": [
    {
      "iso_id": "CAISO",
      "type": "price_spike",
      "timestamp": "2025-01-22T14:25:00Z",
      "description": "SP15 spiked to $125/MWh"
    }
  ],
  "message": "2 material changes in the last 60 minutes"
}
GET/api/v1/alerts/prices/streamPublic

Server-Sent Events stream for real-time price updates

Response

event: connected
data: {"isos": ["ERCOT", "PJM", "CAISO"]}

event: price
data: {
  "iso_id": "ERCOT",
  "market_type": "RTM",
  "timestamp": "2025-01-22T14:30:05Z",
  "prices": {
    "LZ_HOUSTON": {"price_mwh": 45.25, "timestamp": "..."}
  }
}
GET/api/v1/settlement/{iso}/{node}/{date}Limited

Historical settlement prices for a specific date

Response

{
  "iso_id": "ERCOT",
  "node_id": "LZ_HOUSTON",
  "date": "2025-01-20",
  "prices": [
    { "hour": 0, "da_price": 32.50, "rt_price": 31.80 },
    { "hour": 1, "da_price": 30.25, "rt_price": 29.90 }
  ],
  "metrics": {
    "avg": 45.20,
    "min": 28.50,
    "max": 125.00
  }
}
GET/api/v1/settlement/{iso}/{node}Limited

Available settlement dates for a node

Response

{
  "iso_id": "ERCOT",
  "node_id": "LZ_HOUSTON",
  "available_dates": [
    "2025-01-20",
    "2025-01-19",
    "2025-01-18"
  ],
  "first_date": "2024-01-01",
  "last_date": "2025-01-20"
}

Rate Limits

TierRequests/minBurst
Public205
Limited (API Key)30050
EnterpriseCustomCustom

Error Codes

CodeMeaning
400Bad request - invalid parameters
401Unauthorized - invalid or missing API key
404Not found - resource doesn't exist
429Rate limit exceeded
500Internal server error

SDKs & Libraries

Python

pip install wattmarkets

Coming soon

JavaScript/TypeScript

npm install @wattmarkets/sdk

Coming soon

Need API Access?

Contact us for API keys, enterprise pricing, or custom integrations.

Contact Us

API is provided as-is. Data latency and availability may vary. This is not investment advice and should not be used as the sole basis for trading decisions.