Discover/Ameren API
live

Ameren APIameren.com

Retrieve hourly electricity prices, outage summaries, and rate info for Ameren's Illinois and Missouri service areas via a structured JSON API.

Endpoint health
verified 3d ago
get_hourly_prices
get_efficiency_programs
get_hourly_prices_previous_day
get_hourly_prices_tomorrow
get_hourly_prices_today
7/7 passing latest checkself-healing
Endpoints
7
Updated
24d ago

What is the Ameren API?

The Ameren API exposes 7 endpoints covering real-time and forecast wholesale electricity pricing, live outage summaries, rate information, and efficiency rebate programs for Illinois and Missouri. The get_hourly_prices endpoint accepts a date parameter and returns a 24-entry price array with per-hour $/kWh values, while get_outage_summary returns customer counts and availability percentages per region.

Try it

No input parameters required.

api.parse.bot/scraper/a79b21ea-9601-49ff-9a20-77d367fd0622/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/a79b21ea-9601-49ff-9a20-77d367fd0622/get_hourly_prices_today' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace ameren-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Ameren Utility API — electricity prices, outages, and programs."""
from parse_apis.ameren_utility_api import Ameren, State, RateCategory, PriceDataUnavailable

client = Ameren()

# Fetch today's hourly wholesale electricity prices
today_report = client.hourlypricereports.today()
print(f"Today ({today_report.date}): {len(today_report.prices)} hourly prices, next_day={today_report.is_next_day}")

# Look at peak/off-peak price spread from today's data
if today_report.prices:
    for price_entry in today_report.prices[:3]:
        print(f"  Hour {price_entry.hour}: ${price_entry.price}/kWh")

# Fetch prices for a specific historical date
historical = client.hourlypricereports.get(date="2026-06-09")
print(f"Historical ({historical.date}): {len(historical.prices)} hours")

# Check current outage status across service areas
summary = client.outagesummaries.current()
print(f"Outage data generated at: {summary.generated_at}")
for region in summary.regions:
    print(f"  {region.region_name}: {region.active_outages} outages, {region.customers_affected} affected, {region.percent_active}% available")

# Get rate information for Missouri business customers using enums
rates = client.ratesinfos.get(state=State.MO, category=RateCategory.BUSINESS)
print(f"Rates URL ({rates.state}, {rates.category}): {rates.url}")

# Typed error handling for unavailable price data
try:
    future = client.hourlypricereports.get(date="2099-01-01")
    print(f"Future prices: {future.prices}")
except PriceDataUnavailable as exc:
    print(f"Price data unavailable: {exc}")

print("exercised: hourlypricereports.today / .get / outagesummaries.current / ratesinfos.get / error handling")
All endpoints · 7 totalmissing one? ·

Get today's 24-hour wholesale electricity price table for Illinois. Returns hourly price data for each hour of the current day. Prices are in $/kWh.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "date": "string, current date in YYYY-MM-DD format",
    "prices": "array of hourly price objects with hour, date, and price fields",
    "is_next_day": "boolean, false for current-day pricing"
  },
  "sample": {
    "data": {
      "date": "2026-06-11",
      "prices": [
        {
          "date": "2026-06-11T00:00:00",
          "hour": "01",
          "price": 0.03631
        },
        {
          "date": "2026-06-11T00:00:00",
          "hour": "02",
          "price": 0.03049
        }
      ],
      "is_next_day": false
    },
    "status": "success"
  }
}

About the Ameren API

Hourly Electricity Pricing

Four endpoints handle wholesale electricity price data for the Illinois service area. get_hourly_prices_today and get_hourly_prices_previous_day return fixed 24-hour tables for the current and prior day respectively. get_hourly_prices_tomorrow returns next-day pricing when available — typically after 5:30 PM CT — and returns null for the prices field before that. The general-purpose get_hourly_prices accepts an optional date parameter in YYYY-MM-DD format and defaults to today if omitted. All four share the same response shape: a date string, a prices array (each element carrying hour, date as an ISO datetime, and price in $/kWh), and an is_next_day boolean.

Outage Data

get_outage_summary returns region-level outage data for both Illinois and Missouri. Each object in the regions array includes region_name, customers_affected, total_customers, active_outages, and percent_active. A top-level generated_at ISO timestamp indicates when the outage snapshot was produced. This is the only endpoint with multi-state coverage in a single response.

Rates and Efficiency Programs

