Skip to content
All data sources

Colorado ECMC Oil & Gas Proximity API and MCP server

No authco-ecmc

Colorado oil and gas proximity and encumbrance for a parcel, read from the Energy & Carbon Management Commission's own keyless map services: well surface points, approved and reported pad footprint polygons, facilities and pits, and the docketed applications pending on a section. Built to answer whether something sits inside a setback, overlaps a footprint, or is about to be drilled next door. Fracking near a home means these well records. Well and facility status codes decode through the labels ECMC publishes in its own map legend, and distances are metric from the coordinate supplied. Flowlines, inspections, violations, and spills are not reachable through this API; the connector states those gaps instead of implying coverage. Live record counts come from the service-info method.

Colorado ECMC Oil & Gas Proximity is published by Colorado Energy & Carbon Management Commission (ECMC) public ArcGIS services and covers Colorado (statewide), every county under Colorado Energy & Carbon Management Commission jurisdiction.

It refreshes on a schedule, every day.

Last verified . That is when these facts were last rebuilt from the ParcelOps source registry, not when Colorado Energy & Carbon Management Commission (ECMC) public ArcGIS services last refreshed the data itself.

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

PublisherColorado Energy & Carbon Management Commission (ECMC) public ArcGIS services

Freshness and coverage

FreshnessScheduled · every day · ECMC's FGDC metadata states a daily update frequency. Probed 2026-08-10, the facilities layer carried status_date values through 2026-08-07 while the permits layer had not moved past 2025-12-10.
Places coveredColorado (statewide), every county under Colorado Energy & Carbon Management Commission jurisdiction
Time covered… → present · 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.
CredentialsNo credentials required

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

    read

    Find ECMC wells near a point, defaulting to Colorado's 2,000 ft Rule 604 setback radius.

    What you must providelatitudelongitude
    Records returnedwell
    How to get more resultsoffset (offsetField: offset, limitField: limit)
    UnitsradiusMeters: meter · distanceMeters: meter
    Coordinate systemEPSG:4326
    FreshnessScheduled · 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

    read

    Find approved and reported oil and gas surface footprint polygons over a bbox or point.

    Records returnedoil and gas location footprint
    How to get more resultsoffset (offsetField: offset, limitField: limit)
    UnitsradiusMeters: meter · distanceMeters: meter · footprintAreaSquareMeters: square meter · footprintAreaAcres: acre
    Coordinate systemEPSG:4326
    FreshnessScheduled · 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

    read

    Find pending or approved drilling applications, or docketed applications, near a point.

    What you must providelatitudelongitude
    Records returneddrilling permit application, docketed pending application
    How to get more resultsoffset (offsetField: offset, limitField: limit)
    UnitsradiusMeters: meter · distanceMeters: meter
    Coordinate systemEPSG:4326
    FreshnessScheduled · 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

    read

    Find tank batteries, disposal wells, compressor stations, and pits within a radius.

    What you must providelatitudelongitude
    Records returnedoil and gas facility, pit
    How to get more resultsnone (limitField: limit)
    UnitsradiusMeters: meter · distanceMeters: meter
    Coordinate systemEPSG:4326
    FreshnessScheduled · 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

    read

    Look up one Colorado well by API number with its ECMC wellbore rows and PLSS location.

    What you must provideapiNumber
    Records returnedwell, wellbore
    Coordinate systemEPSG:4326
    FreshnessScheduled · 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

    read

    Report the live ECMC layers this connector queries, with schema and record counts.

    Records returnedarcgis layer
    FreshnessScheduled · 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