Southern California Edison DRPEP Portal API

Undocumented JSON endpoints the DRPEP web app calls directly. Observed answering anonymously; SCE publishes no contract for them.

Operations 2

GET /api/op3 Get operational-flexibility (Op Flex) status for a circuit #
GET /api/DownloadCSV Request the ICA CSV export for a circuit node #

Documentation

Specifications

Schemas & Data

Other Resources

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/southern-california-edison-drpep-portal-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

southern-california-edison-drpep-portal-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SCE DRPEP ArcGIS REST Services DRPEP Portal API
  version: '11.1'
  summary: Anonymous, key-free Esri ArcGIS REST interface behind Southern California Edison's Distribution Resources Plan External Portal (DRPEP).
  description: 'Machine-readable description of the anonymous grid-data API that Southern California Edison serves at `drpep.sce.com`. SCE publishes **no** OpenAPI, no developer portal, and no written API reference for this surface; this document was generated by API Evangelist from live, unauthenticated probes of the service itself (ArcGIS Enterprise 11.1 REST, `f=json`) on 2026-07-27 and from the service, layer, and field descriptors saved verbatim under `arcgis/` in this repository. Every path, parameter, and example below was observed answering anonymously with HTTP 200 - nothing here is aspirational.


    The catalog exposes 15 hosted FeatureServers covering 47 feature layers and 11 tables: Integration Capacity Analysis (ICA) circuit segments and their generation/load constraint layers, distribution circuits, substations, the Distribution Deferral Opportunity Report (DDOR), the Grid Needs Assessment (GNA), Locational Net Benefit Analysis (LNBA), Public Safety Power Shutoff (PSPS) boundaries, CPUC fire-threat tiers, transmission projects, available-load and subtransmission heat maps, and load-growth penetration. The ICA circuit-segment layer alone answers 676,467 features.


    Read-only: every hosted service advertises `capabilities: Query` (DRP_Transmission_Projects also allows `Extract`). There is no write surface, no API key, and no rate-limit header. The sibling `Utilities` folder on the same server is NOT open - it returns `{"error":{"code":499,"message":"Token Required"}}`.


    This spec does not cover SCE Green Button Connect My Data. That interface is real and mandated by CPUC tariff Rule 26, but SCE discloses no base URI, endpoint, or scope publicly; see `authentication/` and the repository review for what is actually known.'
  termsOfService: https://www.sce.com/terms-conditions
  contact:
    name: API Evangelist (generator of this description, not the API operator)
    url: https://apievangelist.com
  x-generated-by: api-evangelist enrichment pipeline
  x-generated-on: '2026-07-27'
  x-provenance: api-evangelist-generated from live anonymous probes; NOT published by Southern California Edison
  x-source-probes:
  - https://drpep.sce.com/arcgis_server/rest/info?f=json
  - https://drpep.sce.com/arcgis_server/rest/services?f=json
  - https://drpep.sce.com/arcgis_server/rest/services/Hosted?f=json
  - https://drpep.sce.com/arcgis_server/rest/services/Hosted/ICA_Layer/FeatureServer?f=json
  - https://drpep.sce.com/arcgis_server/rest/services/Hosted/ICA_Layer/FeatureServer/0?f=json
  - https://drpep.sce.com/arcgis_server/rest/services/Hosted/ICA_Layer/FeatureServer/0/query?where=1%3D1&returnCountOnly=true&f=json
servers:
- url: https://drpep.sce.com
  description: SCE Distribution Resources Plan External Portal (production, anonymous)
tags:
- name: DRPEP Portal
  description: Undocumented JSON endpoints the DRPEP web app calls directly. Observed answering anonymously; SCE publishes no contract for them.
