Catalog / maine.gov

maine.gov API

Live Maine Public Utilities Commission HTML standard-offer price tables for CMP residential and small-commercial customers, including archived docket entries, intervals, suppliers, announcements and supporting link metadata. Linked document contents are outside coverage and are never fetched; the API does not calculate bundled or delivery prices.

  • Other
  • electricity
  • Maine
  • standard offer
  • CMP
2 endpointsDocs updated

Endpoint health

Loading verification…

RatesLoading

Connect your agent

Connect through MCP so your agent can find this API, read its docs, and call its endpoints.

Setup guide

Add the server from your terminal.

Claude Code · terminal
claude mcp add --transport http agent-data https://agent-data.motie.dev/mcp

In Claude Code, run /mcp, select agent-data, then Authenticate. Sign in to your agent-data account in the browser.

Then ask your agent to use the maine.gov API for your task.

Call it over HTTP

Get an API key

Sign up free, generate an API key, and set it as AGENT_DATA_API_KEY in your environment. Your first 100 calls each month are free.

Fetch the full bounded source page; no pagination or implicit filters.

View call pricing
cURL · Rates
curl --request GET --get 'https://api.agent-data.dev/maine-gov/v1/rates' \
  --header "Authorization: Bearer $AGENT_DATA_API_KEY"

Endpoints

Inputs and response fields for every endpoint in this API.

GETRates/v1/rates

Fetch the full bounded source page; no pagination or implicit filters.

Input

No input parameters.

Response

recordsobject[]
records[].idstring
records[].linksobject[]
records[].links[].urlstring
records[].links[].hrefstring
records[].links[].labelstring
records[].links[].contextstring
records[].docketstring
records[].statusstring
records[].captionstring
records[].headersstring[]
records[].periodsobject[]
records[].periods[].pricestring
records[].periods[].intervalstring
records[].periods[].positioninteger
records[].periods[].price_unitstring
records[].periods[].price_valuestring
records[].periods[].price_columnstring
records[].periods[].interval_columnstring
records[].sectionstring
records[].id_originstring
records[].row_indexinteger
records[].suppliersobject[]
records[].suppliers[].textstring
records[].suppliers[].columnstring
records[].suppliers[].entriesobject[]
records[].suppliers[].entries[].namestring
records[].suppliers[].entries[].sharestring
records[].table_indexinteger
records[].docket_cell_textstring
records[].announcement_refsstring[]
records[].customer_class_labelstring
records[].delivery_utility_labelstring
transportstring
page_titlestring
source_urlstring
retrieved_atstring (date-time)
announcementsobject[]
announcements[].linksobject[]
announcements[].links[].urlstring
announcements[].links[].hrefstring
announcements[].links[].labelstring
announcements[].links[].contextstring
announcements[].tablesobject[]
announcements[].tables[].rowsobject[]
announcements[].tables[].rows[].0string
announcements[].tables[].headersstring[]
announcements[].headingstring | null
announcements[].sectionstring
announcements[].footnotesstring[]
announcements[].row_indexinteger
announcements[].paragraphsstring[]
announcements[].table_indexinteger
announcements[].published_date_textstring | null
source_node_idstring | null
document_coveragestring
GETRates by rate id/v1/rates/{rate_id}

Fetch the current page and select a published docket; invalid IDs receive JSON 404.

Input

rate_idRequiredPath · string

Published docket identifier from the live rates list

Example: 2025-00157

Response

recordobject
record.idstring
record.linksobject[]
record.links[].urlstring
record.links[].hrefstring
record.links[].labelstring
record.links[].contextstring
record.docketstring
record.statusstring
record.captionstring
record.headersstring[]
record.periodsobject[]
record.periods[].pricestring
record.periods[].intervalstring
record.periods[].positioninteger
record.periods[].price_unitstring
record.periods[].price_valuestring
record.periods[].price_columnstring
record.periods[].interval_columnstring
record.sectionstring
record.id_originstring
record.row_indexinteger
record.suppliersobject[]
record.suppliers[].textstring
record.suppliers[].columnstring
record.suppliers[].entriesobject[]
record.suppliers[].entries[].namestring
record.suppliers[].entries[].sharestring
record.table_indexinteger
record.docket_cell_textstring
record.announcement_refsstring[]
record.customer_class_labelstring
record.delivery_utility_labelstring
transportstring
page_titlestring
source_urlstring
retrieved_atstring (date-time)
announcementsobject[]
announcements[].linksobject[]
announcements[].links[].urlstring
announcements[].links[].hrefstring
announcements[].links[].labelstring
announcements[].links[].contextstring
announcements[].tablesobject[]
announcements[].tables[].rowsobject[]
announcements[].tables[].rows[].0string
announcements[].tables[].headersstring[]
announcements[].headingstring | null
announcements[].sectionstring
announcements[].footnotesstring[]
announcements[].row_indexinteger
announcements[].paragraphsstring[]
announcements[].table_indexinteger
announcements[].published_date_textstring | null
source_node_idstring | null
document_coveragestring

Don’t see the endpoint you need?

Ask agent-data to add an endpoint or return more fields. Extensions are free and keep existing endpoints working.