API access
Your AI client reaches Worldwide Address Search through one ParcelOps MCP endpoint, so there is no separate key to hold for it and no per-source client to write. Reaching it takes no credentials of your own.
Where it came from
Freshness and coverage
What this source cannot tell you
- ⚠ Anything outside Worldwide. A request past that edge comes back empty rather than approximated.
- ⚠ Which years it spans, because the covered period is not declared.
- ⚠ Anything OpenStreetMap Nominatim does not publish. ParcelOps returns this source as it stands and never fills a blank field from a different one.
- ⚠ Open-map address context is not a legal cadastral or ownership record.
Methods (3)
A method is one call your agent can make against this source.
searchAddress
readSearch a worldwide address or place and return WGS84 GeoJSON.
What you must providequeryRecords returnedaddress, placeHow to get more resultsnoneCoordinate systemEPSG:4326FreshnessScheduled (source-level)Input schema
{ "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 }Output schema
{ "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 }- ⚠ 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.
reverseGeocode
readResolve coordinates to the nearest mapped address, street, or place.
What you must providelatitudelongitudeRecords returnedaddress, placeHow to get more resultsnoneCoordinate systemEPSG:4326FreshnessScheduled (source-level)Input schema
{ "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 }Output schema
{ "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 }- ⚠ 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.
getServiceInfo
readReturn source, coverage, and legal-use notes.
FreshnessScheduled (source-level)Input schema
{ "type": "object", "properties": {}, "required": [], "additionalProperties": false }
Where this source is used
- Land research
Parcel records, ground conditions, and what reaches the property line, for raw and rural land.
- Commercial real estate
Parcel and assessment records, building programs, and the entity on the other side of the deal.
- Residential real estate
The parcel record, the housing programs that touch an address, and the conditions a buyer asks about.
- Realtors and brokerages
The facts behind a listing, the programs a buyer may qualify for, and your own files in the same place.
- Can I research a property outside the United States?
