# Dryos > Dryos serves real, reconciled data — US power markets (ERCOT, MISO, PJM, SPP, CAISO, NYISO, ISO-NE), weather, and building permits — collected live from the source, through a remote MCP server for AI agents and a public read-only REST API. No key needed. ## MCP server URL: https://api.dryos.ai/mcp Transport: Streamable HTTP. No key, no sign-up, read-only. Details and every client: https://www.dryos.ai/mcp Tools: - `list_streams` — Every stream, filterable by domain, grid operator or a word. - `describe_stream` — One stream's columns, key, source, health and recent collector changes. - `find_entities` — Look up node, zone or station names — never guess one. - `column_values` — The distinct values of a text column, for filters. - `query_stream` — Rows, raw or bucketed; times in ISO-8601 or relative (-24h). At most 2,000 a call. Each result carries restUrl — the same request as a GET, ready for an app. Connect: - Claude Code: `claude mcp add --transport http dryos https://api.dryos.ai/mcp` - Gemini CLI: `gemini mcp add --transport http dryos https://api.dryos.ai/mcp` - Codex · ~/.codex/config.toml: `[mcp_servers.dryos] url = "https://api.dryos.ai/mcp"` - Cursor, VS Code, Windsurf and other JSON configs: `{"mcpServers": {"dryos": {"url": "https://api.dryos.ai/mcp"}}}` - Claude.ai, Claude Desktop, ChatGPT: add a custom connector with the URL above and no authentication. The rules below hold for the tools and the REST API alike. ## Workspace MCP server (builds in the user's account) URL: https://www.dryos.ai/api/mcp Transport: Streamable HTTP. Requires signing in with a Dryos account (OAuth 2.1; the client opens the login and consent page itself). Use it with the data server: find streams and entity names there, then build here. Tools: - `list_workspaces` — Your workspaces and their pages, with links. - `list_community` — The workspaces Dryos publishes for everyone — one per grid operator — with a link to view each page and copy it. - `copy_community` — Your own editable copy of a community workspace, every page included, ready for add_tile. - `list_components` — The tile shapes and their settings, and the published recipes a page can start from. - `create_workspace` — A new workspace with its first page, blank or from a recipe. - `add_page` — Another page in a workspace. - `add_tile` — A chart, ticker, bar, table, map, heatmap or title on live data — compiled before it is saved. - `get_page` — What is on a page and where. Connect: `claude mcp add --transport http dryos-workspace https://www.dryos.ai/api/mcp`, or add a custom connector with the URL above in Claude.ai, Claude Desktop or ChatGPT. ## REST API Base URL: https://api.dryos.ai Every route is GET and answers JSON. No API key is needed today. If you send `Authorization: Bearer `, it must be a valid Dryos access token: a bad or expired token is refused with 401, never served anonymously. Reference: https://www.dryos.ai/docs ## How to answer a question 1. **Find the stream.** `GET /v1/datasets` lists every stream. Match the question to a `slug`, then read its `schema` (every column, with type and description) and `serving`: `entity` is the column that names a node/zone/station, `measure` the headline value, `unit` its unit. 2. **Find the entity.** `GET /v1/datasets/{slug}/nodes?q=` searches entity names. Names are verbatim, inner spaces included (`ALDENE 230 KV T-10`). Never guess one — look it up. 3. **Read the rows.** `GET /v1/datasets/{slug}/query?node=&start=&end=&limit=`. Raw rows come newest first; `limit` defaults to 1000 and stops at 50000. 4. **Aggregate long windows.** Past a day or so of five-minute data, add `interval=1h` (or `15m`, `1d`, `all`) and `agg=avg|min|max|sum`. Each bucket carries `samples`, the readings in it: a bucket of 1 is not a bucket of 12, and a low count is a collection gap. ## Rules that prevent wrong answers - **Every timestamp is UTC**, ISO-8601. `interval_start_utc` is the start of the interval. Convert only for display: ERCOT and SPP are US Central, MISO is EST all year (never EDT), PJM, NYISO and ISO-NE are US Eastern with daylight saving, CAISO is US Pacific. - `start` is inclusive and `end` exclusive. - **Forecasts keep every publication.** By default you get the newest vintage of each interval; `vintages=all` returns every one, stamped by `source_published_at_utc`. Do not average vintages together. - **Null means the source did not report it**, never zero. - `node` filters on the entity whatever the stream calls it. System-level feeds have no entity and answer 400 to it. - `where=column=value` filters a text column (repeat on one column for OR; different columns AND). `search=column:text` is a case-insensitive substring. Numbers and timestamps cannot be filtered this way. - Price streams that are `located` carry `lat`/`lon` — the generating plant's coordinates. Hubs, zones and unplaced nodes are null. - 404 is an unknown slug; 503 means the stream has not been collected yet; 400 explains what was wrong with the request in words. - Do not poll faster than a stream's cadence. To hear when data lands, hold `GET /v1/events` open (server-sent events: `{"dataset", "at"}`) and query on the name. - Cite the slug and the interval timestamps behind any number you report. ## Example ``` curl "https://api.dryos.ai/v1/datasets/ercot-realtime-lmp/query?node=HB_NORTH&interval=1h&agg=max&start=2026-09-12T00:00:00Z" ``` The hourly maximum real-time price at ERCOT's North hub since midnight UTC on 12 September. ## Routes - `GET /v1/datasets` — The catalogue — every stream, its columns and how to read it. - `GET /v1/datasets/{slug}` — One stream's catalogue entry, plus its last twenty collection runs. - `GET /v1/datasets/{slug}/nodes` — The entities in a stream — nodes, zones, stations, fuels — with coverage. - `GET /v1/datasets/{slug}/query` — Read rows — raw, or bucketed into a rollup. - `GET /v1/datasets/{slug}/values` — Distinct values of one text column, most rows first. - `GET /v1/datasets/{slug}/sample` — One entity's headline series over recent hours — a worked example. - `GET /v1/datasets/{slug}/preview` — Per interval: how many entities landed, and how late the source and Dryos each were. - `GET /v1/datasets/{slug}/runs` — Collection history: every run, its outcome and rows written. - `GET /v1/status` — Every collector's health, freshness and changelog in one payload. - `GET /v1/reference/node-locations/{iso}` — Where an operator's pricing nodes are, and the evidence for each placement. - `GET /v1/events` — Server-sent events: which dataset just landed rows, and when. No rows ride on it. - `GET /health` — Liveness. ## Streams - `ercot-realtime-lmp` — ERCOT real-time LMP (Energy › Pricing › Real-time), a row every 5m — e.g. HB_HOUSTON, HB_NORTH, LZ_WEST - `ercot-dam-lmp-bus` — ERCOT day-ahead hourly LMP (Energy › Pricing › Day-ahead), a row every 1h — e.g. CADICKS_804V, ADICKS__138C, ADK_V_C - `ercot-actual-load-weather-zone` — Actual system load (Energy › Load › Actual by weather zone), a row every 1h — e.g. COAST, NORTH_C, TOTAL - `ercot-load-forecast-weather-zone` — Seven-day load forecast (Energy › Load › Forecast by weather zone), a row every 1h — e.g. COAST, NORTH_C, TOTAL - `ercot-fuel-mix` — Fuel mix (Energy › Generation › Fuel mix), a row every 5m — e.g. NATURAL_GAS, WIND, SOLAR - `ercot-rt-spp` — Real-time settlement point prices (Energy › Pricing › Real-time), a row every 15m — e.g. HB_NORTH, HB_HOUSTON, LZ_WEST - `ercot-dam-spp` — DAM settlement point prices (Energy › Pricing › DAM settlement), a row every 1h — e.g. HB_NORTH, HB_HOUSTON, LZ_WEST - `ercot-rt-lmp-bus` — Real-time LMPs by electrical bus (Energy › Pricing › RT bus LMP), a row every 5m — e.g. ADICKS__138C, 0001DUPV1_, 0001HWFG1 - `ercot-indicative-lmp` — Indicative LMPs (RTD look-ahead) (Energy › Pricing › Indicative LMP), a row every 5m — e.g. HB_NORTH, HB_HOUSTON, LZ_WEST - `ercot-sced-lambda` — SCED system lambda (Energy › Pricing › System lambda), a row every 5m - `ercot-dam-lambda` — DAM system lambda (Energy › Pricing › DAM lambda), a row every 1h - `ercot-dam-shadow-prices` — DAM shadow prices (Energy › Pricing › Shadow prices), a row every 1h — e.g. 105T105_1, 1080__A, 100027_D_1 - `ercot-dam-energy-bought` — DAM energy purchased (Energy › Pricing › DAM volumes bought), a row every 1h — e.g. HB_NORTH, HB_HOUSTON, LZ_WEST - `ercot-dam-energy-sold` — DAM energy sold (Energy › Pricing › DAM volumes sold), a row every 1h — e.g. HB_NORTH, HB_HOUSTON, LZ_WEST - `ercot-dam-mcpc` — DAM capacity clearing prices (Energy › Ancillary › DAM prices), a row every 1h — e.g. REGUP, RRS, ECRS - `ercot-sced-mcpc` — Real-time capacity clearing prices (SCED) (Energy › Ancillary › RT prices), a row every 5m — e.g. REGUP, RRS, ECRS - `ercot-rt-mcpc` — Capacity settlement prices (15-minute) (Energy › Ancillary › RT settlement), a row every 15m — e.g. REGUP, RRS, ECRS - `ercot-dam-as-plan` — Ancillary service plan (Energy › Ancillary › Plan), a row every 1h — e.g. REGUP, RRS, ECRS - `ercot-actual-load-forecast-zone` — Actual load by forecast zone (Energy › Load › Actual by forecast zone), a row every 1h — e.g. HOUSTON, NORTH, SOUTH - `ercot-load-forecast-forecast-zone` — Seven-day forecast by forecast zone (Energy › Load › Forecast by forecast zone), a row every 1h — e.g. HOUSTON, NORTH, SOUTH - `ercot-system-demand` — System-wide demand (Energy › Load › System demand), a row every 15m - `ercot-supply-demand` — Supply and demand (Energy › Load › Supply vs demand), a row every 5m - `ercot-wind-hourly` — Wind: actual and forecast (Energy › Generation › Wind by load zone), a row every 1h — e.g. LZ_WEST, LZ_NORTH, LZ_SOUTH_HOUSTON - `ercot-wind-hourly-geo` — Wind by geographical region (Energy › Generation › Wind by region), a row every 1h — e.g. PANHANDLE, COASTAL, WEST - `ercot-solar-hourly` — Solar: actual and forecast (Energy › Generation › Solar), a row every 1h — e.g. SYSTEM - `ercot-solar-hourly-geo` — Solar by geographical region (Energy › Generation › Solar by region), a row every 1h — e.g. FAR_WEST, CENTER_WEST, FAR_EAST - `ercot-rt-price-adders` — Real-time price adders and reserves (Energy › Pricing › Price adders), a row every 5m - `ercot-short-term-adequacy` — Short-term system adequacy (Energy › Grid › Adequacy), a row every 1h - `ercot-outage-capacity` — Resource outage capacity (Energy › Grid › Outages), a row every 1h — e.g. HOUSTON, NORTH, SOUTH - `ercot-temperature-forecast` — Temperature forecast by weather zone (Energy › Grid › Temperature), a row every 1h — e.g. COAST, NORTH_C, FAR_WEST - `miso-realtime-lmp` — MISO real-time LMP (Energy › Pricing › Real-time), a row every 5m — e.g. INDIANA.HUB, ILLINOIS.HUB, MICHIGAN.HUB - `miso-dam-lmp` — MISO day-ahead LMP (Energy › Pricing › Day-ahead), a row every 1h — e.g. INDIANA.HUB, ILLINOIS.HUB, MICHIGAN.HUB - `miso-exante-lmp` — MISO ex-ante hub LMP (Energy › Pricing › Ex-ante hubs), a row every 5m — e.g. INDIANA.HUB, ILLINOIS.HUB, SWPP - `miso-ancillary-mcp` — MISO ancillary clearing prices (Energy › Ancillary › Clearing prices), a row every 5m — e.g. GEN_REG, GEN_SPIN, STR - `miso-fuel-mix` — MISO fuel mix (Energy › Generation › Fuel mix), a row every 5m — e.g. NATURAL_GAS, COAL, WIND - `miso-system-load` — MISO system load (Energy › Load › System demand), a row every 5m - `miso-wind-solar` — MISO wind and solar (Energy › Generation › Wind and solar), a row every 1h — e.g. WIND, SOLAR - `miso-net-interchange` — MISO net actual interchange (Energy › Grid › Net interchange), a row every 5m - `miso-scheduled-interchange` — MISO scheduled interchange (Energy › Grid › Scheduled interchange), a row every 5m — e.g. PJM, SWPP, TVA - `spp-realtime-lmp` — SPP real-time LMP (Energy › Pricing › Real-time), a row every 5m — e.g. SPPNORTH_HUB, SPPSOUTH_HUB, SWPW_HUB - `spp-dam-lmp` — SPP day-ahead LMP (Energy › Pricing › Day-ahead), a row every 1h — e.g. SPPNORTH_HUB, SPPSOUTH_HUB, SWPW_HUB - `spp-rt-lmp-bus` — SPP real-time bus LMP (Energy › Pricing › RT bus LMP), a row every 5m — e.g. CSWS112_WGORLD1, CSWS121LYNN4LD1 - `spp-dam-lmp-bus` — SPP day-ahead bus LMP (Energy › Pricing › DA bus LMP), a row every 1h — e.g. CSWS112_WGORLD1, CSWS77_MEMLD1 - `spp-curtailments` — SPP wind and solar curtailments (Energy › Generation › Curtailments), a row every 5m — e.g. SPP, SWPW - `spp-rt-market-clearing` — SPP real-time market summary (Energy › Grid › Market summary), a row every 5m — e.g. SPP, SWPW - `spp-dam-market-clearing` — SPP day-ahead market summary (Energy › Grid › Market summary), a row every 1h — e.g. SPP, SWPW - `spp-load-hourly` — SPP hourly load by control zone (Energy › Load › Hourly actual by area), a row every 1h — e.g. CSWS, OKGE, WACM - `spp-gen-outages` — SPP capacity on outage (Energy › Grid › Generation outages), a row every 1h — e.g. SPP, SWPW, Total - `spp-interchange` — SPP interchange by tie (Energy › Grid › Tie flows), a row every 1m — e.g. AECI, TVA, PACE - `spp-rt-reserves-cleared` — SPP real-time reserves cleared (Energy › Ancillary › Reserves), a row every 5m — e.g. 1, 4, 21 - `spp-system-load` — SPP system load (Energy › Load › System demand), a row every 5m — e.g. SPP, SWPW - `spp-renewables-actual` — SPP wind and solar output (Energy › Generation › Wind and solar), a row every 5m — e.g. SPP, SWPW - `spp-renewables-forecast-5min` — SPP short-term wind and solar forecast (Energy › Generation › Wind and solar forecast), a row every 5m — e.g. SPP, SWPW - `spp-load-forecast-7day` — SPP seven-day load forecast (Energy › Load › Seven-day forecast), a row every 1h — e.g. SPP, SWPW - `spp-renewables-forecast-7day` — SPP seven-day wind and solar forecast (Energy › Generation › Wind and solar forecast), a row every 1h — e.g. SPP, SWPW - `spp-rt-shadow-prices` — SPP real-time binding constraints (Energy › Pricing › Shadow prices), a row every 5m — e.g. TMP845_30027, TMP459_32122, TP1125_33384 - `spp-dam-shadow-prices` — SPP day-ahead binding constraints (Energy › Pricing › Shadow prices), a row every 1h — e.g. OSAWEBCLESOO, SOONER_SONR_SONR_PHSHFT_PS, TMP630_33215 - `spp-rt-as` — SPP real-time ancillary prices (Energy › Ancillary › RT prices), a row every 5m — e.g. SPP, SWPW, 1 - `spp-dam-as` — SPP day-ahead ancillary prices (Energy › Ancillary › DAM prices), a row every 1h — e.g. SPP, SWPW, 1 - `spp-fuel-mix` — SPP fuel mix (Energy › Generation › Fuel mix), a row every 5m — e.g. WIND, NATURAL_GAS, COAL - `spp-west-fuel-mix` — SPP RTO West fuel mix (Energy › Generation › Fuel mix), a row every 5m — e.g. HYDRO, COAL, WIND - `caiso-realtime-lmp` — CAISO real-time LMP (Energy › Pricing › Real-time), a row every 5m — e.g. TH_NP15_GEN-APND, TH_SP15_GEN-APND, DLAP_PGAE-APND - `caiso-fmm-lmp` — CAISO fifteen-minute LMP (Energy › Pricing › Fifteen-minute), a row every 15m — e.g. TH_NP15_GEN-APND, TH_SP15_GEN-APND, DLAP_PGAE-APND - `caiso-dam-lmp` — CAISO day-ahead LMP (Energy › Pricing › Day-ahead), a row every 1h — e.g. TH_NP15_GEN-APND, TH_SP15_GEN-APND, TH_PACE_GEN-APND - `caiso-fuel-mix` — CAISO fuel mix (Energy › Generation › Fuel mix), a row every 5m — e.g. SOLAR, NATURAL_GAS, BATTERIES - `caiso-system-load` — CAISO system load (Energy › Load › System demand), a row every 5m - `caiso-eim-transfers-5min` — CAISO WEIM transfers, five-minute (Energy › Grid › WEIM transfers), a row every 5m — e.g. CISO->SRP PVWEST, SRP->CISO PVWEST, NWMT->BPAT GARRISON - `caiso-eim-transfers-15min` — CAISO WEIM transfers, fifteen-minute (Energy › Grid › WEIM transfers), a row every 15m — e.g. CISO->SRP PVWEST, SRP->CISO PVWEST, NWMT->BPAT GARRISON - `caiso-dam-shadow-prices` — CAISO day-ahead binding constraints (Energy › Pricing › Shadow prices), a row every 1h — e.g. 31336_HPLND JT_60.0_31370_CLVRDLJT_60.0_BR_1 _1, 24701_KRAMER _230_24601_VICTOR _230_BR_2 _1, 7820_TL 230S_OVERLOAD_NG - `caiso-rt-shadow-prices` — CAISO real-time binding constraints (Energy › Pricing › Shadow prices), a row every 5m — e.g. 31336_HPLND JT_60.0_31370_CLVRDLJT_60.0_BR_1 _1, 24114_PARDEE _230_24115_PASTORIA_230_BR_1 _1, 7820_TL 230S_OVERLOAD_NG - `caiso-dam-as` — CAISO day-ahead ancillary prices (Energy › Ancillary › DAM prices), a row every 1h — e.g. AS_CAISO_EXP, AS_NP26, AS_SP26 - `caiso-rt-as` — CAISO real-time ancillary prices (Energy › Ancillary › RT prices), a row every 15m — e.g. AS_CAISO_EXP, AS_NP26, AS_SP26 - `caiso-load-forecast-5min` — CAISO five-minute load forecast (Energy › Load › Five-minute forecast), a row every 5m — e.g. CA ISO-TAC, PGE-TAC, SCE-TAC - `caiso-load-forecast-15min` — CAISO fifteen-minute load forecast (Energy › Load › Fifteen-minute forecast), a row every 15m — e.g. CA ISO-TAC, PGE-TAC, SCE-TAC - `caiso-load-actual-hourly` — CAISO hourly actual load (Energy › Load › Hourly actual by area), a row every 1h — e.g. CA ISO-TAC, PGE-TAC, SCE-TAC - `caiso-load-forecast-dam` — CAISO day-ahead load forecast (Energy › Load › Day-ahead forecast), a row every 1h — e.g. CA ISO-TAC, PGE-TAC, SCE-TAC - `caiso-load-forecast-2day` — CAISO two-day load forecast (Energy › Load › Two-day forecast), a row every 1h — e.g. CA ISO-TAC, PGE-TAC, SCE-TAC - `caiso-load-forecast-7day` — CAISO seven-day load forecast (Energy › Load › Seven-day forecast), a row every 1h — e.g. CA ISO-TAC, PGE-TAC, SCE-TAC - `caiso-renewables-forecast-5min` — CAISO five-minute wind and solar forecast (Energy › Generation › Wind and solar forecast), a row every 5m — e.g. SP15, NP15, ZP26 - `caiso-renewables-forecast-15min` — CAISO fifteen-minute wind and solar forecast (Energy › Generation › Wind and solar forecast), a row every 15m — e.g. SP15, NP15, ZP26 - `caiso-renewables-actual-hourly` — CAISO hourly actual wind and solar (Energy › Generation › Wind and solar), a row every 1h — e.g. SP15, NP15, ZP26 - `caiso-renewables-forecast-dam` — CAISO day-ahead wind and solar forecast (Energy › Generation › Wind and solar forecast), a row every 1h — e.g. SP15, NP15, ZP26 - `caiso-renewables-forecast-hasp` — CAISO hour-ahead wind and solar forecast (Energy › Generation › Wind and solar forecast), a row every 1h — e.g. SP15, NP15, ZP26 - `nyiso-interface-flows` — NYISO interface flows (Energy › Grid › Transfer interfaces), a row every 5m — e.g. TOTAL EAST, CENTRAL EAST - VC, SCH - PJ - NY - `nyiso-rt-shadow-prices` — NYISO real-time binding constraints (Energy › Pricing › Shadow prices), a row every 5m — e.g. SCRIBA 345 VOLNEY 345 1, MEYER 230 MEYER 1 1 - `nyiso-dam-shadow-prices` — NYISO day-ahead binding constraints (Energy › Pricing › Shadow prices), a row every 1h — e.g. DUNWODIE 345 SHORE_RD 345 1, SPRNBRK 345 UNIONHBS 345 1 - `nyiso-rt-as` — NYISO real-time ancillary prices (Energy › Ancillary › RT prices), a row every 5m — e.g. N.Y.C., LONGIL, WEST - `nyiso-dam-as` — NYISO day-ahead ancillary prices (Energy › Ancillary › DAM prices), a row every 1h — e.g. N.Y.C., LONGIL, WEST - `nyiso-system-load` — NYISO load by zone (Energy › Load › System demand), a row every 5m — e.g. N.Y.C., LONGIL, WEST - `nyiso-load-forecast-6day` — NYISO load forecast (Energy › Load › Six-day forecast), a row every 1h — e.g. N.Y.C., LONGIL, NYISO - `nyiso-fuel-mix` — NYISO fuel mix (Energy › Generation › Fuel mix), a row every 5m — e.g. NATURAL_GAS, DUAL_FUEL, HYDRO - `nyiso-dam-lmp` — NYISO day-ahead LMP (Energy › Pricing › Day-ahead), a row every 1h — e.g. N.Y.C., LONGIL, WEST - `nyiso-realtime-lmp` — NYISO real-time LMP (Energy › Pricing › Real-time), a row every 5m — e.g. N.Y.C., LONGIL, WEST - `isone-realtime-lmp` — ISO-NE real-time LMP (Energy › Pricing › Real-time), a row every 5m — e.g. .H.INTERNAL_HUB, .Z.NEMASSBOST, .Z.CONNECTICUT - `pjm-realtime-lmp` — PJM real-time LMP (Energy › Pricing › Real-time), a row every 5m — e.g. WESTERN HUB, PJM-RTO, COMED - `pjm-realtime-lmp-hourly` — PJM real-time hourly LMP (Energy › Pricing › Real-time hourly), a row every 1h — e.g. WESTERN HUB, PJM-RTO, COMED - `pjm-rt-lmp-bus` — PJM real-time LMPs by bus (Energy › Pricing › RT bus LMP), a row every 5m — e.g. ALDENE 230 KV T-10, BRANCHBURG500 KV T-1, KEYSTONE500 KV KEY1 - `pjm-dam-lmp` — PJM day-ahead LMP (Energy › Pricing › Day-ahead), a row every 1h — e.g. WESTERN HUB, PJM-RTO, COMED - `pjm-dam-lmp-bus` — PJM day-ahead LMPs by bus (Energy › Pricing › DA bus LMP), a row every 1h — e.g. ALDENE 230 KV T-10, BRANCHBURG500 KV T-1, KEYSTONE500 KV KEY1 - `pjm-system-load` — PJM load by area (Energy › Load › Load by area), a row every 5m — e.g. PJM RTO, COMED, DOM - `pjm-fuel-mix` — PJM fuel mix (Energy › Generation › Fuel mix), a row every 1h — e.g. GAS, NUCLEAR, COAL - `pjm-tie-flows` — PJM tie flows (Energy › Grid › Tie flows), a row every 5m — e.g. NYIS, PJM MISO, TVA - `pjm-regulation-prices` — PJM regulation prices (Energy › Ancillary › Regulation), a row every 5m - `pjm-dispatched-reserves` — PJM dispatched reserves (Energy › Ancillary › Reserves), a row every 5m — e.g. SYNCHRONIZED, PRIMARY, THIRTY_MINUTE - `pjm-rt-reserve-results` — PJM real-time ancillary market results (Energy › Ancillary › Market results), a row every 5m — e.g. REGULATION, SYNCHRONIZED, PRIMARY - `pjm-da-reserve-results` — PJM day-ahead ancillary market results (Energy › Ancillary › Market results), a row every 1h — e.g. SYNCHRONIZED, PRIMARY, THIRTY_MINUTE - `pjm-load-metered` — PJM metered hourly load (Energy › Load › Metered hourly load), a row every 1h — e.g. AECO, DOM, PS - `pjm-load-prelim` — PJM preliminary hourly load (Energy › Load › Preliminary hourly load), a row every 1h — e.g. AEP, DOM, MIDATL - `pjm-load-forecast-5min` — PJM five-minute load forecast (Energy › Load › Five-minute forecast), a row every 5m — e.g. RTO_COMBINED, COMED, PSE&G/MIDATL - `pjm-load-forecast-7day` — PJM seven-day load forecast (Energy › Load › Seven-day forecast), a row every 1h — e.g. RTO_COMBINED, COMED, DOMINION - `pjm-wind-gen` — PJM wind output (Energy › Generation › Wind), a row every 15s - `pjm-solar-gen` — PJM solar output (Energy › Generation › Solar), a row every 5m - `pjm-wind-solar-forecast` — PJM wind and solar forecast (Energy › Generation › Wind and solar forecast), a row every 1h — e.g. WIND, SOLAR, SOLAR_BTM - `pjm-wind-solar-forecast-5min` — PJM five-minute wind and solar forecast (Energy › Generation › Wind and solar forecast), a row every 5m — e.g. WIND, SOLAR, SOLAR_BTM - `pjm-binding-constraints` — PJM binding constraints (Energy › Pricing › Shadow prices), a row every 5m — e.g. GRACETON-MANOR GRA-MANO A 230 KV, APSOUTH, BED-BLA - `pjm-rt-marginal-value` — PJM real-time constraint marginal values (Energy › Pricing › Shadow prices), a row every 5m — e.g. APSOUTH, BED-BLA - `pjm-da-marginal-value` — PJM day-ahead constraint marginal values (Energy › Pricing › Shadow prices), a row every 1h — e.g. APSOUTH, BED-BLA - `pjm-dispatch-rates` — PJM dispatch rates (Energy › Pricing › Dispatch rates), a row every 15s — e.g. COMED, DOM, PS - `pjm-operational-reserves` — PJM operational reserves (Energy › Ancillary › Operational reserves), a row every 15s — e.g. RTO_SYNCHRONIZED_RESERVE_TOTAL, RTO_CONTINGENCY_PRIMARY_RESERVE_TOTAL - `pjm-ace` — PJM area control error (Energy › Grid › Area control error), a row every 15s - `pjm-interchange-hourly` — PJM hourly interchange by tie (Energy › Grid › Hourly interchange), a row every 1h — e.g. NYIS, TVA, DUK - `pjm-gen-outages` — PJM generation outages, week ahead (Energy › Grid › Generation outages), a row every 1d — e.g. PJM RTO, Western, Mid Atlantic - Dominion - `pjm-gen-outage-forecast` — PJM generation outage forecast, ninety days (Energy › Grid › Generation outages), a row every 1d — e.g. PJM RTO, Western, Other - `pjm-pai-intervals` — PJM performance assessment intervals (Energy › Grid › Performance assessment), a row every 5m - `pjm-itsced-lmp` — PJM IT SCED interface prices (Energy › Pricing › Interface prices ahead), a row every 5m — e.g. NYIS, MISO, NEPTUNE - `pjm-transfer-interfaces` — PJM transfer interfaces (Energy › Grid › Transfer interfaces), a row every 5m — e.g. APSOUTH, EAST, BED-BLA - `noaa-station-observations` — Surface observations (Weather › Observations › Surface), a row every 1h — e.g. KAUS, KDFW, KIAH - `openmeteo-zone-forecast` — Hourly forecast by weather zone (Weather › Forecast › By ERCOT zone), a row every 1h — e.g. NORTH_C, COAST, WEST - `noaa-gridpoint-forecast` — NWS forecast by weather zone (Weather › Forecast › Official (NWS)), a row every 1h — e.g. NORTH_C, COAST, WEST - `openmeteo-wind-field` — Hub-height wind field (Weather › Forecast › Wind field), a row every 1h — e.g. G_325_0975, G_295_0955, G_335_1015 - `noaa-hrrr-field` — HRRR national weather field (Weather › Analysis › National field), a row every 1h — e.g. H_0200_0970, H_0670_1170, H_0700_1550 - `austin-permits` — Austin construction permits (Property › Permits › Austin), a row every 1d — e.g. 78704, 78745, 78744 - `sanantonio-permits` — San Antonio permits (Property › Permits › San Antonio), a row every 1d — e.g. 78201, 78209, 78245 - `fortworth-permits` — Fort Worth permits (Property › Permits › Fort Worth), a row every 1d — e.g. 76179, 76052, 76036 - `collin-permits` — Collin County permits (Property › Permits › Collin County), a row every 1d — e.g. 75071, 75009, 75098