SPAN website screenshot

SPAN

SPAN is a San Francisco-based home energy technology company building smart electrical panels that replace traditional residential breaker boxes with a software-defined, controllable, and metered panel. SPAN Panel provides whole-home real-time power and energy metering, per-circuit monitoring and remote relay control, grid/islanding state management for whole-home backup with solar and energy storage, EV charging coordination via SPAN Drive, and a mobile app for energy management. As of the SPAN Panel firmware r202603 release (Q1 2026), SPAN exposes a public-beta on-premise SPAN API for software integrations between SPAN Panel and other devices on the home Local Area Network. The SPAN API is a real, documented HTTP + MQTT/Homie surface that runs directly on the panel — there is no cloud-hosted developer endpoint. The REST surface provides authentication, system status, Wi-Fi setup, panel state, per-circuit control, panel grid relay, energy storage state-of-energy, and emergency reconnect operations. The publish/subscribe surface uses the Electrification Bus (eBus) framework and Homie Convention over MQTT for streaming real-time panel state, per-circuit telemetry, and control of relays. SPAN API is licensed for personal, non-commercial use under MIT-0 for docs and example code; commercial / fleet use requires the separately licensed SPAN Fleet Manager.

SPAN publishes 9 APIs on the APIs.io network, including eBus MQTT API, Auth API, Circuits API, and 6 more. Tagged areas include Energy, Home Energy, Electrification, Smart Panel, and Electrical Panel.

The SPAN catalog on APIs.io includes 1 event-driven AsyncAPI specification, 1 JSON-LD context, and 2 Spectral governance rulesets.

SPAN’s developer surface includes authentication, developer portal, documentation, engineering blog, support, changelog, tooling, and 29 more developer resources.

51.7/100 developing ▼ -6.1 Agent 43/100 agent ready Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessSelf serve
9 APIs 16 Features
EnergyHome EnergyElectrificationSmart PanelElectrical PanelHome AutomationSolarEnergy StorageEV ChargingGridIslandingBackup PowerDemand ResponseIoTMQTTHomieElectrification BusOn-Premise

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 51.7/100 · developing
Contract Quality 16.3 / 25
Developer Ergonomics 10.0 / 20
Commercial Clarity 12.1 / 20
Operational Transparency 2.7 / 13
Governance 5.7 / 12
Discoverability 6.5 / 10
Agent readiness — 43/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 6 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/span-io: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 9

Individual APIs this provider publishes, each with its own machine-readable definition.

SPAN eBus MQTT API

Publish/subscribe streaming API hosted on SPAN Panel using the Electrification Bus (eBus) integration framework and the Homie Convention. SPAN Panel hosts an MQTT broker accessi...

SPAN Auth API

The Auth API from SPAN — 3 operation(s) for auth.

SPAN Circuits API

The Circuits API from SPAN — 2 operation(s) for circuits.

SPAN Islanding State API

The Islanding State API from SPAN — 1 operation(s) for islanding state.

SPAN Panel API

The Panel API from SPAN — 5 operation(s) for panel.

SPAN Spaces API

The Spaces API from SPAN — 2 operation(s) for spaces.

SPAN Status API

The Status API from SPAN — 1 operation(s) for status.

SPAN Storage API

The Storage API from SPAN — 2 operation(s) for storage.

SPAN Wifi API

The Wifi API from SPAN — 2 operation(s) for wifi.

Scroll for all 9

Open Collections 1

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Span

OPEN COLLECTION

Pricing Plans 1

Published pricing tiers and plan structures.

Span Io Plans Pricing

3 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Span Io Rate Limits

0 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Features 16

Notable capabilities this provider offers.

