OpenStreetMap Notes in an Area
osmapi/notes-in-bbox
Returns the OpenStreetMap notes (user-reported map problems and comments) inside a bounding box as a GeoJSON FeatureCollection: each note has its position, id, status (open or closed), creation and closing time and the full comment thread with account names, times and text. Give the box as min and max longitude and latitude in decimal degrees; the box must have min below max and an area of at most 25 square degrees, otherwise the request is refused with a validation error. limit is 1 to 50 and defaults to 20. Closed notes are included only if they were closed recently, which is the server's default window. A box with no notes returns an empty features list. Comment text is written by the public and is not checked. Typically 2 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-in-bbox" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "osmapi/notes-in-bbox" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "osmapi/notes-in-bbox", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "osmapi/notes-in-bbox", 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": [
"min_lon",
"min_lat",
"max_lon",
"max_lat"
],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Maximum notes to return (1-50, default 20)."
},
"max_lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "North edge, decimal degrees; must be greater than min_lat."
},
"max_lon": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "East edge, decimal degrees; must be greater than min_lon."
},
"min_lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "South edge, decimal degrees."
},
"min_lon": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "West edge, decimal degrees."
}
},
"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
}