SolarEdge Sites API

Site list and site-level data

Operations 13

GET /sites/list Get Site List #
GET /site/{siteId}/details Get Site Details #
GET /site/{siteId}/dataPeriod Get Site Data Period #
GET /site/{siteId}/overview Get Site Overview #
GET /site/{siteId}/image Get Site Image #
GET /site/{siteId}/installerImage Get Site Installer Image #
GET /site/{siteId}/energy Site Energy #
GET /site/{siteId}/timeFrameEnergy Site Energy - Time Period #
GET /site/{siteId}/power Site Power #
GET /site/{siteId}/powerDetails Site Power - Detailed #
GET /site/{siteId}/energyDetails Site Energy - Detailed #
GET /site/{siteId}/currentPowerFlow Site Power Flow #
GET /site/{siteId}/envBenefits Site Environmental Benefits #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/solar-edge-sites-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

solar-edge-sites-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Solar Edge Sites API
  x-refined-note:
  - x-api-id differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged Sites across 3 of this provider''s published API definitions: openapi.yml, solar-edge-monitoring-api-openapi.yml, solar-edge-monitoring-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://monitoringapi.solaredge.com
  description: SolarEdge Monitoring API production server
tags:
- name: Sites
  description: Site list and site-level data
paths:
  /sites/list:
    get:
      operationId: getSiteList
      summary: Get Site List
      description: Returns a paginated list of sites associated with the account token. Sites can be filtered by status and sorted by various properties.
      tags:
      - Sites
      parameters:
      - name: size
        in: query
        description: Number of sites to return per page (max 100)
        schema:
          type: integer
          default: 100
          maximum: 100
      - name: startIndex
        in: query
        description: Starting index for pagination
        schema:
          type: integer
          default: 0
      - name: searchText
        in: query
        description: Free-text search across Name, Notes, Email, Country, State, City, Zip, Full address
        schema:
          type: string
      - name: sortProperty
        in: query
        description: Property to sort results by
        schema:
          type: string
          enum:
          - Name
          - Country
          - State
          - City
          - Address
          - Zip
          - Status
          - PeakPower
          - InstallationDate
          - Amount
          - MaxSeverity
          - CreationTime
      - name: sortOrder
        in: query
        description: Sort order
        schema:
          type: string
          enum:
          - ASC
          - DESC
          default: ASC
      - name: status
        in: query
        description: Comma-separated list of site statuses to filter by, or "All"
        schema:
          type: string
          example: Active,Pending
      responses:
        '200':
          description: Successful response with site list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - ApiKeyQuery: []
    servers:
    - url: https://monitoringapi.solaredge.com
      description: SolarEdge Monitoring API production server
  /site/{siteId}/details:
    get:
      operationId: getSiteDetails
      summary: Get Site Details
      description: Returns detailed information for a single site including location, configuration, and contact info.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/siteId'
      responses:
        '200':
          description: Site details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteDetailsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
      - ApiKeyQuery: []
    servers:
    - url: https://monitoringapi.solaredge.com
      description: SolarEdge Monitoring API production server
  /site/{siteId}/dataPeriod:
    get:
      operationId: getSiteDataPeriod
      summary: Get Site Data Period
      description: Returns the site energy production start and end dates (the period for which data is available).
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/siteId'
      responses:
        '200':
          description: Data period for the site
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataPeriodResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
      - ApiKeyQuery: []
    servers:
    - url: https://monitoringapi.solaredge.com
      description: SolarEdge Monitoring API production server
  /site/{siteId}/overview:
    get:
      operationId: getSiteOverview
      summary: Get Site Overview
      description: Returns current site power and summary energy metrics including today, month, and lifetime energy totals as well as revenue where available. Supports comma-separated siteId for bulk requests (up to 100 sites).
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/siteId'
      responses:
        '200':
          description: Site overview with current power and energy summary
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteOverviewResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
      - ApiKeyQuery: []
    servers:
    - url: https://monitoringapi.solaredge.com
      description: SolarEdge Monitoring API production server
  /site/{siteId}/image:
    get:
      operationId: getSiteImage
      summary: Get Site Image
      description: Returns the site image uploaded by the user.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/siteId'
      - name: maxWidth
        in: query
        description: Maximum image width in pixels
        schema:
          type: integer
      - name: maxHeight
        in: query
        description: Maximum image height in pixels
        schema:
          type: integer
      - name: hash
        in: query
        description: Image hash for cache validation
        schema:
          type: integer
      responses:
        '200':
          description: Site image binary
          content:
            image/jpeg:
              schema:
                type: string
                format: binary
            image/png:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
      - ApiKeyQuery: []
    servers:
    - url: https://monitoringapi.solaredge.com
      description: SolarEdge Monitoring API production server
  /site/{siteId}/installerImage:
    get:
      operationId: getSiteInstallerImage
      summary: Get Site Installer Image
      description: Returns the installer logo image for the site.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/siteId'
      responses:
        '200':
          description: Installer logo image binary
          content:
            image/jpeg:
              schema:
                type: string
                format: binary
            image/png:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
      - ApiKeyQuery: []
    servers:
    - url: https://monitoringapi.solaredge.com
      description: SolarEdge Monitoring API production server
  /site/{siteId}/energy:
    get:
      operationId: getSiteEnergy
      summary: Site Energy
      description: Returns the site energy measurements over a time range at a given resolution.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/siteId_2'
      - $ref: '#/components/parameters/startDate'
      - $ref: '#/components/parameters/endDate'
      - $ref: '#/components/parameters/timeUnit'
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '401':
          $ref: '#/components/responses/Unauthorized_2'
        '429':
          $ref: '#/components/responses/TooManyRequests_2'
      security:
      - api_key: []
    servers:
    - url: https://monitoringapi.solaredge.com
      description: SolarEdge Monitoring API production host
  /site/{siteId}/timeFrameEnergy:
    get:
      operationId: getSiteTimeFrameEnergy
      summary: Site Energy - Time Period
      description: Returns the total energy produced for a given period.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/siteId_2'
      - $ref: '#/components/parameters/startDate'
      - $ref: '#/components/parameters/endDate'
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '401':
          $ref: '#/components/responses/Unauthorized_2'
        '429':
          $ref: '#/components/responses/TooManyRequests_2'
      security:
      - api_key: []
    servers:
    - url: https://monitoringapi.solaredge.com
      description: SolarEdge Monitoring API production host
  /site/{siteId}/power:
    get:
      operationId: getSitePower
      summary: Site Power
      description: Returns the site power measurements in 15-minute resolution over a time range.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/siteId_2'
      - $ref: '#/components/parameters/startTime'
      - $ref: '#/components/parameters/endTime'
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '401':
          $ref: '#/components/responses/Unauthorized_2'
        '429':
          $ref: '#/components/responses/TooManyRequests_2'
      security:
      - api_key: []
    servers:
    - url: https://monitoringapi.solaredge.com
      description: SolarEdge Monitoring API production host
  /site/{siteId}/powerDetails:
    get:
      operationId: getSitePowerDetails
      summary: Site Power - Detailed
      description: Returns detailed site power measurements including meters such as consumption and self-consumption.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/siteId_2'
      - $ref: '#/components/parameters/startTime'
      - $ref: '#/components/parameters/endTime'
      - name: meters
        in: query
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '401':
          $ref: '#/components/responses/Unauthorized_2'
        '429':
          $ref: '#/components/responses/TooManyRequests_2'
      security:
      - api_key: []
    servers:
    - url: https://monitoringapi.solaredge.com
      description: SolarEdge Monitoring API production host
  /site/{siteId}/energyDetails:
    get:
      operationId: getSiteEnergyDetails
      summary: Site Energy - Detailed
      description: Returns detailed site energy measurements including meters such as consumption and self-consumption.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/siteId_2'
      - $ref: '#/components/parameters/startTime'
      - $ref: '#/components/parameters/endTime'
      - $ref: '#/components/parameters/timeUnit'
      - name: meters
        in: query
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '401':
          $ref: '#/components/responses/Unauthorized_2'
        '429':
          $ref: '#/components/responses/TooManyRequests_2'
      security:
      - api_key: []
    servers:
    - url: https://monitoringapi.solaredge.com
      description: SolarEdge Monitoring API production host
  /site/{siteId}/currentPowerFlow:
    get:
      operationId: getSiteCurrentPowerFlow
      summary: Site Power Flow
      description: Retrieves the current power flow between all elements of the site (PV array, load, grid, storage).
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/siteId_2'
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '401':
          $ref: '#/components/responses/Unauthorized_2'
        '429':
          $ref: '#/components/responses/TooManyRequests_2'
      security:
      - api_key: []
    servers:
    - url: https://monitoringapi.solaredge.com
      description: SolarEdge Monitoring API production host
  /site/{siteId}/envBenefits:
    get:
      operationId: getSiteEnvBenefits
      summary: Site Environmental Benefits
      description: Returns all environmental benefits based on site energy production (CO2 saved, trees planted, light bulbs).
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/siteId_2'
      - name: systemUnits
        in: query
        schema:
          type: string
          enum:
          - Metrics
          - Imperial
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '401':
          $ref: '#/components/responses/Unauthorized_2'
        '429':
          $ref: '#/components/responses/TooManyRequests_2'
      security:
      - api_key: []
    servers:
    - url: https://monitoringapi.solaredge.com
      description: SolarEdge Monitoring API production host
