Skip to content
GuidesBlogPlaygroundDashboard

Query features by spatial predicate, bounding box, or H3 cell

FeatureCollection Elements.QueryPost(ElementQueryPostParams?parameters, CancellationTokencancellationToken = default)
POST/api/v1/features

Query features by spatial predicate, bounding box, or H3 cell

ParametersExpand Collapse
ElementQueryPostParams parameters
string bbox

Legacy shorthand. Bounding box: south,west,north,east. Use spatial predicates (near, within, intersects) instead.

string contains

Geometry that features must contain

string crosses

Geometry that features must cross

string cursor

Cursor for pagination

string format

Response format. json (default) returns paginated GeoJSON. geojson/csv/ndjson stream via chunked transfer encoding.

string h3

Legacy shorthand. H3 cell index. Use spatial predicates instead.

string intersects

Geometry that features must intersect

Long limit

Maximum results (default 100, max 10000)

string near

Point geometry for proximity search (lat,lng). Requires radius.

Double outputBuffer

Buffer geometry by meters

Boolean outputCentroid

Replace geometry with centroid

string outputFields

Comma-separated property fields to include

Boolean outputGeometry

Include geometry (default true)

string outputInclude

Extra computed fields: bbox, distance, center

Long outputPrecision

Coordinate decimal precision (1-15, default 7)

Double outputSimplify

Simplify geometry tolerance in meters

string outputSort

Sort by: distance, name, osm_id

Double radius

Search radius in meters (for near) or buffer distance (for other predicates)

string touches

Geometry that features must touch

string type

Element types (comma-separated: node,way,relation)

string within

Geometry that features must be within

ReturnsExpand Collapse
class FeatureCollection:

GeoJSON FeatureCollection (RFC 7946). For paginated endpoints, metadata is returned in HTTP response headers rather than the body:

Header Description
X-Limit Requested result limit
X-Has-More true if more results exist
X-Next-Cursor Opaque cursor for next page (cursor pagination)
X-Next-Offset Numeric offset for next page (offset pagination)
Link RFC 8288 rel="next" link to the next page

Content-Type is application/geo+json.

required IReadOnlyList<GeoJsonFeature> Features

Array of GeoJSON Feature objects

required GeoJsonGeometry Geometry

GeoJSON Geometry object per RFC 7946. Coordinates use [longitude, latitude] order. 3D coordinates [lng, lat, elevation] are used for elevation endpoints.

required Coordinates Coordinates

Coordinates array. Nesting depth varies by geometry type: Point = [lng, lat], LineString = [[lng, lat], ...], Polygon = [[[lng, lat], ...], ...], etc.

One of the following:
IReadOnlyList<Double>
IReadOnlyList<IReadOnlyList<Double>>
IReadOnlyList<IReadOnlyList<IReadOnlyList<Double>>>
IReadOnlyList<IReadOnlyList<IReadOnlyList<IReadOnlyList<Double>>>>
required Type Type

Geometry type

One of the following:
"Point"Point
"LineString"LineString
"Polygon"Polygon
"MultiPoint"MultiPoint
"MultiLineString"MultiLineString
"MultiPolygon"MultiPolygon
required IReadOnlyDictionary<string, JsonElement> Properties

OSM tags flattened as key-value pairs, plus @type (node/way/relation) and @id (OSM ID) metadata fields. May include distance_m for proximity queries.

required Type Type

Always Feature

string ID

Compound identifier in type/osm_id format

required Type Type

Always FeatureCollection

Query features by spatial predicate, bounding box, or H3 cell

ElementQueryPostParams parameters = new();

var featureCollection = await client.Elements.QueryPost(parameters);

Console.WriteLine(featureCollection);
{
  "features": [
    {
      "geometry": {
        "coordinates": [
          2.3522,
          48.8566
        ],
        "type": "Point"
      },
      "properties": {
        "@id": "bar",
        "@type": "bar",
        "amenity": "bar",
        "cuisine": "bar",
        "name": "bar"
      },
      "type": "Feature",
      "id": "node/21154906"
    }
  ],
  "type": "FeatureCollection"
}
Returns Examples
{
  "features": [
    {
      "geometry": {
        "coordinates": [
          2.3522,
          48.8566
        ],
        "type": "Point"
      },
      "properties": {
        "@id": "bar",
        "@type": "bar",
        "amenity": "bar",
        "cuisine": "bar",
        "name": "bar"
      },
      "type": "Feature",
      "id": "node/21154906"
    }
  ],
  "type": "FeatureCollection"
}