{"contractVersion":"parcelops.connector.v1","name":"ca-calgem","displayName":"CalGEM California Oil & Gas Wells","description":"California oil, gas, and injection wells near a parcel: proximity, idle and orphan exposure, oil-field and gas-storage boundaries at a point, and the CalGEM construction-site well-review signal that can gate a local building permit. Abandoned oil wells are the plugged, idle, and orphan records here; pre-regulation and undocumented wells are not mapped. Spatially anchored only — no production or injection volumes, no permit pipeline, and no statewide well search.","tags":["california","wells","oil-and-gas","idle-wells","orphan-wells","parcel-risk","due-diligence","building-permit","calgem","wellstar"],"authentication":{"type":"none","required":false},"provenance":{"sourceName":"CalGEM WellSTAR (Well Statewide Tracking and Reporting System)","sourceUrl":"https://gis.conservation.ca.gov/server/rest/services/WellSTAR/Wells/MapServer/0","apiBaseUrl":"https://gis.conservation.ca.gov/server/rest/services","documentationUrl":"https://www.conservation.ca.gov/calgem/maps"},"freshness":{"status":"declared","value":{"mode":"scheduled","cadence":"P1D","notes":"CalGEM states the well layer is regenerated daily. There is no record-level update timestamp anywhere in the payload, so freshness is publisher-asserted and NOT observable — observedAtField and updatedAtField are deliberately omitted. The service copyrightText still carries the pre-2020 DOGGR name and the ArcGIS Hub item modified date is 2022; neither is a freshness signal."}},"coverage":{"geographic":{"status":"declared","value":["California"]},"temporal":{"status":"not_declared"}},"methods":{"total":5,"items":[{"name":"searchWellsNearPoint","description":"List CalGEM wells within a radius of a point, nearest first, with status and operator filters.","notes":"Radius is meters. Use getParcelWellRisk when counts matter more than records.","requiredParams":["latitude","longitude"],"inputSchema":{"type":"object","properties":{"latitude":{"type":"number","minimum":-90,"maximum":90,"description":"WGS84 latitude of the parcel or site."},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"WGS84 longitude of the parcel or site."},"radiusMeters":{"type":"integer","minimum":1,"maximum":8000,"default":1000,"description":"Search radius in METERS, passed to CalGEM verbatim. Defaults to 1000."},"wellStatus":{"type":"string","enum":["Plugged","Active","Idle","Canceled","New","PluggedOnly","Unknown","NotCalGEMJurisdiction"]},"wellType":{"type":"string","maxLength":32,"description":"Well-type code or label, e.g. OG or \"Oil & Gas\". 24 pairs; see getServiceInfo."},"operatorName":{"type":"string","maxLength":120,"description":"Operator-name substring. A filter within a spatial scope, not a search axis."},"limit":{"type":"integer","minimum":1,"maximum":200,"default":50},"format":{"type":"string","enum":["records","geojson"],"description":"geojson returns GeoJSON Features in records for map rendering."}},"required":["latitude","longitude"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","cadence":"P1D","notes":"CalGEM states the well layer is regenerated daily. There is no record-level update timestamp anywhere in the payload, so freshness is publisher-asserted and NOT observable — observedAtField and updatedAtField are deliberately omitted. The service copyrightText still carries the pre-2020 DOGGR name and the ArcGIS Hub item modified date is 2022; neither is a freshness signal."},"scope":"connector"},"entities":{"status":"declared","value":["well"]},"pagination":{"status":"declared","value":{"style":"none","limitField":"limit"}},"output":{"schema":{"status":"not_declared"},"units":{"status":"declared","value":{"radiusMeters":"m","distanceMeters":"m"}},"coordinateReferenceSystem":{"status":"declared","value":"EPSG:4326"}},"caveats":["CalGEM well locations are permit-time surface locations (GISSource is frequently \"Notice of Intent to Drill\"), not as-drilled surveys, and a directionally drilled well's bottomhole is elsewhere. This connector answers \"how many wells are within N meters of this point\", never \"is there a well on this parcel\".","CalGEM states its well data varies in accuracy, scale, origin, and completeness, may be updated, amended, or deleted at any time without notice, and carries no warranty of fitness. This is not a title, survey, environmental clearance, or regulatory determination.","HPZ (SB 1137 health protection zone) is reported only as the per-well inHPZ attribute of NEARBY WELLS, never as a property of the parcel. The Health_Protection_Zones polygon layer is deliberately never queried: its dissolved multipart polygons return confident wrong answers, including \"Verified HPZ\" over Death Valley and a single feature covering San Francisco that spans a third of the state.","No production or injection volumes, no permit pipeline, no well-record documents. CalGEM serves those only as file-request downloads (SQL .BAK backups and PDFs), and the WellSTAR public search is a session UI with no JSON surface. A \"how much did this well produce\" question cannot be answered here.","Orphan-well answers carry a vintage because CalGEM republishes that screening list as a NEW service on a separate ArcGIS Online host every quarter, with counts that move sharply between vintages (5,295 in 2024, 946 in 2025, 932 in 2026 Q1, 1,048 in 2026 Q2). A stale URL is not obviously stale, so the count is never reported without its vintage.","Geothermal wells are excluded from v1. They live on a separate layer of the same service with an incompatible schema (APINumber, Lat83/Long83), and mapping them as if they were oil-and-gas wells would silently mis-field every record.","Absence of a mapped well is not evidence of clear ground: pre-regulation, undocumented, and non-CalGEM-jurisdiction wells are not in this layer.","summary.matchedRecords is the exact match count from a server-side count query; records are capped at limit and sorted nearest first.","Above 2000 matches the nearest set is ranked over the first 2000 by OBJECTID and says so in caveats."]},{"name":"getParcelWellRisk","description":"Roll up wells near a point: counts by status and type, nearest well, orphan and field flags.","notes":"Small payload; prefer for dossier. Match radiusMeters to searchWellsNearPoint.","requiredParams":["latitude","longitude"],"inputSchema":{"type":"object","properties":{"latitude":{"type":"number","minimum":-90,"maximum":90,"description":"WGS84 latitude of the parcel or site."},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"WGS84 longitude of the parcel or site."},"radiusMeters":{"type":"integer","minimum":1,"maximum":8000,"default":1000,"description":"Search radius in METERS, passed to CalGEM verbatim. Defaults to 1000."}},"required":["latitude","longitude"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","cadence":"P1D","notes":"CalGEM states the well layer is regenerated daily. There is no record-level update timestamp anywhere in the payload, so freshness is publisher-asserted and NOT observable — observedAtField and updatedAtField are deliberately omitted. The service copyrightText still carries the pre-2020 DOGGR name and the ArcGIS Hub item modified date is 2022; neither is a freshness signal."},"scope":"connector"},"entities":{"status":"declared","value":["well","oil-field-boundary","gas-storage-project"]},"pagination":{"status":"declared","value":{"style":"none"}},"output":{"schema":{"status":"not_declared"},"units":{"status":"declared","value":{"radiusMeters":"m","distanceMeters":"m"}},"coordinateReferenceSystem":{"status":"declared","value":"EPSG:4326"}},"caveats":["CalGEM well locations are permit-time surface locations (GISSource is frequently \"Notice of Intent to Drill\"), not as-drilled surveys, and a directionally drilled well's bottomhole is elsewhere. This connector answers \"how many wells are within N meters of this point\", never \"is there a well on this parcel\".","CalGEM states its well data varies in accuracy, scale, origin, and completeness, may be updated, amended, or deleted at any time without notice, and carries no warranty of fitness. This is not a title, survey, environmental clearance, or regulatory determination.","HPZ (SB 1137 health protection zone) is reported only as the per-well inHPZ attribute of NEARBY WELLS, never as a property of the parcel. The Health_Protection_Zones polygon layer is deliberately never queried: its dissolved multipart polygons return confident wrong answers, including \"Verified HPZ\" over Death Valley and a single feature covering San Francisco that spans a third of the state.","No production or injection volumes, no permit pipeline, no well-record documents. CalGEM serves those only as file-request downloads (SQL .BAK backups and PDFs), and the WellSTAR public search is a session UI with no JSON surface. A \"how much did this well produce\" question cannot be answered here.","Orphan-well answers carry a vintage because CalGEM republishes that screening list as a NEW service on a separate ArcGIS Online host every quarter, with counts that move sharply between vintages (5,295 in 2024, 946 in 2025, 932 in 2026 Q1, 1,048 in 2026 Q2). A stale URL is not obviously stale, so the count is never reported without its vintage.","Geothermal wells are excluded from v1. They live on a separate layer of the same service with an incompatible schema (APINumber, Lat83/Long83), and mapping them as if they were oil-and-gas wells would silently mis-field every record.","Absence of a mapped well is not evidence of clear ground: pre-regulation, undocumented, and non-CalGEM-jurisdiction wells are not in this layer.","The rollup is one record, returned as records[0], not a bag of top-level fields.","constructionSiteReviewLikely is an issue-spotting flag based on Public Resources Code section 3208.1, never a determination.","orphanWellCount is null, not zero, when the quarterly orphan service is unreachable.","hpzWellCounts describes the nearby WELLS, not the parcel."]},{"name":"searchOrphanWells","description":"List CalGEM orphan-well screening records near a point, in a county, or by API. Vintage-stamped.","notes":"Needs a scope: latitude+longitude, county, or api. Vintage is always echoed.","inputSchema":{"type":"object","properties":{"latitude":{"type":"number","minimum":-90,"maximum":90,"description":"WGS84 latitude of the parcel or site."},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"WGS84 longitude of the parcel or site."},"radiusMeters":{"type":"integer","minimum":1,"maximum":16000,"default":5000,"description":"Search radius in METERS. Only valid with latitude and longitude."},"county":{"type":"string","maxLength":60,"description":"California county name."},"operatorName":{"type":"string","maxLength":120,"description":"Operator-name substring. A filter within a spatial scope, not a search axis."},"api":{"type":"string","pattern":"^\\d{8,14}$","description":"CalGEM API number, digits only — e.g. 0403730295."},"limit":{"type":"integer","minimum":1,"maximum":200,"default":50}},"required":[],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","cadence":"P1D","notes":"CalGEM states the well layer is regenerated daily. There is no record-level update timestamp anywhere in the payload, so freshness is publisher-asserted and NOT observable — observedAtField and updatedAtField are deliberately omitted. The service copyrightText still carries the pre-2020 DOGGR name and the ArcGIS Hub item modified date is 2022; neither is a freshness signal."},"scope":"connector"},"entities":{"status":"declared","value":["orphan-well"]},"pagination":{"status":"declared","value":{"style":"none","limitField":"limit"}},"output":{"schema":{"status":"not_declared"},"units":{"status":"declared","value":{"radiusMeters":"m","distanceMeters":"m"}},"coordinateReferenceSystem":{"status":"declared","value":"EPSG:4326"}},"caveats":["CalGEM well locations are permit-time surface locations (GISSource is frequently \"Notice of Intent to Drill\"), not as-drilled surveys, and a directionally drilled well's bottomhole is elsewhere. This connector answers \"how many wells are within N meters of this point\", never \"is there a well on this parcel\".","CalGEM states its well data varies in accuracy, scale, origin, and completeness, may be updated, amended, or deleted at any time without notice, and carries no warranty of fitness. This is not a title, survey, environmental clearance, or regulatory determination.","HPZ (SB 1137 health protection zone) is reported only as the per-well inHPZ attribute of NEARBY WELLS, never as a property of the parcel. The Health_Protection_Zones polygon layer is deliberately never queried: its dissolved multipart polygons return confident wrong answers, including \"Verified HPZ\" over Death Valley and a single feature covering San Francisco that spans a third of the state.","No production or injection volumes, no permit pipeline, no well-record documents. CalGEM serves those only as file-request downloads (SQL .BAK backups and PDFs), and the WellSTAR public search is a session UI with no JSON surface. A \"how much did this well produce\" question cannot be answered here.","Orphan-well answers carry a vintage because CalGEM republishes that screening list as a NEW service on a separate ArcGIS Online host every quarter, with counts that move sharply between vintages (5,295 in 2024, 946 in 2025, 932 in 2026 Q1, 1,048 in 2026 Q2). A stale URL is not obviously stale, so the count is never reported without its vintage.","Geothermal wells are excluded from v1. They live on a separate layer of the same service with an incompatible schema (APINumber, Lat83/Long83), and mapping them as if they were oil-and-gas wells would silently mis-field every record.","Absence of a mapped well is not evidence of clear ground: pre-regulation, undocumented, and non-CalGEM-jurisdiction wells are not in this layer.","The upstream service is republished under a new name every quarter on a separate host; every answer carries vintage and sourceUrl beside the envelope.","This is a prioritized screening list, not the full population of idle or deserted wells."]},{"name":"getWellByApi","description":"Look up one CalGEM well by its API number and return the full WellSTAR record.","requiredParams":["api"],"inputSchema":{"type":"object","properties":{"api":{"type":"string","pattern":"^\\d{8,14}$","description":"CalGEM API number, digits only — e.g. 0403730295."}},"required":["api"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","cadence":"P1D","notes":"CalGEM states the well layer is regenerated daily. There is no record-level update timestamp anywhere in the payload, so freshness is publisher-asserted and NOT observable — observedAtField and updatedAtField are deliberately omitted. The service copyrightText still carries the pre-2020 DOGGR name and the ArcGIS Hub item modified date is 2022; neither is a freshness signal."},"scope":"connector"},"entities":{"status":"declared","value":["well"]},"pagination":{"status":"declared","value":{"style":"none"}},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"declared","value":"EPSG:4326"}},"caveats":["CalGEM well locations are permit-time surface locations (GISSource is frequently \"Notice of Intent to Drill\"), not as-drilled surveys, and a directionally drilled well's bottomhole is elsewhere. This connector answers \"how many wells are within N meters of this point\", never \"is there a well on this parcel\".","CalGEM states its well data varies in accuracy, scale, origin, and completeness, may be updated, amended, or deleted at any time without notice, and carries no warranty of fitness. This is not a title, survey, environmental clearance, or regulatory determination.","HPZ (SB 1137 health protection zone) is reported only as the per-well inHPZ attribute of NEARBY WELLS, never as a property of the parcel. The Health_Protection_Zones polygon layer is deliberately never queried: its dissolved multipart polygons return confident wrong answers, including \"Verified HPZ\" over Death Valley and a single feature covering San Francisco that spans a third of the state.","No production or injection volumes, no permit pipeline, no well-record documents. CalGEM serves those only as file-request downloads (SQL .BAK backups and PDFs), and the WellSTAR public search is a session UI with no JSON surface. A \"how much did this well produce\" question cannot be answered here.","Orphan-well answers carry a vintage because CalGEM republishes that screening list as a NEW service on a separate ArcGIS Online host every quarter, with counts that move sharply between vintages (5,295 in 2024, 946 in 2025, 932 in 2026 Q1, 1,048 in 2026 Q2). A stale URL is not obviously stale, so the count is never reported without its vintage.","Geothermal wells are excluded from v1. They live on a separate layer of the same service with an incompatible schema (APINumber, Lat83/Long83), and mapping them as if they were oil-and-gas wells would silently mis-field every record.","Absence of a mapped well is not evidence of clear ground: pre-regulation, undocumented, and non-CalGEM-jurisdiction wells are not in this layer.","Oil-and-gas wells only. Geothermal wells use a different layer and identifier (APINumber)."]},{"name":"getServiceInfo","description":"Layer inventory, record counts, well status and type enums, license, and what CalGEM does not serve.","notes":"Read this before guessing a wellStatus or wellType code.","inputSchema":{"type":"object","properties":{"service":{"type":"string","enum":["wells","fieldBoundaries","ugsProjectBoundaries","orphanWells"]}},"required":[],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","cadence":"P1D","notes":"CalGEM states the well layer is regenerated daily. There is no record-level update timestamp anywhere in the payload, so freshness is publisher-asserted and NOT observable — observedAtField and updatedAtField are deliberately omitted. The service copyrightText still carries the pre-2020 DOGGR name and the ArcGIS Hub item modified date is 2022; neither is a freshness signal."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["CalGEM well locations are permit-time surface locations (GISSource is frequently \"Notice of Intent to Drill\"), not as-drilled surveys, and a directionally drilled well's bottomhole is elsewhere. This connector answers \"how many wells are within N meters of this point\", never \"is there a well on this parcel\".","CalGEM states its well data varies in accuracy, scale, origin, and completeness, may be updated, amended, or deleted at any time without notice, and carries no warranty of fitness. This is not a title, survey, environmental clearance, or regulatory determination.","HPZ (SB 1137 health protection zone) is reported only as the per-well inHPZ attribute of NEARBY WELLS, never as a property of the parcel. The Health_Protection_Zones polygon layer is deliberately never queried: its dissolved multipart polygons return confident wrong answers, including \"Verified HPZ\" over Death Valley and a single feature covering San Francisco that spans a third of the state.","No production or injection volumes, no permit pipeline, no well-record documents. CalGEM serves those only as file-request downloads (SQL .BAK backups and PDFs), and the WellSTAR public search is a session UI with no JSON surface. A \"how much did this well produce\" question cannot be answered here.","Orphan-well answers carry a vintage because CalGEM republishes that screening list as a NEW service on a separate ArcGIS Online host every quarter, with counts that move sharply between vintages (5,295 in 2024, 946 in 2025, 932 in 2026 Q1, 1,048 in 2026 Q2). A stale URL is not obviously stale, so the count is never reported without its vintage.","Geothermal wells are excluded from v1. They live on a separate layer of the same service with an incompatible schema (APINumber, Lat83/Long83), and mapping them as if they were oil-and-gas wells would silently mis-field every record.","Absence of a mapped well is not evidence of clear ground: pre-regulation, undocumented, and non-CalGEM-jurisdiction wells are not in this layer."]}]},"caveats":["CalGEM well locations are permit-time surface locations (GISSource is frequently \"Notice of Intent to Drill\"), not as-drilled surveys, and a directionally drilled well's bottomhole is elsewhere. This connector answers \"how many wells are within N meters of this point\", never \"is there a well on this parcel\".","CalGEM states its well data varies in accuracy, scale, origin, and completeness, may be updated, amended, or deleted at any time without notice, and carries no warranty of fitness. This is not a title, survey, environmental clearance, or regulatory determination.","HPZ (SB 1137 health protection zone) is reported only as the per-well inHPZ attribute of NEARBY WELLS, never as a property of the parcel. The Health_Protection_Zones polygon layer is deliberately never queried: its dissolved multipart polygons return confident wrong answers, including \"Verified HPZ\" over Death Valley and a single feature covering San Francisco that spans a third of the state.","No production or injection volumes, no permit pipeline, no well-record documents. CalGEM serves those only as file-request downloads (SQL .BAK backups and PDFs), and the WellSTAR public search is a session UI with no JSON surface. A \"how much did this well produce\" question cannot be answered here.","Orphan-well answers carry a vintage because CalGEM republishes that screening list as a NEW service on a separate ArcGIS Online host every quarter, with counts that move sharply between vintages (5,295 in 2024, 946 in 2025, 932 in 2026 Q1, 1,048 in 2026 Q2). A stale URL is not obviously stale, so the count is never reported without its vintage.","Geothermal wells are excluded from v1. They live on a separate layer of the same service with an incompatible schema (APINumber, Lat83/Long83), and mapping them as if they were oil-and-gas wells would silently mis-field every record.","Absence of a mapped well is not evidence of clear ground: pre-regulation, undocumented, and non-CalGEM-jurisdiction wells are not in this layer."]}