SPAN Panel — software-defined smart electrical panel replacing traditional residential breaker boxes
Whole-home and per-circuit real-time power and energy metering
Per-circuit remote relay control with named circuits and priority groups
Grid / islanding state management for whole-home backup with solar and energy storage
SPAN Drive — integrated Level 2 EV charging coordinated with the panel
SPAN Home mobile and on-premise apps for energy management and monitoring
On-premise SPAN API hosted on the panel — REST + MQTT, LAN-only, no cloud
HTTP Bearer JWT authentication minted by the panel and bound to a named API client
REST resources for circuits, panel state, panel grid relay, panel meter and power, islanding state, energy storage SoE and nice-to-have thresholds, Wi-Fi scan/connect, system status, emergency reconnect
MQTT pub/sub via the Electrification Bus (eBus) framework using the Homie Convention
mDNS-advertised local discovery (`_span._tcp`, `_span-api._tcp`, `_mqtt._tcp`) for zero-config integration
JSON Schema for Homie device descriptions and mDNS service records
Reference shell + Python scripts (span-discover, span-auth, span-curl, span-mqtt-sub, span-mdns-query)
Public beta — initial firmware r202603 for SPAN Panel MAIN 32, rolling out to MAIN 16 / MLO 24 / MAIN 40 / MLO 48 in H2 2026
Commercial / fleet integrations served separately via SPAN Fleet Manager licensing
SPAN Utilities — distributed energy resource (DER) management platform for utility partners

Scroll for all 16

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

SPAN eBus MQTT API

Publish/subscribe streaming API hosted directly on SPAN Panel using the Electrification Bus (eBus) integration framework and the Homie Convention for MQTT topic and payload stru...

ASYNCAPI

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Span Context

18 classes · 5 properties

JSON-LD

Spectral Rules 2

Spectral governance rulesets for linting and validating these APIs.

SPAN API Rules

8 rules · 1 errors 6 warnings 1 info

SPECTRAL

SPAN API Rules

5 rules · 1 errors 4 warnings

SPECTRAL

JSON Schema 2

Standalone JSON Schema definitions for this provider's data models.

Span Homie

0 properties

JSON SCHEMA

Span Mdns Services

0 properties

JSON SCHEMA

Security Posture 3

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Span Io Authentication

http · 1 scheme

SECURITY

Span Io Domain Security

TLSv1.3 · DMARC

SECURITY

Span Io Vulnerability Disclosure

disclosure policy published

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Span Io Agentic Access

24 operations · 9 acting · 1 human-in-the-loop

24 operations · 9 acting

AGENTIC

Resources

Get Started 1

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 5

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Learn 1

Tutorials, courses, talks, and written guidance

Operate 6

Status, limits, changes, and where to get help

Commercial 5

Pricing, plans, and the legal terms of use

Company 5

The organization behind the API

Other 7

Properties that don't map to a standard resource type

Scroll for all 7

Source (apis.yml)

apis.yml Raw ↑
aid: span-io
name: SPAN
description: SPAN is a San Francisco-based home energy technology company building smart electrical panels that replace traditional
  residential breaker boxes with a software-defined, controllable, and metered panel. SPAN Panel provides whole-home real-time
  power and energy metering, per-circuit monitoring and remote relay control, grid/islanding state management for whole-home
  backup with solar and energy storage, EV charging coordination via SPAN Drive, and a mobile app for energy management. As
  of the SPAN Panel firmware r202603 release (Q1 2026), SPAN exposes a public-beta on-premise SPAN API for software integrations
  between SPAN Panel and other devices on the home Local Area Network. The SPAN API is a real, documented HTTP + MQTT/Homie
  surface that runs directly on the panel — there is no cloud-hosted developer endpoint. The REST surface provides authentication,
  system status, Wi-Fi setup, panel state, per-circuit control, panel grid relay, energy storage state-of-energy, and emergency
  reconnect operations. The publish/subscribe surface uses the Electrification Bus (eBus) framework and Homie Convention over
  MQTT for streaming real-time panel state, per-circuit telemetry, and control of relays. SPAN API is licensed for personal,
  non-commercial use under MIT-0 for docs and example code; commercial / fleet use requires the separately licensed SPAN Fleet
  Manager.