components:
  schemas:
    Location:
      type: object
      properties:
        country:
          type: string
        state:
          type: string
        city:
          type: string
        address:
          type: string
        address2:
          type: string
        zip:
          type: string
        timeZone:
          type: string
        countryCode:
          type: string
        stateCode:
          type: string
    DataPeriodResponse:
      type: object
      properties:
        dataPeriod:
          type: object
          properties:
            startDate:
              type: string
              format: date
              description: First date with energy data (YYYY-MM-DD)
            endDate:
              type: string
              format: date
              description: Last date with energy data (YYYY-MM-DD)
    SiteOverviewResponse:
      type: object
      properties:
        overview:
          type: object
          properties:
            lastUpdateTime:
              type: string
              description: Timestamp of last data update
            lifeTimeData:
              $ref: '#/components/schemas/EnergyWithRevenue'
            lastYearData:
              $ref: '#/components/schemas/EnergyWithRevenue'
            lastMonthData:
              $ref: '#/components/schemas/EnergyWithRevenue'
            lastDayData:
              $ref: '#/components/schemas/EnergyWithRevenue'
            currentPower:
              type: object
              properties:
                power:
                  type: number
                  format: float
                  description: Current power production in W
    Module:
      type: object
      properties:
        manufacturerName:
          type: string
        modelName:
          type: string
        maximumPower:
          type: number
        temperatureCoef:
          type: number
    ErrorResponse:
      type: object
      properties:
        code:
          type: integer
          description: HTTP status code
        message:
          type: string
          description: Human-readable error message
    Site:
      type: object
      properties:
        id:
          type: integer
          description: Unique site identifier
        name:
          type: string
          description: Site name
        accountId:
          type: integer
          description: Account identifier
        status:
          type: string
          enum:
          - Active
          - Pending
          - Disabled
          description: Current site status
        peakPower:
          type: number
          format: float
          description: Site peak power capacity in kW
        lastUpdateTime:
          type: string
          description: Last update timestamp
        installationDate:
          type: string
          format: date
          description: Installation date in YYYY-MM-DD format
        ptoDate:
          type: string
          format: date
          description: Permission to operate date
        notes:
          type: string
          description: Site notes
        type:
          type: string
          description: Site type (e.g., Optimizers & Inverters)
        location:
          $ref: '#/components/schemas/Location'
        primaryModule:
          $ref: '#/components/schemas/Module'
        uris:
          type: object
          additionalProperties:
            type: string
        publicSettings:
          type: object
          properties:
            isPublic:
              type: boolean
    SiteDetailsResponse:
      type: object
      properties:
        details:
          $ref: '#/components/schemas/Site'
    SiteListResponse:
      type: object
      properties:
        sites:
          type: object
          properties:
            count:
              type: integer
              description: Total number of sites matching the query
            list:
              type: array
              items:
                $ref: '#/components/schemas/Site'
    EnergyWithRevenue:
      type: object
      properties:
        energy:
          type: number
          format: float
          description: Energy in Wh
        revenue:
          type: number
          format: float
          description: Revenue generated (where applicable)
    Problem:
      type: object
      description: RFC 9457 problem details envelope returned by the SolarEdge Monitoring API on errors.
      properties:
        type:
          type: string
          format: uri
        title:
          type: string
        status:
          type: integer
        detail:
          type: string
        instance:
          type:
          - string
          - 'null'
        properties:
          type: object
          properties:
            traceId:
              type: string
  parameters:
    siteId:
      name: siteId
      in: path
      required: true
      description: Unique numeric identifier for the site. Supports comma-separated values for bulk requests (up to 100 site IDs).
      schema:
        type: string
        example: '12345'
    startDate:
      name: startDate
      in: query
      required: true
      description: Start date in yyyy-MM-dd format.
      schema:
        type: string
        format: date
    startIndex:
      name: startIndex
      in: query
      description: The first item index to return (zero-based), for pagination.
      schema:
        type: integer
        default: 0
    siteId_2:
      name: siteId
      in: path
      required: true
      description: The site identifier.
      schema:
        type: integer
    size:
      name: size
      in: query
      description: The maximum number of items returned in a page (max 100).
      schema:
        type: integer
        default: 100
        maximum: 100
    endTime:
      name: endTime
      in: query
      required: true
      description: End timestamp in yyyy-MM-dd HH:mm:ss format.
      schema:
        type: string
    endDate:
      name: endDate
      in: query
      required: true
      description: End date in yyyy-MM-dd format.
      schema:
        type: string
        format: date
    timeUnit:
      name: timeUnit
      in: query
      description: Aggregation granularity.
      schema:
        type: string
        enum:
        - QUARTER_OF_AN_HOUR
        - HOUR
        - DAY
        - WEEK
        - MONTH
        - YEAR
    startTime:
      name: startTime
      in: query
      required: true
      description: Start timestamp in yyyy-MM-dd HH:mm:ss format.
      schema:
        type: string
  responses:
    TooManyRequests:
      description: Rate limit exceeded. The API allows up to 3 concurrent requests per source IP, and 300 requests per day per account token and per site.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Site or resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: The account is not permitted to access the requested resource.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    TooManyRequests_2:
      description: The api_key/site daily query quota has been exceeded.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    Unauthorized_2:
      description: Authentication failed (missing or invalid api_key).
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://se-api.stoplight.io/docs/monitoring
            title: Unauthorized - Authentication Failed
            status: 401
            detail: Invalid API key
            instance: null
            properties:
              traceId: 6a5f1ad81a5cfa8cd685fc4401bd7770
    OK:
      description: Successful response.
      content:
        application/json:
          schema:
            type: object
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api_key
      description: API key generated through the SolarEdge monitoring portal
    api_key:
      type: apiKey
      in: query
      name: api_key
      description: API key generated in the SolarEdge monitoring platform under Admin > Site Access > API Access. Passed as the api_key query parameter on every request.
x-refined-from:
- openapi.yml
- solar-edge-monitoring-api-openapi.yml
- solar-edge-monitoring-openapi.yml