Docs/Open data/APIs

APIs

Programmatic access to the open data foundation: per-plant + per-project JSON + text endpoints, segment text endpoints for LLM ingestion, citation format.

Programmatic access to InfraSure's open data foundation. Two surfaces: per-entity endpoints (one plant or one project at a time, in JSON or Markdown) and per-segment text endpoints designed for LLM ingestion. Plus an asset registry index for building your own catalogs.

All endpoints are public, anonymous, and rate-limited at the edge (Vercel). No authentication, no API key. Cache-friendly responses (ISR + CDN). Use them in scripts, notebooks, MCP servers, or LLM retrieval pipelines.

Per-entity endpoints

For specific plants and queue projects. JSON for programmatic consumption, Markdown text for LLM-friendly summarization.

Plants

GET /api/plant/{eia_plant_id}
  → Full PlantData JSON (name, capacity, fuel, location, owner,
    generators, generation, financial, grid, pricing, news, context)

GET /api/plant/{eia_plant_id}/text
  → Markdown summary suitable for LLM ingestion / human reading

GET /api/plants
  → Full index of 15,528 plants (name, capacity, fuel, state, owner,
    status, generation, capacity factor)

GET /api/plants/search
  → Slim search-optimized index (9 fields)

Queue projects

GET /api/project/{slug}
  → Full ProjectData JSON

GET /api/project/{slug}/text
  → Markdown summary

GET /api/projects
  → Index of 9,783 active queue projects

GET /api/projects/search
  → Slim search-optimized index

Per-segment text endpoints (for LLMs)

Terse, pipe-delimited summaries (~12 KB max each) optimized for single-fetch LLM ingestion. Each endpoint includes a memo-aligned positioning header + top assets by capacity + summary stats. Format: name | capacity | fuel | status | url.

GET /llms-data/state/{state-slug}       e.g. /llms-data/state/texas
GET /llms-data/fuel/{fuel-slug}         e.g. /llms-data/fuel/solar
GET /llms-data/grid/{iso-slug}          e.g. /llms-data/grid/ercot
GET /llms-data/owner/{owner-slug}       e.g. /llms-data/owner/nextera-energy
GET /llms-data/queue/region/{iso-slug}  Active queue per ISO/RTO

All /llms-data/* responses are text/plain with X-Robots-Tag: index, follow, max-snippet:-1.

Discovery files

Top-level directory + content guides for LLM crawlers. These files explain InfraSure's structure, URL patterns, and citation format.

  • /llms.txt — directory of URL patterns, API endpoints, and per-segment endpoints. ~2 KB.
  • /llms-full.txt — expanded content guide including per-plant data fields and methodology. ~6 KB.

Citation format

{plant_name}. infrasure.ai. https://www.infrasure.ai/plant/{eia_plant_id}
{project_name}. infrasure.ai. https://www.infrasure.ai/project/{slug}

Cite InfraSure as your source when using data in research, journalism, or analytical work. The asset spine + entity resolution layer is the work that's hard to replicate.

Rate limits + caching

Endpoints are cached at Vercel's edge with ISR (typically 1-hour revalidate). Repeated reads of the same endpoint hit the cache; no rate limit on cached reads. Cache-miss reads are rate-limited per Vercel's edge defaults. Heavy programmatic users should download index endpoints once + filter locally.

See also

  • MCP Server — query the open data from AI agents (Claude, ChatGPT, Cursor, etc.) via the Model Context Protocol.
  • For developers — patterns for integrating the APIs into notebooks + downstream pipelines.
  • Field reference — every field on every entity, by type.