type: Provider
accessModel:
  pricing: unknown
  onboarding: self-serve
  trial: false
  try_now: false
  public: false
  label: Self-serve signup
  confidence: high
  source:
  - plans
  - authentication
  generated: '2026-07-22'
  method: derived
position: Provider
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/span-io.png
tags:
- Energy
- Home Energy
- Electrification
- Smart Panel
- Electrical Panel
- Home Automation
- Solar
- Energy Storage
- EV Charging
- Grid
- Islanding
- Backup Power
- Demand Response
- IoT
- MQTT
- Homie
- Electrification Bus
- On-Premise
url: https://raw.githubusercontent.com/api-evangelist/span-io/refs/heads/main/apis.yml
created: '2026-05-25'
modified: '2026-05-25'
specificationVersion: '0.20'
apis:
- aid: span-io:span-ebus-mqtt-api
  name: SPAN eBus MQTT API
  description: Publish/subscribe streaming API hosted on SPAN Panel using the Electrification Bus (eBus) integration framework
    and the Homie Convention. SPAN Panel hosts an MQTT broker accessible over MQTTS (8883), WS, and WSS. Clients subscribe
    to `ebus/5/<serial>/...` topics to receive real-time panel state, per-circuit telemetry, energy storage state, and SPAN
    Drive integration data, and publish to `/set` topics to operate relays and control panel state. The broker enforces topic-level
    ACLs — full read access on `ebus/#`, write access limited to Homie `/set` control topics and to non-panel device subtrees
    under `ebus/5/`. Credentials are obtained via the REST authentication endpoint.
  humanURL: https://github.com/spanio/SPAN-API-Client-Docs#span-api-interaction-models
  tags:
  - MQTT
  - Homie
  - Electrification Bus
  - eBus
  - Pub/Sub
  - Streaming
  - On-Premise
  - Energy
  properties:
  - url: https://github.com/spanio/SPAN-API-Client-Docs#publishsubscribe
    type: Documentation
  - url: https://homieiot.github.io/specification/
    type: Documentation
  - url: https://ebus.energy/
    type: Documentation
  - url: asyncapi/span-ebus-asyncapi.yml
    type: AsyncAPI
  - url: json-schema/span-homie-schema.json
    type: JSONSchema
- aid: span-io:span-io-auth-api
  name: SPAN Auth API
  description: The Auth API from SPAN — 3 operation(s) for auth.
  humanURL: https://github.com/spanio/SPAN-API-Client-Docs
  baseURL: http://span-{serial-number}.local/api/v1
  tags:
  - Auth
  properties:
  - type: OpenAPI
    url: openapi/span-io-auth-api-openapi.yml
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs/blob/main/README.md
  - type: JSONSchema
    url: json-schema/span-mdns-services-schema.json
  - type: JSONLD
    url: json-ld/span-context.jsonld
- aid: span-io:span-io-circuits-api
  name: SPAN Circuits API
  description: The Circuits API from SPAN — 2 operation(s) for circuits.
  humanURL: https://github.com/spanio/SPAN-API-Client-Docs
  baseURL: http://span-{serial-number}.local/api/v1
  tags:
  - Circuits
  properties:
  - type: OpenAPI
    url: openapi/span-io-circuits-api-openapi.yml
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs/blob/main/README.md
  - type: JSONSchema
    url: json-schema/span-mdns-services-schema.json
  - type: JSONLD
    url: json-ld/span-context.jsonld
- aid: span-io:span-io-islanding-state-api
  name: SPAN Islanding State API
  description: The Islanding State API from SPAN — 1 operation(s) for islanding state.
  humanURL: https://github.com/spanio/SPAN-API-Client-Docs
  baseURL: http://span-{serial-number}.local/api/v1
  tags:
  - Islanding State
  properties:
  - type: OpenAPI
    url: openapi/span-io-islanding-state-api-openapi.yml
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs/blob/main/README.md
  - type: JSONSchema
    url: json-schema/span-mdns-services-schema.json
  - type: JSONLD
    url: json-ld/span-context.jsonld