get_rates_info accepts optional state (IL or MO) and category (residential or business) parameters and returns a url pointing to the relevant Ameren rates page alongside a short info description. get_efficiency_programs accepts an optional state parameter and returns a url, a state value, and a description of available rebate programs. Both endpoints are reference endpoints rather than structured data tables — they surface navigation targets and descriptions rather than rate schedules or rebate dollar amounts.

Reliability & maintenanceVerified

The Ameren API is a managed, monitored endpoint for ameren.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ameren.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official ameren.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Alert home energy management systems when next-day hourly prices exceed a cost threshold using get_hourly_prices_tomorrow.
  • Build a dashboard tracking real-time outage counts and percent-active metrics for Illinois and Missouri via get_outage_summary.
  • Generate historical price charts by fetching prior-day $/kWh values from get_hourly_prices_previous_day.
  • Shift EV charging schedules to lowest-priced hours by parsing the 24-element prices array from get_hourly_prices.
  • Direct residential or business customers to the correct Ameren rate page using state and category filters in get_rates_info.
  • Aggregate efficiency rebate program links by state for utility comparison tools using get_efficiency_programs.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Ameren have an official developer API?+
Ameren does not publish a public developer API. The hourly price tables, outage data, and program information it publishes are intended for end customers rather than programmatic consumption.
When does tomorrow's pricing become available from `get_hourly_prices_tomorrow`?+
Next-day wholesale prices are typically posted after approximately 5:30 PM CT. Before that window, the prices field in the response returns null and is_next_day is still set to true. Polling after 5:30 PM CT is the reliable pattern.
Does the hourly price data cover Missouri as well as Illinois?+
The hourly electricity price endpoints (get_hourly_prices_today, get_hourly_prices_tomorrow, get_hourly_prices_previous_day, and get_hourly_prices) cover the Illinois service area only. get_outage_summary covers both Illinois and Missouri. You can fork this API on Parse and revise it to add a Missouri-specific pricing endpoint if that data becomes available.
Does `get_rates_info` return the actual rate schedules or tariff tables?+
No. The endpoint returns a url linking to the rates page, a short info description, and the requested state and category values. It does not return structured tariff tables, rate tiers, or dollar-per-kWh breakdowns. You can fork this API on Parse and revise it to extract structured rate schedule data if that granularity is needed.
Can I retrieve outage data for a specific city or ZIP code?+
The get_outage_summary endpoint returns aggregated region-level data (region_name, customers_affected, active_outages, percent_active) for Illinois and Missouri as a whole. Sub-region or ZIP-level granularity is not currently exposed. You can fork this API on Parse and revise it to add a more granular outage lookup endpoint.
Page content last updated . Spec covers 7 endpoints from ameren.com.
Related APIs in Government PublicSee all →
energy-charts.de API
Monitor real-time electricity prices, production data, and market forecasts across Germany and Europe to track energy costs and grid conditions. Access day-ahead and intraday pricing, power generation forecasts, cross-border trading flows, and traffic signal alerts for comprehensive energy market insights.
caiso.com API
Access real-time and intraday data from California's electricity grid (CAISO), including current demand and forecasts, generation supply mix, renewable energy levels, CO2 emissions and carbon intensity, locational marginal prices (LMPs), and overall grid operating status.
data.nordpoolgroup.com API
Monitor Nord Pool electricity market data including day-ahead prices, system prices, intraday statistics, and market areas across different regions. Access real-time and recent historical pricing information to track energy market trends and make informed decisions about electricity trading and consumption.
euenergy.live API
Monitor real-time and historical electricity prices across Europe with hourly granularity, including load data and city-level pricing information. Look up current rates by country or city, track price trends over time, and access comprehensive bulk historical data to analyze European energy markets.
pacificpower.net API
Track real-time power outages and service disruptions across Pacific Power's service areas by searching by ZIP code, county, or viewing incident summaries. Monitor current service status and explore detailed outage information to stay informed about utility disruptions across the region.
citypower.co.za API
Check real-time loadshedding schedules, outage status, and electricity tariffs for Johannesburg, plus access customer service information, billing details, and company news. Plan your power usage with loadshedding schedules and stay updated on City Power's latest announcements, FAQs, and contact information.
powernext.com API
Access real-time and historical European energy market data including natural gas spot and futures prices, German power futures, and intraday power information. Monitor market snapshots and Guarantees of Origin to stay informed on energy market movements across Europe.
epexspot.com API
Access real-time and historical European power market data including day-ahead and intraday pricing results, monitor auction statuses across market areas, and stay updated with the latest newsroom articles from EPEX SPOT. Track power prices and market activity across different European regions to make informed trading and investment decisions.