# GeoInsight > GeoInsight GmbH is a German geospatial-AI company running a Data-as-a-Service platform built on a > Discrete Global Grid System (DGGS). It converts Earth-observation and vector data into AI-ready > hierarchical hexagonal "Spatial Tokens" and serves them through a standards-compliant OGC API - DGGS > endpoint. Ask for a zone, a region or a spatial context window and get a structured, machine-readable > answer that is directly joinable with any other dataset resolved onto the same grid. Generated by API Evangelist on 2026-08-20 from the provider's live contract and public surface. GeoInsight does not publish an llms.txt of its own; this file was written from apis.yml and the artifacts in this repository. Every URL below was fetched and its status recorded. ## API - [OGC API - DGGS](https://api.geoinsight.ai/): Live service landing document. 14 read operations, all GET. Answers anonymously at the time of writing. - [OpenAPI 3.1.0](https://api.geoinsight.ai/api?f=json): The machine-readable contract, served under the OGC rel=service-desc relation. - [Swagger UI](https://api.geoinsight.ai/api?f=html): Rendered reference, served under rel=service-doc. - [Collections](https://api.geoinsight.ai/collections?f=json): 22 published collections - Sentinel-2 L2A scenes, Landsat ARD, RADARSAT Constellation backscatter, Overture administrative boundaries, AIS vessel positions, building footprints, a Canadian DEM, and air-quality and hydrography integration examples. - [DGGRS registry](https://api.geoinsight.ai/dggs?f=json): H3, ISEA3H (both DGGRID and DGGAL implementations), IGEO7, IVEA3H. ## How to call it Base URL: https://api.geoinsight.ai GET / service landing page GET /api?f=json OpenAPI document GET /collections collection catalogue GET /collections/{collection_id} one collection GET /collections/{collection_id}/dggs grids for that collection GET /collections/{collection_id}/dggs/{dggrs_id} one grid, in collection context GET /collections/{collection_id}/dggs/{dggrs_id}/zones zones, in collection context GET /collections/{collection_id}/dggs/{dggrs_id}/zones/{zone_id} one zone, in collection context GET /collections/{collection_id}/dggs/{dggrs_id}/zones/{zone_id}/data THE SPATIAL TOKEN PAYLOAD GET /collections/{collection_id}/items OGC API - Features over GeoParquet GET /collections/{collection_id}/items/{feature_id} one feature by row offset GET /dggs DGGRS registry GET /dggs/{dggrs_id} one DGGRS definition GET /dggs/{dggrs_id}/zones zones of a DGGRS GET /dggs/{dggrs_id}/zones/{zone_id} one zone Format is chosen with ?f= - geojson, json, html on the items routes; json, dggs+json, geo+json, html, parquet, geoparquet on zone data. Attribute filtering on /items uses CQL2 via ?filter= with ?filter-lang=cql2-text (default) or cql2-json. Spatial filtering uses ?bbox= in CRS84 lon/lat. Temporal filtering uses ?datetime= as an RFC 3339 instant or interval. Paging on /items is ?limit= (default 10, max 1000) and ?offset=; read numberMatched from the response to compute your own pages, because there are no rel=next links. Zone-data aggregation depth is ?zone-depth= and defaults to the DGGRS default_depth (4 for H3). ## Things an agent should know before calling this API - It is READ-ONLY. All 14 operations are GET. Nothing you call here changes state, so there is nothing to undo, and no idempotency key is required or accepted. - There is NO rate-limit signal. No RateLimit-*, no X-RateLimit-*, no Retry-After, no 429. Pace yourself conservatively; the service has no mechanism to tell you to slow down. - Errors use a custom envelope, not RFC 9457: {"code", "message", "hint", "redirect_location"} served as application/json. The "hint" field is genuinely useful - read it. - Do NOT retry on 5xx blindly. A malformed zone id returns HTTP 500, not the 422 the contract declares. That request will never succeed no matter how many times you retry it. Check the hint field before retrying anything. - The zone-listing routes accept no limit parameter. An unbounded zone listing on a large collection has been observed returning an nginx 502. Scope zone queries with a collection and a specific zone id. - feature_id on the /items routes is a 0-based ROW OFFSET into a parquet file, not a stable identifier. Do not cache it as one; it can change when the underlying data is rewritten. - operationId values in the published contract are NOT unique - 14 operations share 10 ids. Bind tools to the method and path, not to operationId. - HEAD is not supported on the landing page (HEAD / returns 404, GET / returns 200). Do not use HEAD to test availability. - /conformance returns HTTP 500. The conformance classes this service implements are recorded instead in conformance/geoinsight-conformance.yml in this repository, derived from the contract. ## Standards - OGC API - Common - Part 1: Core - OGC API - Discrete Global Grid Systems - Part 1: Core - OGC API - Features - Part 1: Core (partial) and Part 3: Filtering (CQL2) - GeoJSON (RFC 7946), GeoParquet, Cloud Optimized GeoTIFF, STAC (consumer side) - CRS84, RFC 3339 date-time - OpenAPI 3.1.0 ## SDK - [geoinsight on PyPI](https://pypi.org/project/geoinsight/): the only first-party client library. `pip install geoinsight`. Version 0.8.1, last released 2024-04-16 - it predates the current API surface and was not verified against it. Its README documents a GeoInsight Personal Token (GPT) plus API Private Key (APK) obtained from dashboard.geoinsight.ai, but that host currently returns 404. ## Tools - [dggs.io](https://dggs.io/): GeoInsight-operated DGGS tooling. Convert datasets to DGGS, browse zones. - [API tester](https://dggs.io/api-tester): call an OGC API - DGGS endpoint from the browser. - [GeoParquet viewer](https://dggs.io/geoparquet-viewer) - [Use cases](https://dggs.io/use-cases) ## Company - [geoinsight.ai](https://geoinsight.ai/): corporate site. Three pages only - home, terms, privacy. - [Terms](https://geoinsight.ai/terms) - [Privacy](https://geoinsight.ai/privacy) - Contact: info@geoinsight.ai, +49 151 2207 3413 - NVIDIA Inception member. Participates in the OGC AI-DGGS pilot programme. ## Not published GeoInsight publishes no pricing, no status page, no changelog, no SLA, no deprecation policy, no public GitHub organization, no MCP server, no GraphQL endpoint, no A2A agent card, no AsyncAPI or webhook surface, no security.txt and no /.well-known/ documents of any kind. Those absences are recorded with their probe evidence in this repository rather than left unstated.