- aid: span-io:span-io-panel-api
  name: SPAN Panel API
  description: The Panel API from SPAN — 5 operation(s) for panel.
  humanURL: https://github.com/spanio/SPAN-API-Client-Docs
  baseURL: http://span-{serial-number}.local/api/v1
  tags:
  - Panel
  properties:
  - type: OpenAPI
    url: openapi/span-io-panel-api-openapi.yml
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs/blob/main/README.md
  - type: JSONSchema
    url: json-schema/span-mdns-services-schema.json
  - type: JSONLD
    url: json-ld/span-context.jsonld
- aid: span-io:span-io-spaces-api
  name: SPAN Spaces API
  description: The Spaces API from SPAN — 2 operation(s) for spaces.
  humanURL: https://github.com/spanio/SPAN-API-Client-Docs
  baseURL: http://span-{serial-number}.local/api/v1
  tags:
  - Spaces
  properties:
  - type: OpenAPI
    url: openapi/span-io-spaces-api-openapi.yml
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs/blob/main/README.md
  - type: JSONSchema
    url: json-schema/span-mdns-services-schema.json
  - type: JSONLD
    url: json-ld/span-context.jsonld
- aid: span-io:span-io-status-api
  name: SPAN Status API
  description: The Status API from SPAN — 1 operation(s) for status.
  humanURL: https://github.com/spanio/SPAN-API-Client-Docs
  baseURL: http://span-{serial-number}.local/api/v1
  tags:
  - Status
  properties:
  - type: OpenAPI
    url: openapi/span-io-status-api-openapi.yml
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs/blob/main/README.md
  - type: JSONSchema
    url: json-schema/span-mdns-services-schema.json
  - type: JSONLD
    url: json-ld/span-context.jsonld
- aid: span-io:span-io-storage-api
  name: SPAN Storage API
  description: The Storage API from SPAN — 2 operation(s) for storage.
  humanURL: https://github.com/spanio/SPAN-API-Client-Docs
  baseURL: http://span-{serial-number}.local/api/v1
  tags:
  - Storage
  properties:
  - type: OpenAPI
    url: openapi/span-io-storage-api-openapi.yml
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs/blob/main/README.md
  - type: JSONSchema
    url: json-schema/span-mdns-services-schema.json
  - type: JSONLD
    url: json-ld/span-context.jsonld
- aid: span-io:span-io-wifi-api
  name: SPAN Wifi API
  description: The Wifi API from SPAN — 2 operation(s) for wifi.
  humanURL: https://github.com/spanio/SPAN-API-Client-Docs
  baseURL: http://span-{serial-number}.local/api/v1
  tags:
  - Wifi
  properties:
  - type: OpenAPI
    url: openapi/span-io-wifi-api-openapi.yml
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs
  - type: Documentation
    url: https://github.com/spanio/SPAN-API-Client-Docs/blob/main/README.md
  - type: JSONSchema
    url: json-schema/span-mdns-services-schema.json
  - type: JSONLD
    url: json-ld/span-context.jsonld
common:
- type: AgenticAccess
  url: agentic-access/span-io-agentic-access.yml
- type: VulnerabilityDisclosure
  url: security/span-io-vulnerability-disclosure.yml
- type: DomainSecurity
  url: security/span-io-domain-security.yml
- type: Authentication
  url: authentication/span-io-authentication.yml
- type: Website
  url: https://www.span.io
- type: Portal
  url: https://www.span.io
- type: Documentation
  url: https://github.com/spanio/SPAN-API-Client-Docs
- type: Documentation
  url: https://opensource.span.io/span-panel/
- type: Product
  url: https://www.span.io/smart-panel-product
- type: Product
  url: https://www.span.io/products/main-32
- type: Product
  url: https://www.span.io/drive
- type: Product
  url: https://www.span.io/app
- type: Product
  url: https://www.span.io/utilities
- type: Blog
  url: https://www.span.io/blog
- type: AnnouncementPost
  url: https://www.span.io/blog/introducing-span-api-and-span-home-on-premise-public-beta
  name: Introducing SPAN API and SPAN Home On-premise (Public Beta)
