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.

SurfaceUse it when
JavaScript SDKYou are building a JavaScript or TypeScript application.
CLIYou need a scriptable terminal workflow or data-pipeline step.
MCPAn AI agent needs deterministic geographic search.
Hosted APIYour 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 --json

Use 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.