Search the physical world
Find geographic features in a Region and keep the resulting geometry ready for your map, workflow, or next operation.
Documentation navigation
The shared search model
Every EDK interface accepts one or more features, a named area or canonical Region ID, optional spatial and property filters, and a result limit. Each returns structured geographic data; the SDK returns GeoJSON.
| Surface | Use it when |
|---|---|
| JavaScript SDK | You are building a JavaScript or TypeScript application. |
| CLI | You need a scriptable terminal workflow or data-pipeline step. |
| MCP | An AI agent needs deterministic geographic search. |
| Hosted API | Your backend or another language calls EDK Cloud directly. |
search.ts
const result = await e2.search({ feature: ["restaurant", "school"], area: ["Manhattan", "Queens"], limit: 1000 });JavaScript SDK
search.ts
import { EDK } from "@edk/sdk";
const e2 = new EDK();
const result = await e2.search({
feature: ["restaurant", "school"],
area: ["Manhattan", "Queens"],
mode: "auto",
limit: 1000,
columns: ["id", "name", "lat", "lng"],
});
console.log(result.type); // "FeatureCollection"Use
area for names or regionId for canonical Region IDs, but not both. Add a bbox, where, or properties filter when you need to narrow the result.CLI
terminal
e2 search restaurant school --area "Manhattan" --area "Queens" \
--mode auto --columns id,name,lat,lng --limit 1000 --jsonUse repeatable --area and --feature options, plus --bbox, --where, and --property to match the SDK query model.
MCP and API
e2_search.json
{
"feature": ["restaurant", "school"],
"area": ["Manhattan", "Queens"],
"mode": "auto",
"limit": 1000
}MCP clients call e2_search with this same input shape. For managed HTTP use, authenticate the request from your server with an EDK API key; the platform Playground is the current interactive API surface.