- type: Support
  url: https://support.span.io/hc/en-us
- type: TermsOfService
  url: https://www.span.io/terms-of-service
- type: PrivacyPolicy
  url: https://www.span.io/privacy-policy
- type: GitHubOrganization
  url: https://github.com/spanio
- type: Repository
  url: https://github.com/spanio/SPAN-API-Client-Docs
  name: SPAN API Client Documentation
- type: Forums
  url: https://github.com/spanio/SPAN-API-Client-Docs/discussions
  name: SPAN API GitHub Discussions
- type: Issues
  url: https://github.com/spanio/SPAN-API-Client-Docs/issues
- type: ChangeLog
  url: https://github.com/spanio/SPAN-API-Client-Docs/blob/main/CHANGELOG.md
- type: License
  url: https://github.com/spanio/SPAN-API-Client-Docs/blob/main/LICENSE
  name: MIT-0 (Docs and example code)
- type: SDKs
  url: https://github.com/SpanPanel/span-panel-api
  name: span-panel-api (Python, community)
- type: SDKs
  url: https://github.com/SpanPanel/Span
  name: Home Assistant Integration (community)
- type: SDKs
  url: https://github.com/SpanPanel/simulator
  name: SPAN Panel eBus Simulator (community)
- type: Tools
  url: https://github.com/spanio/SPAN-API-Client-Docs/tree/main/scripts
  name: SPAN reference scripts (span-discover, span-auth, span-curl, span-mqtt-pub, span-mqtt-sub, span-mdns-query)
- type: Twitter
  url: https://twitter.com/span_io
- type: LinkedIn
  url: https://www.linkedin.com/company/span-io
- type: YouTube
  url: https://www.youtube.com/@span_io
- type: Careers
  url: https://www.span.io/careers
- type: Contact
  url: https://www.span.io/contact
- type: Plans
  url: plans/span-io-plans-pricing.yml
- type: RateLimits
  url: rate-limits/span-io-rate-limits.yml
- type: FinOps
  url: finops/span-io-finops.yml
- type: Features
  data:
  - SPAN Panel — software-defined smart electrical panel replacing traditional residential breaker boxes
  - Whole-home and per-circuit real-time power and energy metering
  - Per-circuit remote relay control with named circuits and priority groups
  - Grid / islanding state management for whole-home backup with solar and energy storage
  - SPAN Drive — integrated Level 2 EV charging coordinated with the panel
  - SPAN Home mobile and on-premise apps for energy management and monitoring
  - On-premise SPAN API hosted on the panel — REST + MQTT, LAN-only, no cloud
  - HTTP Bearer JWT authentication minted by the panel and bound to a named API client
  - REST resources for circuits, panel state, panel grid relay, panel meter and power, islanding state, energy storage SoE
    and nice-to-have thresholds, Wi-Fi scan/connect, system status, emergency reconnect
  - MQTT pub/sub via the Electrification Bus (eBus) framework using the Homie Convention
  - mDNS-advertised local discovery (`_span._tcp`, `_span-api._tcp`, `_mqtt._tcp`) for zero-config integration
  - JSON Schema for Homie device descriptions and mDNS service records
  - Reference shell + Python scripts (span-discover, span-auth, span-curl, span-mqtt-sub, span-mdns-query)
  - Public beta — initial firmware r202603 for SPAN Panel MAIN 32, rolling out to MAIN 16 / MLO 24 / MAIN 40 / MLO 48 in H2
    2026
  - Commercial / fleet integrations served separately via SPAN Fleet Manager licensing
  - SPAN Utilities — distributed energy resource (DER) management platform for utility partners
  sources:
  - https://www.span.io/blog/introducing-span-api-and-span-home-on-premise-public-beta
  - https://github.com/spanio/SPAN-API-Client-Docs
  - https://www.span.io/smart-panel-product
  - https://opensource.span.io/span-panel/
  updated: '2026-05-25'
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com