OpenStreetMap Notes Search
osmapi/notes-search
Searches the text of OpenStreetMap notes and their comments for a word or phrase and returns the matches as a GeoJSON FeatureCollection, each with its position, status, dates and full comment thread. limit is 1 to 50 and defaults to 20. A search with no match returns an empty features list. The search covers the whole world and every note status; it takes no area filter, use notes-in-bbox for that. Comment text is written by the public and is not checked. Typically 3 to 25 KB. Contains data from OpenStreetMap contributors (ODbL). Served by Eden Engine; not an official OpenStreetMap product.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.
Data source
© OpenStreetMap contributors, available under the Open Database Licence (https://www.openstreetmap.org/copyright). Served by Eden Engine; not an official OpenStreetMap product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "osmapi/notes-search" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "osmapi/notes-search" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "osmapi/notes-search", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "osmapi/notes-search", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 25, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Words to look for in note text and comments, for example 'road closed'."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Maximum notes to return (1-50, default 20)."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"type",
"features"
],
"properties": {
"type": {
"enum": [
"FeatureCollection"
],
"type": "string"
},
"features": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"geometry",
"properties"
],
"properties": {
"type": {
"enum": [
"Feature"
],
"type": "string"
},
"geometry": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"description": "[longitude, latitude]"
}
},
"additionalProperties": true
},
"properties": {
"type": "object",
"required": [
"id",
"status",
"comments"
],
"properties": {
"id": {
"type": "integer",
"description": "Note id."
},
"url": {
"type": "string",
"description": "API address of the note."
},
"status": {
"type": "string",
"description": "open, closed or hidden."
},
"comments": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"action",
"text"
],
"properties": {
"uid": {
"type": "integer",
"description": "Account id; absent for an anonymous comment."
},
"date": {
"type": "string",
"description": "UTC time of the comment, 'YYYY-MM-DD HH:MM:SS UTC'."
},
"text": {
"type": "string",
"description": "Comment text."
},
"user": {
"type": "string",
"description": "Account name; absent for an anonymous comment."
},
"action": {
"type": "string",
"description": "opened, commented, closed, reopened or hidden."
},
"user_url": {
"type": "string",
"description": "Link to the user's page; absent for an anonymous comment."
}
},
"additionalProperties": true
},
"description": "The note's discussion, oldest first."
},
"closed_at": {
"type": "string",
"description": "UTC closing time; only on closed notes."
},
"date_created": {
"type": "string",
"description": "UTC creation time."
}
},
"additionalProperties": true
}
},
"additionalProperties": true
},
"description": "The matching notes; empty when none match."
}
},
"additionalProperties": true
}