Skip to content
GuidesBlogPlaygroundDashboard

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

client.elements.queryPost(ElementQueryPostParams { bbox, contains, crosses, 18 more } params?, RequestOptionsoptions?): FeatureCollection { features, type }
POST/api/v1/features

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

ParametersExpand Collapse
params: ElementQueryPostParams { bbox, contains, crosses, 18 more }
bbox?: string

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

contains?: string

Geometry that features must contain

crosses?: string

Geometry that features must cross

cursor?: string

Cursor for pagination

format?: string

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

h3?: string

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

intersects?: string

Geometry that features must intersect

limit?: number

Maximum results (default 100, max 10000)

near?: string

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

outputBuffer?: number

Buffer geometry by meters

outputCentroid?: boolean

Replace geometry with centroid

outputFields?: string

Comma-separated property fields to include

outputGeometry?: boolean

Include geometry (default true)

outputInclude?: string

Extra computed fields: bbox, distance, center

outputPrecision?: number

Coordinate decimal precision (1-15, default 7)

outputSimplify?: number

Simplify geometry tolerance in meters

outputSort?: string

Sort by: distance, name, osm_id

radius?: number

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

touches?: string

Geometry that features must touch

type?: string

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

within?: string

Geometry that features must be within

ReturnsExpand Collapse
FeatureCollection { features, type }

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.

features: Array<GeoJsonFeature { geometry, properties, type, id } >

Array of GeoJSON Feature objects

geometry: GeoJsonGeometry { coordinates, type }

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

coordinates: Array<number> | Array<Array<number>> | Array<Array<Array<number>>> | Array<Array<Array<Array<number>>>>

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

One of the following:
Array<number>
Array<Array<number>>
Array<Array<Array<number>>>
Array<Array<Array<Array<number>>>>
type: "Point" | "LineString" | "Polygon" | 3 more

Geometry type

One of the following:
"Point"
"LineString"
"Polygon"
"MultiPoint"
"MultiLineString"
"MultiPolygon"
properties: Record<string, unknown>

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.

type: "Feature"

Always Feature

id?: string

Compound identifier in type/osm_id format

type: "FeatureCollection"

Always FeatureCollection

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

import Plaza from '@plazafyi/sdk';

const client = new Plaza({
  apiKey: process.env['PLAZA_API_KEY'], // This is the default and can be omitted
});

const featureCollection = await client.elements.queryPost();

console.log(featureCollection.features);
{
  "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"
}