API access
Your AI client reaches Colorado ECMC Oil & Gas Proximity through one ParcelOps MCP endpoint, so there is no separate key to hold for it and no per-source client to write. Reaching it takes no credentials of your own.
Where it came from
Freshness and coverage
What this source cannot tell you
- ⚠ Anything outside Colorado (statewide), every county under Colorado Energy & Carbon Management Commission jurisdiction. A request past that edge comes back empty rather than approximated.
- ⚠ Wells and locations span the full ECMC permitting record including plugged and abandoned wells. The permits layer is a curated slice observed at 2023-01-12 through 2025-12-10 on 2026-08-10.
- ⚠ Anything Colorado Energy & Carbon Management Commission (ECMC) public ArcGIS services does not publish. ParcelOps returns this source as it stands and never fills a blank field from a different one.
- ⚠ ECMC and Colorado DNR publish this data "as is" with no warranty of any kind. Verify any result with ECMC before relying on it for a transaction, a setback determination, or a seller disclosure.
- ⚠ Proximity is a screening signal, not a compliance determination. Rule 604 measures 2,000 ft from a Residential or High Occupancy Building Unit to a proposed location, allows substantially equivalent protections, and adds conditions inside Disproportionately Impacted Communities.
- ⚠ Distances are measured from the coordinate supplied, not from a parcel outline. A parcel centroid is not its footprint.
- ⚠ Inspections, violations (NOAVs), spills, and complaints are NOT reachable through this API. ECMC publishes them only as per-facility HTML on COGIS or as monthly bulk files, so this connector does not cover them.
- ⚠ Flowlines are not covered: the ECMC flow-pipes service advertises query support and returns HTTP 400 on every query, so Colorado flowline proximity cannot be answered here.
- ⚠ Subsurface horizontal laterals are not yet covered. A lateral can run under a parcel whose surface hole is miles away, so a zero-well answer does not mean nothing runs underneath.
- ⚠ Production, casing, cement, completion, and injection-pressure detail are deliberately excluded; those are ECMC COGIS scout-card fields outside this connector's purpose.
- ⚠ No ECMC layer carries a county name or FIPS field. County is encoded only in the API-number prefix under ECMC's own code scheme, so no county name is ever inferred here.
Methods (6)
A method is one call your agent can make against this source.
searchWellsNearPoint
readFind ECMC wells near a point, defaulting to Colorado's 2,000 ft Rule 604 setback radius.
What you must providelatitudelongitudeRecords returnedwellHow to get more resultsoffset (offsetField: offset, limitField: limit)UnitsradiusMeters: meter · distanceMeters: meterCoordinate systemEPSG:4326FreshnessScheduled · every day (source-level)Input schema
{ "type": "object", "properties": { "latitude": { "type": "number", "minimum": -90, "maximum": 90, "description": "WGS84 latitude of the parcel point being screened." }, "longitude": { "type": "number", "minimum": -180, "maximum": 180, "description": "WGS84 longitude of the parcel point being screened." }, "radiusMeters": { "type": "number", "exclusiveMinimum": 0, "maximum": 25000, "description": "Search radius in metres. Defaults to 610 m — the 2,000 ft setback in Colorado Rule 604 (2 CCR 404-1-604), measured there from a Residential or High Occupancy Building Unit to a proposed location. A radius around a supplied point is a screening signal, not a compliance determination." }, "status": { "type": "string", "enum": [ "producing", "plugged", "shutIn", "drilling", "all" ], "description": "Filters on the ECMC well status code. Defaults to all statuses." }, "operator": { "type": "string", "maxLength": 120, "description": "Case-insensitive substring of the operator name as ECMC publishes it." }, "apiCountyCode": { "type": "string", "pattern": "^\\d{1,3}$", "description": "ECMC API county prefix such as 123, the only county key these layers carry. Not a FIPS code." }, "limit": { "type": "integer", "minimum": 1, "maximum": 200 }, "offset": { "type": "integer", "minimum": 0, "maximum": 100000 }, "format": { "type": "string", "enum": [ "records", "geojson" ], "description": "geojson returns GeoJSON Features in records for map rendering." } }, "required": [ "latitude", "longitude" ], "additionalProperties": false }- ⚠ Coordinates are the surface hole location. A horizontal lateral from a distant surface hole can still run under the parcel and is not covered here.
- ⚠ The wells layer publishes no status-date column; statusDate is parsed out of ECMC's rendered map-popup string and is null when unparseable.
Radius defaults to 610 m, the Rule 604 2,000 ft setback distance.
searchOilGasLocations
readFind approved and reported oil and gas surface footprint polygons over a bbox or point.
Records returnedoil and gas location footprintHow to get more resultsoffset (offsetField: offset, limitField: limit)UnitsradiusMeters: meter · distanceMeters: meter · footprintAreaSquareMeters: square meter · footprintAreaAcres: acreCoordinate systemEPSG:4326FreshnessScheduled · every day (source-level)Input schema
{ "type": "object", "properties": { "latitude": { "type": "number", "minimum": -90, "maximum": 90, "description": "WGS84 latitude of the parcel point being screened." }, "longitude": { "type": "number", "minimum": -180, "maximum": 180, "description": "WGS84 longitude of the parcel point being screened." }, "radiusMeters": { "type": "number", "exclusiveMinimum": 0, "maximum": 25000, "description": "Search radius in metres. Defaults to 610 m — the 2,000 ft setback in Colorado Rule 604 (2 CCR 404-1-604), measured there from a Residential or High Occupancy Building Unit to a proposed location. A radius around a supplied point is a screening signal, not a compliance determination." }, "bbox": { "type": "array", "minItems": 4, "maxItems": 4, "items": { "type": "number" }, "description": "[minLongitude, minLatitude, maxLongitude, maxLatitude] in WGS84 — e.g. a parcel bbox." }, "formType": { "type": "string", "enum": [ "approvedLocation", "location", "all" ], "description": "approvedLocation is the Form 2A approved footprint. Defaults to all." }, "status": { "type": "string", "enum": [ "active", "abandonedLocation", "closed", "all" ], "description": "Location status, not well status. Defaults to all." }, "operator": { "type": "string", "maxLength": 120, "description": "Case-insensitive substring of the operator name as ECMC publishes it." }, "limit": { "type": "integer", "minimum": 1, "maximum": 200 }, "offset": { "type": "integer", "minimum": 0, "maximum": 100000 }, "format": { "type": "string", "enum": [ "records", "geojson" ], "description": "geojson returns GeoJSON Features in records for map rendering." } }, "required": [], "additionalProperties": false }- ⚠ Overlap is tested against the bbox or radius supplied, which is not the parcel outline. Confirm a true intersection against the returned polygon geometry.
- ⚠ Footprint area is computed by ECMC in its native EPSG:26913 metric projection; acres are derived from it.
Pass either bbox or latitude and longitude, never both.
searchPermits
readFind pending or approved drilling applications, or docketed applications, near a point.
What you must providelatitudelongitudeRecords returneddrilling permit application, docketed pending applicationHow to get more resultsoffset (offsetField: offset, limitField: limit)UnitsradiusMeters: meter · distanceMeters: meterCoordinate systemEPSG:4326FreshnessScheduled · every day (source-level)Input schema
{ "type": "object", "properties": { "latitude": { "type": "number", "minimum": -90, "maximum": 90, "description": "WGS84 latitude of the parcel point being screened." }, "longitude": { "type": "number", "minimum": -180, "maximum": 180, "description": "WGS84 longitude of the parcel point being screened." }, "radiusMeters": { "type": "number", "exclusiveMinimum": 0, "maximum": 25000, "description": "Search radius in metres. Defaults to 610 m — the 2,000 ft setback in Colorado Rule 604 (2 CCR 404-1-604), measured there from a Residential or High Occupancy Building Unit to a proposed location. A radius around a supplied point is a screening signal, not a compliance determination." }, "dataset": { "type": "string", "enum": [ "permits", "pendingApplications" ], "description": "permits reads Form 2 / Form 2A application points; pendingApplications reads docketed spacing, setback, and OGDP polygons." }, "formType": { "type": "string", "enum": [ "form2ApprovedPermit", "form2PendingPermit", "form2aPendingLocation", "all" ], "description": "Applies to dataset permits only." }, "operator": { "type": "string", "maxLength": 120, "description": "Case-insensitive substring of the operator name as ECMC publishes it." }, "limit": { "type": "integer", "minimum": 1, "maximum": 200 }, "offset": { "type": "integer", "minimum": 0, "maximum": 100000 }, "format": { "type": "string", "enum": [ "records", "geojson" ], "description": "geojson returns GeoJSON Features in records for map rendering." } }, "required": [ "latitude", "longitude" ], "additionalProperties": false }- ⚠ The permits layer is a curated subset of pending and approved applications. Probed 2026-08-10 its 1,103 rows ran only to 2025-12-10 while the facilities layer was current to 2026-08-07. Never describe it as all ECMC permits.
- ⚠ receive_date is stored upstream as an MM/DD/YYYY string rather than a date, so no server-side date filter is offered; filter the returned receiveDate values instead.
- ⚠ The pending-applications layer publishes an operator NUMBER, not a name.
A curated pending/approved application slice, never all ECMC permits.
searchFacilities
readFind tank batteries, disposal wells, compressor stations, and pits within a radius.
What you must providelatitudelongitudeRecords returnedoil and gas facility, pitHow to get more resultsnone (limitField: limit)UnitsradiusMeters: meter · distanceMeters: meterCoordinate systemEPSG:4326FreshnessScheduled · every day (source-level)Input schema
{ "type": "object", "properties": { "latitude": { "type": "number", "minimum": -90, "maximum": 90, "description": "WGS84 latitude of the parcel point being screened." }, "longitude": { "type": "number", "minimum": -180, "maximum": 180, "description": "WGS84 longitude of the parcel point being screened." }, "radiusMeters": { "type": "number", "exclusiveMinimum": 0, "maximum": 25000, "description": "Search radius in metres. Defaults to 610 m — the 2,000 ft setback in Colorado Rule 604 (2 CCR 404-1-604), measured there from a Residential or High Occupancy Building Unit to a proposed location. A radius around a supplied point is a screening signal, not a compliance determination." }, "facilityType": { "type": "string", "enum": [ "tankBattery", "uicDisposal", "compressorStation", "landApplication", "flowlineSystem", "gasProcessingPlant", "pit", "all" ], "description": "Defaults to all, which reads the facilities and pits layers together." }, "status": { "type": "string", "enum": [ "active", "abandonedLocation", "closed", "all" ] }, "operator": { "type": "string", "maxLength": 120, "description": "Case-insensitive substring of the operator name as ECMC publishes it." }, "limit": { "type": "integer", "minimum": 1, "maximum": 200 }, "format": { "type": "string", "enum": [ "records", "geojson" ], "description": "geojson returns GeoJSON Features in records for map rendering." } }, "required": [ "latitude", "longitude" ], "additionalProperties": false }- ⚠ status_date contains future-dated values upstream, so it is surfaced verbatim and never used to compute a freshness signal.
- ⚠ Facility status decodes only for the codes ECMC publishes in its legend (AC, AL, AP, CL, UN); any other code is returned raw with a null label.
- ⚠ Offset paging is not offered because this method merges two layers and sorts the merge by distance.
Pits are a separate ECMC layer; facilityType all reads both.
getWellDetail
readLook up one Colorado well by API number with its ECMC wellbore rows and PLSS location.
What you must provideapiNumberRecords returnedwell, wellboreCoordinate systemEPSG:4326FreshnessScheduled · every day (source-level)Input schema
{ "type": "object", "properties": { "apiNumber": { "type": "string", "maxLength": 24, "description": "Accepts 05-123-11605, 123-11605, or 12311605." } }, "required": [ "apiNumber" ], "additionalProperties": false }- ⚠ Well construction detail — casing, cement, completion, production, and injection pressure — is deliberately excluded; ECMC publishes it on the COGIS scout card.
- ⚠ ECMC API numbers are Colorado-only and use ECMC's own county-code scheme in the prefix.
Wellbore rows are one per formation or sidetrack, not per hole.
getServiceInfo
readReport the live ECMC layers this connector queries, with schema and record counts.
Records returnedarcgis layerFreshnessScheduled · every day (source-level)Input schema
{ "type": "object", "properties": { "service": { "type": "string", "enum": [ "wells", "wellbores", "locations", "facilities", "pits", "permits", "pendingApplications" ], "description": "Omit to describe every layer this connector queries." } }, "required": [], "additionalProperties": false }- ⚠ The ECMC flow-pipes service is deliberately absent: it advertises query support and returns HTTP 400 on every query.
- ⚠ All layers store geometry in EPSG:26913; every query declares inSR/outSR 4326 and metric distance units explicitly.
The ECMC_Public folder is hidden from the ArcGIS root listing.
Where this source is used
- Land research
Parcel records, ground conditions, and what reaches the property line, for raw and rural land.
- Data center siting
Power, water, transport, airspace, and hazard screening for a site before anyone signs anything.
- Commercial real estate
Parcel and assessment records, building programs, and the entity on the other side of the deal.
- Residential real estate
The parcel record, the housing programs that touch an address, and the conditions a buyer asks about.
- Real estate law
Federal rule text, rulemaking dockets, party records, and the property facts a filing has to state.
- Realtors and brokerages
The facts behind a listing, the programs a buyer may qualify for, and your own files in the same place.
- Who do I call before digging?
- Is there a pipeline near this property?
- Are there oil and gas wells near this property?
