{"contractVersion":"parcelops.connector.v1","name":"global-geocoder","displayName":"Worldwide Address Search","description":"Worldwide address search and reverse geocoding from OpenStreetMap Nominatim. Use this to turn place text into coordinates before querying local property sources.","tags":["address","geocoding","reverse-geocoding","global","property"],"authentication":{"type":"none","required":false},"provenance":{"sourceName":"OpenStreetMap Nominatim","sourceUrl":"https://nominatim.openstreetmap.org/","apiBaseUrl":"https://nominatim.openstreetmap.org/","documentationUrl":"https://nominatim.org/release-docs/latest/api/Overview/"},"freshness":{"status":"declared","value":{"mode":"scheduled","notes":"Reflects the upstream OpenStreetMap/Nominatim index."}},"coverage":{"geographic":{"status":"declared","value":["Worldwide"]},"temporal":{"status":"not_declared"}},"methods":{"total":3,"items":[{"name":"searchAddress","description":"Search a worldwide address or place and return WGS84 GeoJSON.","requiredParams":["query"],"inputSchema":{"type":"object","properties":{"query":{"type":"string","maxLength":300},"countryCodes":{"description":"Optional ISO alpha-2 country codes: \"us,ca\" or [\"US\", \"CA\"].","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"bbox":{"type":"array","description":"[minLongitude, minLatitude, maxLongitude, maxLatitude] in WGS84.","minItems":4,"maxItems":4,"items":{"type":"number"}},"bounded":{"type":"boolean"},"limit":{"type":"integer","minimum":1,"maximum":25}},"required":["query"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","notes":"Reflects the upstream OpenStreetMap/Nominatim index."},"scope":"connector"},"entities":{"status":"declared","value":["address","place"]},"pagination":{"status":"declared","value":{"style":"none"}},"output":{"schema":{"status":"declared","value":{"type":"object","properties":{"kind":{"const":"parcelops.public-data"},"schemaVersion":{"type":"string"},"dataset":{"type":"object","additionalProperties":true},"query":{"type":"object","properties":{"query":{"type":"string"},"limit":{"type":"integer"}},"additionalProperties":true},"records":{"type":"array","items":{"type":"object","properties":{"type":{"const":"Feature"},"geometry":{"type":["object","null"],"additionalProperties":true},"properties":{"type":"object","properties":{"placeId":{"type":["integer","null"]},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"displayName":{"type":["string","null"]},"address":{"type":["object","null"],"additionalProperties":true},"source":{"type":"string"},"coverageTier":{"type":"string"}},"required":["latitude","longitude","source"],"additionalProperties":true}},"required":["type","geometry","properties"],"additionalProperties":true}},"summary":{"type":"object","properties":{"matchedRecords":{"type":["integer","null"],"minimum":0},"returnedRecords":{"type":"integer","minimum":0},"truncated":{"type":"boolean"}},"required":["matchedRecords","returnedRecords","truncated"],"additionalProperties":true},"pagination":{"type":"object","additionalProperties":true},"source":{"type":"object","additionalProperties":true},"caveats":{"type":"array","items":{"type":"string"}}},"required":["kind","schemaVersion","query","records","summary","source","caveats"],"additionalProperties":true}},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"declared","value":"EPSG:4326"}},"caveats":["Open-map address context is not a legal cadastral or ownership record.","Open-map address matches require confirmation before they are used as legal parcel identity.","A miss returns records: [] with a caveat naming a cause you can act on, not a bare empty result.","When a query carries a postcode and matches nothing, one retry runs without it; that answer says so in a caveat and is not postcode-verified."]},{"name":"reverseGeocode","description":"Resolve coordinates to the nearest mapped address, street, or place.","requiredParams":["latitude","longitude"],"inputSchema":{"type":"object","properties":{"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"zoom":{"type":"integer","minimum":1,"maximum":18},"layer":{"type":"string","description":"Comma-separated Nominatim layers: address, poi, railway, natural, manmade. Defaults to 'address' so a lookup lands on a building, street, or place. Add 'poi' only to reach mapped points of interest such as benches or phones."}},"required":["latitude","longitude"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","notes":"Reflects the upstream OpenStreetMap/Nominatim index."},"scope":"connector"},"entities":{"status":"declared","value":["address","place"]},"pagination":{"status":"declared","value":{"style":"none"}},"output":{"schema":{"status":"declared","value":{"type":"object","properties":{"kind":{"const":"parcelops.public-data"},"schemaVersion":{"type":"string"},"dataset":{"type":"object","additionalProperties":true},"query":{"type":"object","properties":{"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"layer":{"type":"string"},"zoom":{"type":"integer"}},"required":["latitude","longitude"],"additionalProperties":true},"records":{"type":"array","maxItems":1,"items":{"type":"object","properties":{"place_id":{"type":["integer","null"]},"lat":{"type":["string","number"]},"lon":{"type":["string","number"]},"display_name":{"type":["string","null"]},"address":{"type":["object","null"],"additionalProperties":true},"geojson":{"type":["object","null"],"additionalProperties":true},"queriedCoordinates":{"type":"object","properties":{"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180}},"required":["latitude","longitude"],"additionalProperties":false},"layer":{"type":"string"}},"required":["lat","lon"],"additionalProperties":true}},"summary":{"type":"object","properties":{"matchedRecords":{"type":["integer","null"],"minimum":0},"returnedRecords":{"type":"integer","minimum":0,"maximum":1},"truncated":{"type":"boolean"}},"required":["matchedRecords","returnedRecords","truncated"],"additionalProperties":true},"source":{"type":"object","additionalProperties":true},"caveats":{"type":"array","items":{"type":"string"}}},"required":["kind","schemaVersion","query","records","summary","source","caveats"],"additionalProperties":true}},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"declared","value":"EPSG:4326"}},"caveats":["Open-map address context is not a legal cadastral or ownership record.","The nearest mapped address is a resolver result, not proof of parcel identity or occupancy.","Returned lat/lon belong to the matched object, not to the coordinate asked about; queriedCoordinates echoes the input so the offset stays visible.","A coordinate with nothing mapped nearby returns records: [] with a caveat; that means OpenStreetMap has nothing mapped in this layer here, not that nothing exists at the location."]},{"name":"getServiceInfo","description":"Return source, coverage, and legal-use notes.","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","notes":"Reflects the upstream OpenStreetMap/Nominatim index."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["Open-map address context is not a legal cadastral or ownership record."]}]},"caveats":["Open-map address context is not a legal cadastral or ownership record."]}