Get PJM interconnection queue data
curl --request GET \
--url https://api.cleanview.co/api/v1/interconnection/pjm \
--header 'x-api-key: <api-key>'import requests
url = "https://api.cleanview.co/api/v1/interconnection/pjm"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.cleanview.co/api/v1/interconnection/pjm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cleanview.co/api/v1/interconnection/pjm",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.cleanview.co/api/v1/interconnection/pjm"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.cleanview.co/api/v1/interconnection/pjm")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cleanview.co/api/v1/interconnection/pjm")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"iso": "PJM",
"summary": {
"limit": 50,
"offset": 0,
"total_results": 1834,
"has_more": true,
"current_page": 1,
"total_pages": 37
},
"filters": {
"state": null,
"technology": null,
"status": null,
"min_capacity": null,
"max_capacity": null,
"developer": null
},
"data": [
{
"iso": "PJM",
"queue_id": "1003606",
"project_name": "FE-PJM",
"capacity_mw": 200.0,
"technology": "Solar",
"fuel": "Solar",
"status": "Planned",
"detailed_status": "Active",
"operating_date": "2025-12-01T00:00:00.000Z",
"request_date": "2022-03-15T00:00:00.000Z",
"county": "Chester",
"state": "PA",
"queue_position": null,
"interconnecting_entity": null,
"developer": "Lightsource BP",
"feasibility_study_status": "Complete",
"system_impact_study_status": "In Progress",
"facilities_study_status": "Not Started",
"interconnection_agreement_status": null,
"construction_service_agreement_status": null,
"transmission_owner": "PECO",
"project_type": "Generation Interconnection",
"balancing_authority_code": "PJM",
"technology_normalized": "Solar",
"project_number": "1003606",
"commercial_name": "Keystone Solar",
"maximum_facility_output": 200
},
{
"iso": "PJM",
"queue_id": "V1-026",
"project_name": "Limerick",
"capacity_mw": 150.0,
"technology": "Wind",
"fuel": "Wind",
"status": "Operating",
"detailed_status": "In Service",
"operating_date": "2024-06-15T00:00:00.000Z",
"request_date": "2021-08-20T00:00:00.000Z",
"county": "Huron",
"state": "OH",
"queue_position": null,
"interconnecting_entity": null,
"developer": "EDF Renewables",
"feasibility_study_status": "Complete",
"system_impact_study_status": "Complete",
"facilities_study_status": "Complete",
"interconnection_agreement_status": "Executed",
"construction_service_agreement_status": "Executed",
"transmission_owner": "AEP",
"project_type": "Generation Interconnection",
"balancing_authority_code": "PJM",
"technology_normalized": "Wind",
"project_number": "V1-026",
"commercial_name": "Buckeye Wind",
"maximum_facility_output": 150
}
]
}
Interconnection Queues
PJM Interconnection Queue
Access real-time PJM interconnection queue data for all power projects
GET
/
interconnection
/
pjm
Get PJM interconnection queue data
curl --request GET \
--url https://api.cleanview.co/api/v1/interconnection/pjm \
--header 'x-api-key: <api-key>'import requests
url = "https://api.cleanview.co/api/v1/interconnection/pjm"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.cleanview.co/api/v1/interconnection/pjm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cleanview.co/api/v1/interconnection/pjm",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.cleanview.co/api/v1/interconnection/pjm"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.cleanview.co/api/v1/interconnection/pjm")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cleanview.co/api/v1/interconnection/pjm")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"iso": "PJM",
"summary": {
"limit": 50,
"offset": 0,
"total_results": 1834,
"has_more": true,
"current_page": 1,
"total_pages": 37
},
"filters": {
"state": null,
"technology": null,
"status": null,
"min_capacity": null,
"max_capacity": null,
"developer": null
},
"data": [
{
"iso": "PJM",
"queue_id": "1003606",
"project_name": "FE-PJM",
"capacity_mw": 200.0,
"technology": "Solar",
"fuel": "Solar",
"status": "Planned",
"detailed_status": "Active",
"operating_date": "2025-12-01T00:00:00.000Z",
"request_date": "2022-03-15T00:00:00.000Z",
"county": "Chester",
"state": "PA",
"queue_position": null,
"interconnecting_entity": null,
"developer": "Lightsource BP",
"feasibility_study_status": "Complete",
"system_impact_study_status": "In Progress",
"facilities_study_status": "Not Started",
"interconnection_agreement_status": null,
"construction_service_agreement_status": null,
"transmission_owner": "PECO",
"project_type": "Generation Interconnection",
"balancing_authority_code": "PJM",
"technology_normalized": "Solar",
"project_number": "1003606",
"commercial_name": "Keystone Solar",
"maximum_facility_output": 200
},
{
"iso": "PJM",
"queue_id": "V1-026",
"project_name": "Limerick",
"capacity_mw": 150.0,
"technology": "Wind",
"fuel": "Wind",
"status": "Operating",
"detailed_status": "In Service",
"operating_date": "2024-06-15T00:00:00.000Z",
"request_date": "2021-08-20T00:00:00.000Z",
"county": "Huron",
"state": "OH",
"queue_position": null,
"interconnecting_entity": null,
"developer": "EDF Renewables",
"feasibility_study_status": "Complete",
"system_impact_study_status": "Complete",
"facilities_study_status": "Complete",
"interconnection_agreement_status": "Executed",
"construction_service_agreement_status": "Executed",
"transmission_owner": "AEP",
"project_type": "Generation Interconnection",
"balancing_authority_code": "PJM",
"technology_normalized": "Wind",
"project_number": "V1-026",
"commercial_name": "Buckeye Wind",
"maximum_facility_output": 150
}
]
}
Overview
The PJM interconnection queue endpoint provides access to real-time data from PJM Interconnection’s generation interconnection queue. PJM serves 13 states and the District of Columbia in the Mid-Atlantic and Midwest regions.PJM Coverage: Contains 9,200+ projects across 13 states. Top technologies: Solar (4,000+ projects), Natural Gas (1,100+ projects), Storage (1,000+ projects), Wind (700+ projects).
Endpoint
curl -H "x-api-key: your_api_key_here" \
"https://api.cleanview.co/api/v1/interconnection/pjm?limit=50"
const response = await fetch('https://api.cleanview.co/api/v1/interconnection/pjm?limit=50', {
headers: {
'x-api-key': 'your_api_key_here'
}
});
const data = await response.json();
import requests
headers = {'x-api-key': 'your_api_key_here'}
response = requests.get(
'https://api.cleanview.co/api/v1/interconnection/pjm?limit=50',
headers=headers
)
data = response.json()
Coverage Area
States Served: Delaware, Illinois, Indiana, Kentucky, Maryland, Michigan, New Jersey, North Carolina, Ohio, Pennsylvania, Tennessee, Virginia, West Virginia, and Washington D.C.Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 1000 | Number of records to return (50-5000) |
offset | integer | 0 | Number of records to skip |
state | string | - | Filter by state code (PA, OH, NJ, etc.) - supports comma-separated |
technology | string | - | Filter by standardized technology type (derived from fuel_type) - supports comma-separated |
status | string | - | Filter by standardized status |
min_capacity | number | - | Minimum capacity in MW |
max_capacity | number | - | Maximum capacity in MW |
developer | string | - | Filter by developer name (supports partial matches) |
Technology Options
Use standardized technology names. See our Interconnection Reference for all available options.
| Technology | Count | Description |
|---|---|---|
Solar | 4,000+ | Solar photovoltaic projects |
Natural Gas | 1,100+ | Natural gas generation |
Storage | 1,000+ | Battery energy storage systems |
Wind | 700+ | Wind turbine projects |
Solar; Storage | 500+ | Combined solar and storage projects |
Methane | 190+ | Methane/biogas projects |
Coal | 140+ | Coal generation |
Hydro | 95+ | Hydroelectric projects |
Offshore Wind | 80+ | Offshore wind projects |
Nuclear | 78+ | Nuclear generation |
Other | 300+ | Other technologies |
Technology Mapping: The
technology field is standardized from PJM’s original fuel_type data to provide consistent filtering across all CleanView APIs.Status Options
| Status | Count | Description |
|---|---|---|
Planned | 1,200+ | Active projects in queue |
Operating | 400+ | Commercial operation achieved |
Cancelled | 200+ | Withdrawn or terminated |
Top States by Project Count
| State | Project Count | Top Technology |
|---|---|---|
| Pennsylvania | ~400 | Solar, Natural Gas |
| Ohio | ~300 | Solar, Wind |
| New Jersey | ~250 | Solar |
| Illinois | ~200 | Solar, Wind |
| Virginia | ~180 | Solar |
Example Requests
Get Active Solar Projects in Pennsylvania
Get Active Solar Projects in Pennsylvania
curl -H "x-api-key: your_api_key_here" \
"https://api.cleanview.co/api/v1/interconnection/pjm?technology=Solar&status=Planned&state=PA&limit=50"
Get Large Natural Gas Projects (>300 MW)
Get Large Natural Gas Projects (>300 MW)
curl -H "x-api-key: your_api_key_here" \
"https://api.cleanview.co/api/v1/interconnection/pjm?technology=Natural%20Gas&min_capacity=300&limit=50"
Get Projects by Multiple States
Get Projects by Multiple States
curl -H "x-api-key: your_api_key_here" \
"https://api.cleanview.co/api/v1/interconnection/pjm?state=PA,OH,NJ&limit=50"
Get Projects by Developer
Get Projects by Developer
curl -H "x-api-key: your_api_key_here" \
"https://api.cleanview.co/api/v1/interconnection/pjm?developer=Invenergy&limit=50"
Response Schema
{
"iso": "PJM",
"summary": {
"limit": 50,
"offset": 0,
"total_results": 1834,
"has_more": true,
"current_page": 1,
"total_pages": 37
},
"filters": {
"state": null,
"technology": null,
"status": null,
"min_capacity": null,
"max_capacity": null,
"developer": null
},
"data": [
{
"iso": "PJM",
"queue_id": "1003606",
"project_name": "FE-PJM",
"capacity_mw": 200.0,
"technology": "Solar",
"fuel": "Solar",
"status": "Planned",
"detailed_status": "Active",
"operating_date": "2025-12-01T00:00:00.000Z",
"request_date": "2022-03-15T00:00:00.000Z",
"county": "Chester",
"state": "PA",
"queue_position": null,
"interconnecting_entity": null,
"developer": "Lightsource BP",
"feasibility_study_status": "Complete",
"system_impact_study_status": "In Progress",
"facilities_study_status": "Not Started",
"interconnection_agreement_status": null,
"construction_service_agreement_status": null,
"transmission_owner": "PECO",
"project_type": "Generation Interconnection",
"balancing_authority_code": "PJM",
"technology_normalized": "Solar",
"project_number": "1003606",
"commercial_name": "Keystone Solar",
"maximum_facility_output": 200
},
{
"iso": "PJM",
"queue_id": "V1-026",
"project_name": "Limerick",
"capacity_mw": 150.0,
"technology": "Wind",
"fuel": "Wind",
"status": "Operating",
"detailed_status": "In Service",
"operating_date": "2024-06-15T00:00:00.000Z",
"request_date": "2021-08-20T00:00:00.000Z",
"county": "Huron",
"state": "OH",
"queue_position": null,
"interconnecting_entity": null,
"developer": "EDF Renewables",
"feasibility_study_status": "Complete",
"system_impact_study_status": "Complete",
"facilities_study_status": "Complete",
"interconnection_agreement_status": "Executed",
"construction_service_agreement_status": "Executed",
"transmission_owner": "AEP",
"project_type": "Generation Interconnection",
"balancing_authority_code": "PJM",
"technology_normalized": "Wind",
"project_number": "V1-026",
"commercial_name": "Buckeye Wind",
"maximum_facility_output": 150
}
]
}
Complete Upstream Data: Each project includes all 51 database columns from PJM’s interconnection queue at the top level. This provides complete transparency with both standardized fields (normalized across all ISOs) and PJM-specific raw fields like
project_number, maximum_facility_output, and is_behind_meter.Response Fields
Core Fields (Always Present)
| Field | Type | Description |
|---|---|---|
iso | string | Always “PJM” for PJM data |
queue_id | string | Unique PJM project number (e.g., “1003606” or “V1-026”) |
project_name | string | Project name (usually available) |
capacity_mw | number | Project capacity in MW |
technology | string | Standardized technology type |
status | string | Standardized status (Planned, Operating, Cancelled) |
queue_position | string | Queue position identifier (null - PJM does not provide queue position data) |
balancing_authority_code | string | Always “PJM” |
Location & Timing
| Field | Type | Description |
|---|---|---|
state | string | State code (PA, OH, NJ, etc.) |
county | string | County name where project is located |
operating_date | date | Expected/actual commercial operation date |
request_date | date | Date project entered queue |
Technology & Fuel
| Field | Type | Description |
|---|---|---|
fuel | string | Original fuel type from PJM data |
technology | string | Standardized technology type (derived from fuel_type) |
technology_normalized | string | Same as technology for consistency |
PJM-Specific Fields
| Field | Type | Description |
|---|---|---|
transmission_owner | string | Transmission utility (PECO, PPL, etc.) |
project_type | string | Interconnection type (Generation Interconnection, etc.) |
Study Process
| Field | Type | Description |
|---|---|---|
feasibility_study_status | string | Feasibility study completion status |
system_impact_study_status | string | System impact study status |
facilities_study_status | string | Facilities study completion status |
interconnection_agreement_status | string | Interconnection agreement execution status |
Developer Information
| Field | Type | Description |
|---|---|---|
interconnecting_entity | string | Always null - PJM queue does not provide interconnecting entity information |
developer | string | Developer name (limited availability) |
Data Updates: PJM queue data is updated monthly based on PJM’s New Services Queue reports. The API reflects the most recent interconnection queue data available.
Study Process: PJM uses a detailed multi-phase study process including feasibility, system impact, and facilities studies. The study status fields track progress through each phase.
Missing Coordinates: PJM data does not include latitude/longitude coordinates. Use the
county, state, and transmission_owner fields for geographic analysis.Authorizations
API key authentication using x-api-key header
Query Parameters
Number of records to return
Required range:
50 <= x <= 5000Number of records to skip
Filter by state code
Filter by technology type
Minimum capacity in MW
Maximum capacity in MW