# ERCOT > The Electric Reliability Council of Texas (ERCOT) is the independent system operator for the ERCOT Interconnection, serving roughly 27 million Texas customers. It runs the wholesale Day-Ahead and Real-Time energy markets, ancillary services, congestion revenue rights and retail switching. Its public API surface is the ERCOT Public Data API: 106 documented GET endpoints over the ERCOT Market Information List (EMIL) data products — locational marginal prices, settlement point prices, system load, wind and solar production, ancillary services, outage capacity and 60-day disclosure reports — plus a certificate-gated SOAP estate for registered market participants. Generated by the API Evangelist enrichment pipeline on 2026-07-27. ERCOT does not publish an llms.txt of its own (developer.ercot.com/llms.txt returns 404); this file is generated from the ERCOT developer portal, ERCOT's published OpenAPI, and the artifacts in this repository. ## How to call the Public Data API Two credentials are required on EVERY request, not one: 1. `Ocp-Apim-Subscription-Key: ` — free, self-serve. Register at https://apiexplorer.ercot.com/, subscribe to a product, copy the Primary key from your profile. 2. `Authorization: Bearer ` — an Azure AD B2C ID token. POST username/password to `https://ercotb2c.b2clogin.com/ercotb2c.onmicrosoft.com/B2C_1_PUBAPI-ROPC-FLOW/oauth2/v2.0/token` with `grant_type=password`, `client_id=fec253ea-0d06-4272-a5e6-b478baeecd70`, `scope=openid+fec253ea-0d06-4272-a5e6-b478baeecd70+offline_access`, `response_type=id_token`. Tokens last one hour and cannot be refreshed — mint a new one. Base URL: `https://api.ercot.com/api/public-reports` Hard limits: 30 requests per minute (429 `{"error_key":"throttled"}`); 1,000 files per historic download; requests from outside the United States are blocked at the edge. Everything is read-only — all 106 operations are GET. There is no write surface and no idempotency contract. ## APIs - [ERCOT Public Data API](https://developer.ercot.com/applications/pubapi/user-guide/using-api/): 106 GET endpoints over 35 EMIL data products. Base URL https://api.ercot.com/api/public-reports - [ERCOT ESR Public Data API](https://apiexplorer.ercot.com/api-details#api=esrapi-apim-api): Energy Storage Resource public data, launched 2025-05-29, starting with four-second ESR charging MW telemetry - [ERCOT Web Services (EWS)](https://developer.ercot.com/applications/ews/Introduction/): SOAP estate for Nodal market participants — market information, bid/offer submission, resource parameters, outage scheduling, verbal dispatch instructions, WS-Notification callbacks. Certificate-gated. - [ERCOT MarkeTrak API](https://developer.ercot.com/applications/marketrak/MarkeTrak_API_Dev_v1_2/): SOAP API over the retail-market issue tracking system. Certification required. - [ERCOT Retail API](https://developer.ercot.com/api_specifications/retail/retail/): SOAP web service for Texas Standard Electronic Transactions (TX SET) between ERCOT, TDSPs and REPs. ## Specs - [ERCOT Public Data API OpenAPI 3.0.1](https://raw.githubusercontent.com/ercot/api-specs/main/pubapi/pubapi-apim-api.json): the canonical machine-readable contract, published in ERCOT's own GitHub repository - [ERCOT api-specs repository](https://github.com/ercot/api-specs): OpenAPI, WSDLs and the full XSD estate (Current Day Reports, CRR, MarkeTrak, Retail, Settlements & Billing, Market Data Transparency) - [EWS Nodal WSDL](https://raw.githubusercontent.com/ercot/api-specs/main/ews/wsdls/Nodal.wsdl) - [EWS Notification WSDL](https://raw.githubusercontent.com/ercot/api-specs/main/ews/wsdls/Notification.wsdl): ERCOT's revision of OASIS WS-BaseNotification - [MarkeTrak WSDL](https://raw.githubusercontent.com/ercot/api-specs/main/marketrak/MarkeTrakAPI_rc5_v14.wsdl) - [Retail API WSDL](https://raw.githubusercontent.com/ercot/api-specs/main/retail/RetailAPIConcreteWSDL-External.wsdl) ## Docs - [ERCOT Developer Portal](https://developer.ercot.com/) - [ERCOT API Explorer](https://apiexplorer.ercot.com/): registration, product subscriptions, interactive API reference - [Registration and Authentication](https://developer.ercot.com/applications/pubapi/user-guide/registration-and-authentication/) - [Using the API](https://developer.ercot.com/applications/pubapi/user-guide/using-api/) - [Known Limitations](https://developer.ercot.com/applications/pubapi/known-limits/) - [Release Notes](https://developer.ercot.com/applications/pubapi/relnotes/) - [Deprecation Notices](https://developer.ercot.com/applications/pubapi/deprecation-notices/) - [Support](https://developer.ercot.com/support/support/) - [Discussion Forum](https://developer.ercot.com/discussion_forums/discussion/) - [ERCOT Market Data Products](https://www.ercot.com/mp/data-products) - [Terms of Use](https://www.ercot.com/help/terms/data-portal) - [Privacy](https://www.ercot.com/help/privacy) ## Key data products - Real-time prices: NP6-905-CD settlement point prices, NP6-788-CD LMPs by resource node/zone/hub, NP6-787-CD LMP by electrical bus, NP6-970-CD RTD indicative LMPs - Day-ahead prices: NP4-190-CD DAM settlement point prices, NP4-183-CD DAM hourly LMPs, NP4-188-CD DAM clearing prices for capacity, NP4-191-CD DAM shadow prices, NP4-523-CD DAM system lambda - Load: NP6-345-CD actual system load by weather zone, NP6-346-CD by forecast zone, NP3-565-CD/NP3-566-CD seven-day load forecasts - Renewables: NP4-732/733-CD wind power production, NP4-737/738-CD solar power production, NP4-742/743/745/746-CD the same by geographic region - Grid and reliability: NP3-233-CD hourly resource outage capacity, NP6-86-CD SCED shadow prices and binding transmission constraints, NP6-322-CD SCED system lambda - Ancillary services: NP4-33-CD DAM AS plan, NP4-179-CD total AS offers, NP3-911-ER 2-day AS reports - Disclosures: NP3-965-ER 60-day SCED, NP3-966-ER 60-day DAM, NP3-991-EX 60-day COP updates ## Repository artifacts - [apis.yml](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/apis.yml): the APIs.json index for ERCOT - [openapi/ercot-public-data-api-openapi.json](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/openapi/ercot-public-data-api-openapi.json) - [authentication/ercot-authentication.yml](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/authentication/ercot-authentication.yml): both halves of the credential model - [conventions/ercot-conventions.yml](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/conventions/ercot-conventions.yml): paging, filtering, field dictionary, error envelope, timezone - [errors/ercot-problem-types.yml](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/errors/ercot-problem-types.yml) - [rate-limits/ercot-rate-limits.yml](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/rate-limits/ercot-rate-limits.yml) - [lifecycle/ercot-lifecycle.yml](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/lifecycle/ercot-lifecycle.yml) - [changelog/ercot-changelog.yml](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/changelog/ercot-changelog.yml) - [data-model/ercot-data-model.yml](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/data-model/ercot-data-model.yml) - [conformance/ercot-conformance.yml](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/conformance/ercot-conformance.yml) - [scopes/ercot-scopes.yml](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/scopes/ercot-scopes.yml) - [security/ercot-domain-security.yml](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/security/ercot-domain-security.yml) - [well-known/ercot-well-known.yml](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/well-known/ercot-well-known.yml) - [mcp/ercot-tool-crosswalk.yml](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/mcp/ercot-tool-crosswalk.yml) - [skills/_index.yml](https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/skills/_index.yml) ## What ERCOT does not offer - No consumer energy usage API and no Green Button / ESPI surface. Texas residential interval data lives in Smart Meter Texas, operated by the joint Transmission and Distribution Utilities under PUCT oversight — not by ERCOT. - No first-party SDK in any package registry, and no public Postman collection. - No first-party MCP server, and no agent guidance on the developer portal. - No webhooks or streaming for public consumers — polling only. The only push surface is the certificate-gated SOAP WS-Notification callback in ERCOT Web Services. - No /.well-known/security.txt, no api-catalog, no published SLA or API status page. - No RFC 9457 problem+json errors, and no Sunset/Deprecation response headers despite a published deprecation timetable.