CA CalGEM Oil & Gas & Geothermal Well Register
Pricing
$1.00 / 1,000 california oil/gas well registration records
CA CalGEM Oil & Gas & Geothermal Well Register
California oil & gas / geothermal well register (public CalGEM data, ~242k wells): status (active/idle/plugged), well type, operator, county, field, HPZ, location. Due-diligence for environmental & mineral-rights research. Filter by county, operator, status, API number.
Pricing
$1.00 / 1,000 california oil/gas well registration records
Rating
0.0
(0)
Developer
Wenhao Yang
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
CA CalGEM Oil & Gas & Geothermal Wells - California Well Register
California's Dept of Conservation / CalGEM publishes its well register (WellSTAR) as a free public map service - every oil, gas and geothermal well ever filed with the state. This actor turns it into a queryable, charged-per-record API - for environmental due-diligence, mineral-rights and land research, and oil & gas supply-chain vetting.
What it covers
~242.5k wells across California (layer 0 of CalGEM's WellSTAR service). Each record carries:
| Field | What it is |
|---|---|
apiNumber | the 10-digit API number - the stable per-well key |
status | Active (53.9k) / Idle (30.3k) / Plugged (146.6k, sealed) / Canceled / New / PluggedOnly / Unknown |
wellType | Oil & Gas / Waterflood / Cyclic Steam / Steamflood / Observation / Gas Storage / Water Disposal / Dry Gas ... |
operatorName | who operates the well (Chevron, Aera Energy, California Resources...) |
county / district | location (Kern is the giant; offshore areas are suffixed 'Offshore') |
fieldName / areaName | producing field |
leaseName / wellNumber | lease and well-on-lease identity |
section / township / range / baseMeridian | PLSS survey location |
spudDate / spudYear | when the well was first drilled |
inHPZ | verified high-pressure-zone wells |
confidential / directional | flags |
latitude / longitude | coordinates |
Typical questions
- "How many active wells does this operator run in Kern County?"
- "Which wells are in a verified HPZ near this township/range?"
- "Every plugged well on this lease - did the site get sealed?"
- "Where are California's gas-storage wells (for storage-safety diligence)?"
- "New wells spudded since 2020 in Kern County."
Honest limits
The register is a status snapshot, not a production ledger: it carries no depth, plug-report or bond columns, and no per-well "last updated" timestamp (CalGEM exposes those only through other systems). Spud date is a text column, so year filtering happens after a bounded scan. Don't build depth-history claims on this data.
Inputs
| Input | What it does |
|---|---|
status | Active (default when no other filter is set) / Idle / Plugged / Canceled / PluggedOnly / New / Unknown / NotCalGEMJurisdiction. Leave empty to search all statuses (use with a county/operator/well-type filter for a full-status view) |
county / operator / leaseName / wellNumber | name substrings |
wellType | code or label (OG / 'Oil & Gas', WF / 'Waterflood', ...) |
apiNumber | exact 10-digit API - single well |
inHPZ / confidential / directional | yes/no flags |
spudYearFrom / spudYearTo | first-drilled year range (record runs; not combinable with aggregate) |
latMin/latMax/lonMin/lonMax | bounding box |
aggregate / groupBy | one row per group (county / status / wellType / operator / field / district) with a count |
maxResults | cap records (default 50) |
Default run = up to 50 active wells - fast enough for the daily auto-test, and a live slice of California's operating wells.
Note: a run is capped at $5 of usage - a request large enough to reach it (roughly 5,000 records at the entry price) is cut off part-way, and the truncated run still reports success. For whole-corpus counts, use aggregate.
Example inputs
One well by API number - The 10-digit API number is the stable per-well key.
{"apiNumber": "0403703161", "maxResults": 5}
Active wells run by one operator in one county - operator and county are substring matches.
{"status": "Active", "operator": "Chevron", "county": "Kern", "maxResults": 25}
Verified high-pressure-zone wells in one county
{"inHPZ": "Verified HPZ", "county": "Los Angeles", "maxResults": 25}
Wells by status - aggregate=true returns one summary row per group with a count.
{"aggregate": true, "groupBy": "status"}
Low cost
From $0.001 per record - billed only for the rows you use, and each record is metered individually.
The register is 242,545 wells across California's oil, gas and geothermal fields. The source publishes its drill dates as strings, not dates - so a naive year filter would silently mis-sort records - and its aggregate endpoint ignores its own row-count limit. We sidestep both: year filtering runs as a bounded scan on our side, aggregate rows are re-sliced correctly on our side, and the source's quirky status values (a whitespace-less NotCalGEMJurisdiction, for one) are matched exactly rather than by sloppy substring. You query a clean well register by county / operator / status / API number; the data quirks stay on our side.
Example output
One well - apiNumber=0403703161 returns the single well:
{"platform": "ca-wells","source": "calgem-wellstar","mode": "rows","apiNumber": "0403703161","leaseName": "Lease by Tidelands Oil Production Co.","wellNumber": "Z1 61","status": "Plugged","wellTypeCode": "OG","wellType": "Oil & Gas","operatorName": "Tidelands Oil Production Co.","fieldName": "Wilmington","areaName": "Fault Block V","district": "Southern","county": "Los Angeles","section": "11","township": "05S","range": "13W","baseMeridian": "SB","spudDate": "03/07/1962","spudYear": "1962","confidential": "N","directional": "Y","inHPZ": "Verified HPZ","latitude": "33.75258636","longitude": "-118.20665741","groupKey": "","groupCount": ""}
aggregate=true, groupBy=status - wells by status:
Plugged 146.6kActive 53.9kIdle 30.3k
Source
- CalGEM WellSTAR (California Dept of Conservation) - official, free public map service.