Grid Interconnection Queue Scraper — CAISO & MISO Projects
DeprecatedPricing
from $30.00 / 1,000 queue project records
Grid Interconnection Queue Scraper — CAISO & MISO Projects
DeprecatedSee tomorrow's power plants today. This CAISO & MISO interconnection queue scraper turns official generator interconnection queue data into one clean feed: solar, wind, storage & gas projects with MW capacity, location, developer, and status. Official data that doesn't break.
Pricing
from $30.00 / 1,000 queue project records
Rating
0.0
(0)
Developer
K O
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
22 days ago
Last modified
Categories
Share
Grid Interconnection Queue Tracker — CAISO & MISO Queue Scraper API
A CAISO interconnection queue API and MISO interconnection queue scraper in one actor. It pulls the official generator interconnection queue — the list of every solar, wind, storage, and gas project formally waiting for permission to connect to the power grid — directly from CAISO's public queue report and MISO's public queue API, and normalizes both into one structured feed.
Use it to build a renewable energy pipeline dataset, a power-plant siting/development tracker, an ISO queue monitoring tool, or a data feed for energy-transition and grid capacity research — all from the same normalized interconnection queue data.
Why this is worth charging for
The interconnection queue is the single best leading indicator of where new power generation capacity is actually headed, years before it shows up in capacity auctions, EIA filings, or news coverage — a project has to enter the queue long before it breaks ground. Firms that specialize in exactly this data (queue analytics, siting intelligence, energy-transition research) sell it as a premium subscription product, not a free download, because:
- The source files are real, messy, ISO-maintained artifacts — CAISO's report has a metadata header block before the real table and repeats MW/fuel-type columns for hybrid (e.g. solar+storage) projects; MISO exposes it as a raw, undocumented JSON API with inconsistent field casing. Reading either correctly, every time, is the actual work.
- The buyers are well-funded and recurring: renewable energy developers doing site selection, transmission planners, PE/infra funds underwriting energy transition deals, utilities tracking competitor projects, and journalists / researchers covering the pace of the energy transition.
- There is no unified cross-ISO API for this anywhere. Commercial equivalents (queue analytics platforms sold to the power sector) price in the tens of thousands of dollars per year for coverage across ISOs.
Output
Each dataset item is one normalized interconnection queue project:
{"iso": "CAISO","projectName": "Sunridge Hybrid Energy Center","queuePosition": "CAISO-2201","developer": null,"utility": "PG&E","county": "Fresno","state": "CA","fuelTypes": ["Solar", "Storage"],"totalMw": 225,"fuelCapacityMw": { "MW-1": 150, "MW-2": 75 },"applicationStatus": "Active","studyProcess": "Cluster 15","currentPhase": null,"requestDate": "2025-04-01","proposedOnlineDate": null,"actualOnlineDate": null,"withdrawnDate": null,"fixedTracking": null,"sourceUrl": "https://www.caiso.com/documents/publicqueuereport.xlsx","headerDetectionConfidence": "high"}
fuelCapacityMw and fuelTypes are arrays/objects rather than single values
on purpose: hybrid projects (solar+storage is now the majority of new CAISO
capacity) report multiple fuel/MW pairs, and collapsing them to one field
would silently understate capacity.
Input
| Field | Description |
|---|---|
isos | Which grid operators to pull (CAISO, MISO at launch — see Roadmap). |
fuelTypeContains | Case-insensitive substring filter, e.g. Storage, Solar, Wind. |
maxItems | Stop after this many normalized project records. |
includeRawRecord | Attach the untouched original row/object for audit — recommended for MISO, since it's a live API. |
Pricing (Pay-Per-Event)
iso-source-refresh— $0.25, charged once per ISO per run, for having refreshed and re-validated that source (covers the cost of the fetch/parse even if a fuel-type filter narrows visible output to zero rows).queue-project-record— $0.03 per normalized project record pushed. This is the primary event.apify-actor-start(synthetic, Apify-managed) — covers the first 5 seconds of compute per run.
A scheduled weekly refresh (checking for new/changed entries across both ISOs) typically costs under a dollar per run; a full historical pull across CAISO's several-thousand-row queue scales with row count but stays priced well below commercial queue-analytics subscriptions.
Why MISO is handled defensively
CAISO's file is a stable, dated ISO publication. MISO's queue is a live,
undocumented JSON API (src/parsers/miso.js) that can change field names,
casing, or availability without notice. Rather than assuming exact key names,
the MISO normalizer pattern-matches keys case-insensitively and always
preserves the full original object under raw, so a MISO-side change degrades
individual fields to null instead of crashing the run or silently returning
wrong data. If the endpoint stops returning a JSON array entirely, that ISO is
skipped with a clear warning and the run continues with any other requested
ISOs. Run npm test for the offline self-test covering both parsers,
including a deliberately hostile MISO payload.
Roadmap
Architecture is pluggable: add an entry to src/sources.js, implement a
parser under src/parsers/, and wire it into ISO_HANDLERS in src/main.js.
ERCOT, PJM, and SPP are natural next additions once each ISO's current public
access method (file vs. API vs. registration-gated portal) is reconfirmed.
FAQ
Is there an API for the CAISO interconnection queue? Yes — this actor is that API. It fetches CAISO's official public queue report and returns structured JSON you can pull via the Apify API, webhook, or direct export (JSON/CSV/Excel), instead of manually downloading and re-parsing the spreadsheet yourself.
Does this cover MISO too?
Yes. CAISO and MISO are both supported in a single run — set the isos
input to ["CAISO", "MISO"] (the default) to pull both, or just one.
What does "interconnection queue" data actually show? Every project — solar, wind, battery storage, or gas — that has formally applied to connect to the grid, including capacity in MW, location, utility/transmission owner, study phase, and application status. It's the earliest structured signal of where new generation capacity is headed, well before construction or news coverage.
Can I filter by fuel type or capacity?
Yes. Use fuelTypeContains (e.g. "Solar", "Storage", "Wind") to filter
at the source, or filter the output dataset by totalMw after the run.
How is this different from reading the CAISO/MISO websites directly? CAISO's report has a messy multi-row header block and repeats MW/fuel-type columns for hybrid projects; MISO's API returns raw, undocumented JSON with inconsistent field casing. This actor normalizes both into one consistent schema so you don't have to reverse-engineer either source yourself.
Need the rest of the record on these companies?
This actor returns one source. KYB Company Data Enrichment takes a company name and returns what the public record says about it across up to nine sources — state business registries, UCC lien filings, tax warrants and WARN layoff notices, the FMCSA motor-carrier census, the CMS NPI Registry, USAspending federal awards, EPA ECHO compliance, SEC EDGAR filings and CourtListener federal dockets.
Every enriched field carries its source and its match confidence. Only matches above the accept threshold are merged — anything weaker is surfaced as a suggestion and never folded into the record, because a false join is worse than returning nothing.