## Query features by bounding box or H3 cell `client.elements.query(ElementQueryParamsquery?, RequestOptionsoptions?): FeatureCollection` **get** `/api/v1/features` Query features by bounding box or H3 cell ### Parameters - `query: ElementQueryParams` - `bbox?: string` Bounding box: south,west,north,east. At least one of bbox or h3 is required. - `cursor?: string` Cursor for pagination - `h3?: string` H3 cell index. At least one of bbox or h3 is required. - `limit?: number` Maximum results (default 100, max 10000) - `type?: string` Element types (comma-separated: node,way,relation) ### Returns - `FeatureCollection` Bare GeoJSON FeatureCollection. Pagination metadata is returned in HTTP headers (X-Limit, X-Has-More, X-Next-Cursor, X-Next-Offset, Link). - `features: Array` - `geometry: GeoJsonGeometry` - `coordinates: Array | Array> | Array>> | Array>>>` GeoJSON coordinates array (nesting depth varies by geometry type) - `Array` - `Array>` - `Array>>` - `Array>>>` - `type: "Point" | "LineString" | "Polygon" | 3 more` - `"Point"` - `"LineString"` - `"Polygon"` - `"MultiPoint"` - `"MultiLineString"` - `"MultiPolygon"` - `properties: Record` - `type: "Feature"` - `"Feature"` - `id?: string` Feature identifier (type/osm_id) - `osm_id?: number` OpenStreetMap ID - `type: "FeatureCollection"` - `"FeatureCollection"` ### Example ```typescript 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.query(); console.log(featureCollection.features); ```