Arcadia website screenshot

Arcadia

Arcadia is a clean-energy access and energy-intelligence company that operates Arc, a utility data platform giving developers programmatic access to utility bills, statements, meters, interval (15-minute) usage data, tariff rates, and provider metadata across thousands of US and international utilities. Arc combines the Plug API for utility data, Arcadia Connect for hosted credential collection and MFA, Signal for tariff and rate calculations, and webhooks for asynchronous events. Arcadia powers solar and storage modeling, EV charging, energy management, property management, and carbon accounting for customers including Ford, EVgo, Enphase, Oracle, UPS, Conagra, Penske, and ~25% of the Fortune 500. In April 2026 Arcadia acquired ENGIE Impact, adding utility bill management, energy procurement advisory, and sustainability reporting capabilities.

5 APIs 17 Features
EnergyClean EnergyUtility DataClimateSustainabilityCarbon AccountingSolarStorageEV ChargingDecarbonizationEnergy Intelligence

APIs

Arcadia Plug API

The Arcadia Plug API is the flagship developer surface of the Arc data platform — programmatic access to utility bill, statement, meter, interval, site, and provider data source...

Arcadia Connect API

Arcadia Connect is a hosted credential-collection web experience that handles utility account onboarding — credential capture, MFA flows, one-time passcodes, and credential refr...

Arcadia Signal API

Arcadia Signal provides utility tariff and energy rate data and calculations for use in cost-benefit analyses, bill audits, project forecasting, and financial modeling. Signal p...

Arcadia Webhooks API

List, retrieve, and resend webhooks for asynchronous Plug platform events including statement availability, meter activation, interval data readiness, and credential lifecycle c...

Arcadia Utility Cloud API (Legacy)

The legacy Utility Cloud REST API — predecessor to the Plug API — still documented for existing integrations. New integrations should use the Plug API; the Utility Cloud version...

Collections

Pricing Plans

Rate Limits

Arcadia Power Rate Limits

5 limits

RATE LIMITS

FinOps

Features

Arc — unified utility data platform for bills, meters, intervals, providers, and sites
Plug API for programmatic access to statements, meters, interval data, accounts, sites, providers, and files
Arcadia Connect hosted credential UI handles utility logins, MFA, and one-time passcodes without partners storing utility credentials
Signal API for tariff calculations, energy rates, and rate-based cost-benefit analysis
15-minute interval data for electric meters with bulk and on-demand delivery
Coverage across thousands of US utilities plus international expansion
OAuth 2.0 client-credentials authentication with one-hour bearer tokens
Arcadia-Version request header for date-pinned API versioning (default 2024-02-21)
Sandbox mode for safe end-to-end testing of credentials, statements, and intervals
Webhook events for statement availability, meter activation, interval readiness, credential MFA, and lifecycle changes
CSV download requests and bulk export streaming for large statement and interval pulls
Arcadia Data Model normalizes provider tariffs, charges, taxes, and usage into a unified shape
Enterprise Utility Bill Management, Energy Procurement Advisory, and Sustainability Reporting solutions
ENGIE Impact acquired (April 2026) — sustainability advising, utility bill management, and procurement consultancy now under Arcadia
Trusted by Ford, EVgo, Enphase, Oracle, UPS, Conagra, Penske, Iron Mountain, Intuit, and 25% of the Fortune 500
Manages nearly $100B in utility spend and 580 million MWh of annual electricity usage post-ENGIE Impact
Built for solar & storage, EV charging, energy management, property management, and carbon accounting integrators

Semantic Vocabularies

Arcadia Power Context

30 classes · 8 properties

JSON-LD

Resources

🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔗
Documentation
Documentation
📝
Signup
Signup
👥
GitHubOrganization
GitHubOrganization
📰
Blog
Blog
📄
ChangeLog
ChangeLog
📜
PrivacyPolicy
PrivacyPolicy
📜
TermsOfService
TermsOfService
🔗
LinkedIn
LinkedIn
🔗
Press
Press
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Arcadia Plug API
  version: '2024-02-21'
items:
- info:
    name: OAuth
    type: folder
  items:
  - info:
      name: Create an Access Token
      type: http
    http:
      method: POST
      url: https://api.arcadia.com/oauth2/token
      body:
        type: form-urlencoded
        data:
        - name: grant_type
          value: ''
        - name: client_id
          value: ''
        - name: client_secret
          value: ''
        - name: scope
          value: ''
    docs: Create an Access Token