paths:
  /api/op3:
    get:
      operationId: getDrpepOperationalFlexibility
      tags:
      - DRPEP Portal
      summary: Get operational-flexibility (Op Flex) status for a circuit
      description: Undocumented JSON endpoint called by the DRPEP web application. Observed answering anonymously with HTTP 200 and the body `{"beingProcessed":false,"title":null,"op3Disclaimer":null}` for an unknown circuit. SCE publishes no contract, no field reference, and no support commitment for this endpoint; treat it as unstable.
      parameters:
      - name: circuit
        in: query
        required: true
        description: Circuit name, as found in the `circuit_name` attribute of the ICA layers.
        schema:
          type: string
      - name: kv
        in: query
        required: false
        description: Circuit voltage in kV, as found in the `circuit_voltage` attribute.
        schema:
          type: string
      responses:
        '200':
          description: Op Flex status document.
          content:
            application/json:
              schema:
                type: object
                properties:
                  beingProcessed:
                    type: boolean
                  title:
                    type:
                    - string
                    - 'null'
                  op3Disclaimer:
                    type:
                    - string
                    - 'null'
              example:
                beingProcessed: false
                title: null
                op3Disclaimer: null
      x-undocumented: true
  /api/DownloadCSV:
    get:
      operationId: downloadDrpepNodeCsv
      tags:
      - DRPEP Portal
      summary: Request the ICA CSV export for a circuit node
      description: Undocumented JSON endpoint behind the DRPEP app per-node CSV download. Observed answering anonymously with HTTP 201 and `{"status":false}` for unknown inputs. The stable, documented-by-data path to the same exports is the `download_link` attribute carried on each ICA circuit segment feature.
      parameters:
      - name: circuitName
        in: query
        required: true
        description: Circuit name from `circuit_name`.
        schema:
          type: string
      - name: nodeName
        in: query
        required: true
        description: Node identifier from `node_id`.
        schema:
          type: string
      responses:
        '201':
          description: Export request acknowledgement.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
              example:
                status: false
      x-undocumented: true
externalDocs:
  description: DRPEP portal (Esri Experience Builder app over these services)
  url: https://drpep.sce.com/drpep/
x-drpep-inventory:
- service: AVL_LOAD_CAP_TOGGLE
  id: 0
  name: AVL_LOAD_CAP_FULL_SUBMITTAL
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 128
- service: AVL_LOAD_CAP_TOGGLE
  id: 1
  name: AVL_LOAD_CAP_FULL_AND_PARTIAL_SUBMITTAL
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 128
- service: AVL_LOAD_HEAT_MAP_TOGGLE
  id: 0
  name: GRID_RANK_AGGR_FULL
  kind: layer
  geometryType: esriGeometryPolygon
  fieldCount: 6
- service: AVL_LOAD_HEAT_MAP_TOGGLE
  id: 1
  name: GRID_RANK_AGGR_FULL_PARTIAL
  kind: layer
  geometryType: esriGeometryPolygon
  fieldCount: 6
- service: DDOR_Layer
  id: 0
  name: DDOR Substations
  kind: layer
  geometryType: esriGeometryPoint
  fieldCount: 33
- service: DDOR_Layer
  id: 1
  name: DDOR Subtransmission
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 33
- service: DDOR_Layer
  id: 2
  name: DDOR - Circuits
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 36
- service: DDOR_Layer
  id: 3
  name: DDOR FGDB DATE TIME
  kind: table
  geometryType: null
  fieldCount: 3
- service: DRP_PSPS_Layer
  id: 0
  name: PSPS_Subtransmission
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 14
- service: DRP_PSPS_Layer
  id: 1
  name: PSPS_Circuit
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 16
- service: DRP_ScreenL_08202021
  id: 0
  name: Sheet1
  kind: table
  geometryType: null
  fieldCount: 3
- service: DRP_Transmission_Projects
  id: 0
  name: CAISO_APPROVED_POLYGON
  kind: layer
  geometryType: esriGeometryPolygon
  fieldCount: 16
- service: DRP_Transmission_Projects
  id: 1
  name: UTILITY_APPROVED_POLYGON
  kind: layer
  geometryType: esriGeometryPolygon
  fieldCount: 16
- service: DRP_Transmission_Projects
  id: 2
  name: CPUC_APPROVED_POLYGON
  kind: layer
  geometryType: esriGeometryPolygon
  fieldCount: 16
- service: Distribution_circuits
  id: 0
  name: Distribution Circuits
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 11
- service: Firemap
  id: 0
  name: Tree_Mortality___Tier_1
  kind: layer
  geometryType: esriGeometryPolygon
  fieldCount: 10
- service: Firemap
  id: 1
  name: CPUC_Fire_Threat_Areas____Tier_2___Elevated
  kind: layer
  geometryType: esriGeometryPolygon
  fieldCount: 10
- service: Firemap
  id: 2
  name: CPUC_Fire_Threat_Areas____Tier_3___Extreme
  kind: layer
  geometryType: esriGeometryPolygon
  fieldCount: 10
- service: GNA_Layer
  id: 0
  name: GNA Substations
  kind: layer
  geometryType: esriGeometryPoint
  fieldCount: 31
- service: GNA_Layer
  id: 1
  name: GNA Subtransmission
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 25
- service: GNA_Layer
  id: 2
  name: GNA - Circuits
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 39
- service: GNA_Layer
  id: 3
  name: Circuit Level Planning Assumptions
  kind: table
  geometryType: null
  fieldCount: 23
