# x402-deployer Address Geocoder (OSM Nominatim)

> x402-deployer Address Geocoder (OSM Nominatim) is a paid API for AI agents from x402-deployer.x402-deployer.workers.dev, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-14).

Converts a free-form address, postal code, place name, or POI into latitude/longitude coordinates plus a structured address breakdown and bounding box, backed by OpenStreetMap Nominatim.

## Facts

- Endpoint: POST https://x402-deployer.x402-deployer.workers.dev/address-geocode
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-deployer-x402-deployer-workers-dev-6c881702
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_jfNQUxrv2hpU1DWy_97Tv

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability x402-deployer-x402-deployer-workers-dev-6c881702 -d '<json body>'
```

Example prompt: What are the latitude and longitude coordinates for 1600 Pennsylvania Avenue NW, Washington DC 20500? I also need the bounding box and a structured address breakdown.

## When to prefer this

Use this endpoint when you need to convert a free-form address, postal code, or place name into geographic coordinates (lat/lng) with a structured address breakdown. Prefer it over reverse geocoders when you have text input and need coordinates as output. Best for global coverage leveraging OSM data. Note ODbL attribution is required for displayed results.

## Known failure modes

- Address not found in OSM — returns empty results array
- Ambiguous place name returns multiple low-confidence matches with similar importance scores
- Non-standard or misspelled address reduces match quality
- Rate limits or upstream Nominatim outages return 5xx errors
- Missing or malformed input address returns 400 bad request

## How this service works

Geocoder / forward geocoder / address to lat-lng / address-to-coordinates / postal-code lookup / place-name resolver / Nominatim geocoder / OpenStreetMap geocoding API. Converts a free-form address, postal code, place name, or POI into latitude/longitude plus a structured address breakdown (house number, road, city, county, state, postcode, country) and bounding box. Returns a ranked list of matches with importance scores. Backed by OSM Nominatim — global coverage, attribution required by ODbL.

## Output

A ranked list of geocoding matches, each containing latitude and longitude, a structured address object (house number, road, city, county, state, postcode, country), a bounding box, and an importance/relevance score. Global coverage via OSM Nominatim.

## Example request

```json
{
 "input": {
  "body": {
   "limit": 5,
   "address": "1600 Pennsylvania Avenue NW, Washington DC 20500"
  },
  "type": "http",
  "method": "POST",
  "bodyType": "json"
 }
}
```

## Request schema (JSON Schema)

```json
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "type": "object",
 "properties": {
  "input": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "type": "string",
     "enum": [
      "POST"
     ]
    },
    "bodyType": {
     "type": "string",
     "enum": [
      "json",
      "form-data",
      "text"
     ]
    },
    "body": {
     "properties": {
      "address": {
       "type": "string",
       "description": "Free-form address, postal code, place name, or POI. Examples: '1600 Amphitheatre Parkway, Mountain View, CA', '10115 Berlin', 'Eiffel Tower'."
      },
      "country_codes": {
       "type": "array",
       "description": "Optional ISO 3166-1 alpha-2 country codes to restrict results, e.g. ['us', 'ca']."
      },
      "limit": {
       "type": "number",
       "description": "Max results to return. 1-10. Default 5."
      }
     },
     "required": [
      "address"
     ]
    }
   },
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "query": {
       "type": "string"
      },
      "match_count": {
       "type": "integer"
      },
      "results": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "latitude": {
          "type": "number"
         },
         "longitude": {
          "type": "number"
         },
         "display_name": {
          "type": "string"
         },
         "type": {
          "type": "string"
         },
         "importance": {
          "type": "number"
         },
         "bounding_box": {
          "type": "array",
          "items": {
           "type": "number"
          }
         }
        }
       }
      },
      "best_match": {
       "type": "object",
       "properties": {
        "latitude": {
         "type": "number"
        },
        "longitude": {
         "type": "number"
        },
        "display_name": {
         "type": "string"
        }
       }
      },
      "source": {
       "type": "string"
      }
     }
    }
   },
   "required": [
    "type"
   ]
  }
 },
 "required": [
  "input"
 ]
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-deployer-x402-deployer-workers-dev-6c881702/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-deployer.x402-deployer.workers.dev](https://www.zero.xyz/host/x402-deployer.x402-deployer.workers.dev/llms.txt)