- info:
    name: Organizations
    type: folder
  items:
  - info:
      name: Retrieve Organization
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/organizations/:organizationId
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: organizationId
        value: ''
        type: path
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Retrieve Organization
- info:
    name: Accounts
    type: folder
  items:
  - info:
      name: List Accounts
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/accounts
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: search
        value: ''
        type: query
        description: Field-specific search expression.
      - name: page
        value: ''
        type: query
        description: Zero-based page index.
      - name: size
        value: ''
        type: query
        description: Page size.
      - name: sort
        value: ''
        type: query
        description: Sort expression, format `property,(asc|desc)`.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: List Accounts
  - info:
      name: Retrieve Account
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/accounts/:accountId
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: accountId
        value: ''
        type: path
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Retrieve Account
- info:
    name: Credentials
    type: folder
  items:
  - info:
      name: List Credentials
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/credentials
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: page
        value: ''
        type: query
        description: Zero-based page index.
      - name: size
        value: ''
        type: query
        description: Page size.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: List Credentials
  - info:
      name: Create Credential
      type: http
    http:
      method: POST
      url: https://api.arcadia.com/plug/credentials
      headers:
      - name: Arcadia-Version
        value: ''
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Create Credential
  - info:
      name: Retrieve Credential
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/credentials/:credentialId
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: credentialId
        value: ''
        type: path
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Retrieve Credential
  - info:
      name: Initiate MFA Refresh
      type: http
    http:
      method: POST
      url: https://api.arcadia.com/plug/credentials/:credentialId/refresh
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: credentialId
        value: ''
        type: path
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Initiate MFA Refresh
  - info:
      name: Generate Encoded Arcadia Connect URL
      type: http
    http:
      method: POST
      url: https://api.arcadia.com/plug/connect/url
      headers:
      - name: Arcadia-Version
        value: ''
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Generate Encoded Arcadia Connect URL
- info:
    name: Statements
    type: folder
  items:
  - info:
      name: List Statements
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/statements
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: search
        value: ''
        type: query
        description: Field-specific search expression.
      - name: isCrossVersionSearch
        value: ''
        type: query
      - name: page
        value: ''
        type: query
        description: Zero-based page index.
      - name: size
        value: ''
        type: query
        description: Page size.
      - name: sort
        value: ''
        type: query
        description: Sort expression, format `property,(asc|desc)`.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: List Statements
  - info:
      name: Retrieve Statement
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/statements/:statementId
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: statementId
        value: ''
        type: path
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Retrieve Statement
  - info:
      name: Download Statement Source
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/statements/:statementId/download
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: statementId
        value: ''
        type: path
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Download Statement Source
- info:
    name: Meters
    type: folder
  items:
  - info:
      name: List Meters
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/meters
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: search
        value: ''
        type: query
        description: Field-specific search expression.
      - name: page
        value: ''
        type: query
        description: Zero-based page index.
      - name: size
        value: ''
        type: query
        description: Page size.
      - name: sort
        value: ''
        type: query
        description: Sort expression, format `property,(asc|desc)`.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: List Meters
  - info:
      name: Retrieve Meter
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/meters/:meterId
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: meterId
        value: ''
        type: path
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Retrieve Meter
- info:
    name: Intervals
    type: folder
  items:
  - info:
      name: List Intervals for a Meter
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/intervals/meters/:meterId
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: meterId
        value: ''
        type: path
      - name: startAt
        value: ''
        type: query
      - name: endAt
        value: ''
        type: query
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Retrieves utility-provided interval data for an electric meter. Returns up to

      one year of historical data within the requested startAt/endAt range.

      '
  - info:
      name: List Normalized Intervals for a Meter
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/intervals/meters/:meterId/normalized
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: meterId
        value: ''
        type: path
      - name: startAt
        value: ''
        type: query
      - name: endAt
        value: ''
        type: query
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: List Normalized Intervals for a Meter
- info:
    name: Sites
    type: folder
  items:
  - info:
      name: List Sites
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/sites
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: search
        value: ''
        type: query
        description: Field-specific search expression.
      - name: page
        value: ''
        type: query
        description: Zero-based page index.
      - name: size
        value: ''
        type: query
        description: Page size.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: List Sites
  - info:
      name: Create Site
      type: http
    http:
      method: POST
      url: https://api.arcadia.com/plug/sites
      headers:
      - name: Arcadia-Version
        value: ''
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Create Site
  - info:
      name: Retrieve Site
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/sites/:siteId
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: siteId
        value: ''
        type: path
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Retrieve Site
- info:
    name: Providers
    type: folder
  items:
  - info:
      name: List Providers
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/providers
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: search
        value: ''
        type: query
        description: Field-specific search expression.
      - name: page
        value: ''
        type: query
        description: Zero-based page index.
      - name: size
        value: ''
        type: query
        description: Page size.
      - name: sort
        value: ''
        type: query
        description: Sort expression, format `property,(asc|desc)`.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: List Providers
  - info:
      name: Retrieve Provider
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/providers/:providerId
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: providerId
        value: ''
        type: path
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Retrieve Provider
- info:
    name: Files
    type: folder
  items:
  - info:
      name: List Files
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/files
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: page
        value: ''
        type: query
        description: Zero-based page index.
      - name: size
        value: ''
        type: query
        description: Page size.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: List Files
  - info:
      name: Retrieve File
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/files/:fileId
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: fileId
        value: ''
        type: path
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Retrieve File
- info:
    name: Webhooks
    type: folder
  items:
  - info:
      name: List Webhooks
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/webhooks
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: page
        value: ''
        type: query
        description: Zero-based page index.
      - name: size
        value: ''
        type: query
        description: Page size.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: List Webhooks
  - info:
      name: Retrieve Webhook
      type: http
    http:
      method: GET
      url: https://api.arcadia.com/plug/webhooks/:webhookId
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: webhookId
        value: ''
        type: path
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Retrieve Webhook
  - info:
      name: Resend Webhook
      type: http
    http:
      method: POST
      url: https://api.arcadia.com/plug/webhooks/:webhookId/resend
      headers:
      - name: Arcadia-Version
        value: ''
      params:
      - name: webhookId
        value: ''
        type: path
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: Resend Webhook
bundled: true