deterministic · audit-ready

Socio-environmental compliance
in a single call.

GeoComply Core is a geospatial compliance engine. Evaluate polygons against protected areas, restricted zones, land-use layers and hundreds of authoritative datasets — no GIS expertise needed, no pain.

Endpoints
3
evaluate · intersections · distance
Typical latency
< 500ms
geospatial evaluation
Datasets
6+
WDPA · FUNAI · IBGE · Natura…
authoritative environmental datasets
OpenStreetMapCopernicusUSGSNatural EarthProtected PlanetWDPAFUNAIIBGENatura 2000GADMSICARCORINE Land CoverOpenStreetMapCopernicusUSGSNatural EarthProtected PlanetWDPAFUNAIIBGENatura 2000GADMSICARCORINE Land Cover

Features

Everything missing between public data and a business decision.

GeoComply Core puts hundreds of authoritative environmental datasets behind a single, versionable API.

Spatial rules engine

You describe the rule; we handle the rest. Instant results across all relevant datasets, no GIS tooling required.

Visual editor

Build rulesets by dragging and connecting nodes in a graph, no JSON to write. Live validation and versioned publishing included.

Always-current data

Data is always up to date. The engine fetches and caches geospatial datasets on demand — no stale snapshots, no manual refresh cycles.

Governance by contract

Rules are validated before execution. Strict contracts prevent resource abuse and ensure consistent behavior. Immutable, versioned catalog.

Native observability

Every call produces a full audit trail: verdict, evidence, timing and a deterministic identifier. Traceable end-to-end.

Auditable by design

Every verdict carries its provenance: which source, which feature ID, which version, ingested when. Full traceability for audit and compliance reporting.

Playground

Draw the area. Paste the JSON. See the result.

The playground calls the /v1/evaluate endpoint live, highlights every conflicting area on the map, decodes the verdict and surfaces per-check stats — overlap in hectares, minimum distance, aggregate area.

  • Draw point, line or polygon on the map, or import KML, GPX, Shapefile, GeoJSON, TopoJSON, FlatGeobuf, GeoTIFF, CSV, Excel and more
  • Code editor with live validation against the official grammar as you type
  • Preview mode to see the expected results before running
  • Share by URL — the rule and geometry travel embedded in the link
geocomply.dev / playgroundlive evaluation
user input
conflicting areas
SCALE · 5 km
hit · protected_areas
Coastal Wetland Reserve
overlap · 3.42 ha · 18%
ruleset.jsonJSON
{
  "name": "protected_area_check",
  "version": "v1.0.0",
  "sets": [{
    "id": "pa",
    "source": "protected_areas",
    "join": { "op": "intersects", "target": "$input" }
  }],
  "checks": [{
    "id": "no_overlap_pa",
    "severity": "non_compliant",
    "predicate": {
      "type": "count", "set": "$pa",
      "op": ">=", "value": 1
    }
  }]
}
VerdictNON_COMPLIANT
conflicts
3
overlap
3.42 ha
latency
412 ms
geocomply.dev / builder · ruleset visualdrag · drop · publish
SOURCE
protected_areas
on demand · Protected Planet
SOURCE
flood_zones
catalog · Copernicus
SET
overlaps
union · intersects area
PROJECTION
overlap_total
aggregate · sum of area
CHECK
no_overlap
count ≥ 1
Inspector
overlaps
kindSET
opunion
predicateintersects
est. rows≈ 142

Builder

Compliance rules, no code.

Build your rule as a graph: drag sources, sets and checks. The editor validates in real time and publishes straight to the versioned catalog — ready to be referenced by ruleset_id.

  • Guided flow: source → filter → check → verdict
  • Automatic graph layout + optional free dragging
  • Inspector with per-node impact estimate before execution
  • Built-in best-practices linting — no noise, only what matters
  • Immutable publishing: name + version produce a unique, traceable identifier

How it works

One call, five steps.

  1. 01

    Validate

    Your rule and geometry are validated instantly. Invalid inputs are rejected immediately, before any computation.

  2. 02

    Match datasets

    Relevant datasets are automatically identified from our catalog of authoritative sources — always up to date.

  3. 03

    Analyze

    Spatial relationships between your geometry and all matching features are computed across every relevant layer.

  4. 04

    Evaluate

    Each rule condition is applied and scored against the matching features.

  5. 05

    Return verdict

    Each check contributes to the final verdict: compliant, warning, non-compliant or degraded. The response includes geospatial evidence per check — audit-ready.

Use cases

Where the engine becomes a competitive edge.

Agribusiness & rural credit

Environmental due diligence for agricultural finance

Audit farm parcels against land registries, protected areas, restricted zones and deforestation alerts before approving financing. Standardized output, defensible in audit.

Infra & permitting

Pre-analysis of locational viability

Cross a transmission line route or a construction polygon against protected areas, archaeological sites and zoning — in seconds.

ESG & supply chain

Supplier socio-environmental compliance

Continuously monitor thousands of properties inside your supply chain. Reusable, versioned rules with a full audit trail.

Public sector

Automated case triage

Rank licensing or land-tenure regularization requests by socio-environmental risk before they reach a human analyst.

API

REST with OpenAPI. Pure JSON. Done.

Send the ruleset inline or reference one in the catalog by ruleset_id. Geometry can come in any coordinate system — conversion is handled automatically.

/v1/evaluate
Full verdict
/v1/intersections
Raw crossing
/v1/distance
Minimum distance
/v1/subject
Subject match
# inline evaluation — one request, one verdict
curl https://api.geocomply.dev/v1/evaluate \
  -H "content-type: application/json" \
  -d '{
    "geometry": "POLYGON((...))",
    "crs": "EPSG:31983",
    "ruleset": {
      "sets": [{
        "id": "pa",
        "source": "protected_areas",
        "join": { "op": "intersects", "target": "$input" }
      }],
      "checks": [{
        "id": "no_overlap", "severity": "non_compliant",
        "predicate": { "type": "count", "set": "$pa",
          "op": ">=", "value": 1 }
      }]
    }
  }'

# response
{
  "verdict": "NON_COMPLIANT",
  "checks": [{
    "id": "no_overlap", "triggered": true,
    "value": 3, "evidence": [...]
  }],
  "request_id": "req_3a8f...d12c"
}

Stop reinventing geo pipelines. Start shipping rules.

One API call. Any geometry. Hundreds of authoritative datasets. A deterministic, auditable verdict — the same day.