## Search OSM features by name `search.query(SearchQueryParams**kwargs) -> FeatureCollection` **get** `/api/v1/search` Search OSM features by name ### Parameters - `q: str` Search query string - `cursor: Optional[str]` Cursor for pagination - `limit: Optional[int]` Maximum results (default 25, max 100) ### Returns - `class FeatureCollection: …` Bare GeoJSON FeatureCollection. Pagination metadata is returned in HTTP headers (X-Limit, X-Has-More, X-Next-Cursor, X-Next-Offset, Link). - `features: List[GeoJsonFeature]` - `geometry: GeoJsonGeometry` - `coordinates: Union[List[float], List[List[float]], List[List[List[float]]], List[List[List[List[float]]]]]` GeoJSON coordinates array (nesting depth varies by geometry type) - `List[float]` - `List[List[float]]` - `List[List[List[float]]]` - `List[List[List[List[float]]]]` - `type: Literal["Point", "LineString", "Polygon", 3 more]` - `"Point"` - `"LineString"` - `"Polygon"` - `"MultiPoint"` - `"MultiLineString"` - `"MultiPolygon"` - `properties: Dict[str, object]` - `type: Literal["Feature"]` - `"Feature"` - `id: Optional[str]` Feature identifier (type/osm_id) - `osm_id: Optional[int]` OpenStreetMap ID - `type: Literal["FeatureCollection"]` - `"FeatureCollection"` ### Example ```python import os from plaza import Plaza client = Plaza( api_key=os.environ.get("PLAZA_API_KEY"), # This is the default and can be omitted ) feature_collection = client.search.query( q="q", ) print(feature_collection.features) ```