- service: GNA_Layer
  id: 4
  name: GNA FGDB DATE TIME
  kind: table
  geometryType: null
  fieldCount: 3
- service: GNA_Layer
  id: 5
  name: Substation Level Planning Assumptions
  kind: table
  geometryType: null
  fieldCount: 20
- service: ICA_Layer
  id: 0
  name: ICA - Circuit Segments
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 29
- service: ICA_Layer
  id: 1
  name: ICA - Circuit Segments, Non-3 Phase
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 16
- service: ICA_Layer
  id: 2
  name: ICA - Generation Op Flex
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 17
- service: ICA_Layer
  id: 3
  name: ICA - Generation Protection
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 17
- service: ICA_Layer
  id: 4
  name: ICA - Generation Steady State Voltage
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 17
- service: ICA_Layer
  id: 5
  name: ICA - Generation Thermal
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 17
- service: ICA_Layer
  id: 6
  name: ICA - Generation Voltage Variation
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 17
- service: ICA_Layer
  id: 7
  name: ICA - Load Steady State Voltage
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 17
- service: ICA_Layer
  id: 8
  name: ICA - Load Thermal
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 17
- service: ICA_Layer
  id: 9
  name: ICA - Load Voltage Variation
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 17
- service: ICA_Layer
  id: 10
  name: ICA - Solar Op Flex
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 17
- service: ICA_Layer
  id: 11
  name: ICA - Solar PV Static Grid
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 17
- service: ICA_Layer
  id: 12
  name: ICA - Unavailable Circuit Segments
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 8
- service: ICA_Layer
  id: 13
  name: ICA - Uniform Generation Op Flex
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 17
- service: ICA_Layer
  id: 14
  name: ICA - Uniform Generation Static Grid
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 17
- service: ICA_Layer
  id: 15
  name: ICA - Uniform Load Static Grid
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 17
- service: ICA_Layer
  id: 16
  name: Substations
  kind: layer
  geometryType: esriGeometryPoint
  fieldCount: 14
- service: ICA_Layer
  id: 17
  name: RAM - Circuits
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 16
- service: ICA_Layer
  id: 18
  name: Transmission Circuits
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 6
- service: ICA_Layer
  id: 19
  name: SCE Service Territory
  kind: layer
  geometryType: esriGeometryPolygon
  fieldCount: 9
- service: ICA_Tables
  id: 0
  name: DRPEP_FGDB_DATE_TIME
  kind: table
  geometryType: null
  fieldCount: 3
- service: ICA_Tables
  id: 1
  name: Historical Circuit Load Profile
  kind: table
  geometryType: null
  fieldCount: 12
- service: ICA_Tables
  id: 2
  name: Historical Substation Load Profile
  kind: table
  geometryType: null
  fieldCount: 9
- service: ICA_Tables
  id: 3
  name: ICA Single Consolidated Table
  kind: table
  geometryType: null
  fieldCount: 26
- service: ICA_Tables
  id: 4
  name: Forecasted Circuit Load Profile
  kind: table
  geometryType: null
  fieldCount: 12
- service: LNBA_Layer
  id: 0
  name: DER Growth Scenario, Planning
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 10
- service: LNBA_Layer
  id: 1
  name: LNBA Short-term, Planning
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 23
- service: LNBA_Layer
  id: 2
  name: LNBA Mid-term, Planning
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 23
- service: LNBA_Layer
  id: 3
  name: LNBA Long-term, Planning
  kind: layer
  geometryType: esriGeometryPolyline
  fieldCount: 23
- service: LNBA_Layer
  id: 4
  name: LNBA_FGDB_DATE_TIME
  kind: table
  geometryType: null
  fieldCount: 3
- service: LOAD_GROWTH_PEN_HTMAP
  id: 0
  name: GRID_RANK_AGGR
  kind: layer
  geometryType: esriGeometryPolygon
  fieldCount: 5
- service: MGEP_AVL_LOAD_HEAT_MAP
  id: 0
  name: GRID_RANK_AGGR_FULL
  kind: layer
  geometryType: esriGeometryPolygon
  fieldCount: 6
- service: MGEP_AVL_LOAD_HEAT_MAP
  id: 1
  name: GRID_RANK_AGGR_FULL_PARTIAL
  kind: layer
  geometryType: esriGeometryPolygon
  fieldCount: 6
- service: SUBTRANS_HEATMAP
  id: 0
  name: Subtrans_heatmap
  kind: layer
  geometryType: esriGeometryPoint
  fieldCount: 19