# geo-dms

> geo-dms is a paid API for AI agents from x402.agentindex.world, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-31).

Converts geographic coordinates between decimal degrees and DMS (Degrees, Minutes, Seconds) format

## Facts

- Endpoint: GET https://x402.agentindex.world/geo/dms?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/geo-dms-ca743ae0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_c3L3QyiuwpH620kN9WF83

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 geo-dms-ca743ae0
```

Example prompt: Convert the decimal coordinate -73.9857 to DMS format — I need it expressed in degrees, minutes, seconds, and direction.

## When to prefer this

Use this endpoint when you need to programmatically convert between decimal degree and DMS geographic coordinate formats, especially in geospatial pipelines, map labeling, or navigation tools. It is lightweight, pay-per-call, and specifically designed for coordinate format conversion rather than full geocoding or reverse geocoding.

## Known failure modes

- Missing both dms and decimal inputs — endpoint expects at least one non-null value
- Decimal value out of range (-180 to 180) returns a validation error
- DMS direction not matching pattern (N/S/E/W) causes a parse error
- Seconds value >= 60 is rejected by schema validation
- Minutes value out of 0-59 range causes validation failure

## How this service works

Convert decimal degrees to degrees/minutes/seconds, or DMS back to decimal degrees.

## Output

A JSON object containing the converted coordinate representation. If converting decimal to DMS, returns degrees (integer), minutes (integer), seconds (float), and direction (N/S/E/W). If converting DMS to decimal, returns a decimal number between -180 and 180.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "dms": {
   "anyOf": [
    {
     "type": "object",
     "title": "DmsParts",
     "required": [
      "degrees",
      "minutes",
      "seconds",
      "direction"
     ],
     "properties": {
      "degrees": {
       "type": "integer",
       "title": "Degrees",
       "maximum": 180,
       "minimum": 0
      },
      "minutes": {
       "type": "integer",
       "title": "Minutes",
       "maximum": 59,
       "minimum": 0
      },
      "seconds": {
       "type": "number",
       "title": "Seconds",
       "minimum": 0,
       "exclusiveMaximum": 60
      },
      "direction": {
       "type": "string",
       "title": "Direction",
       "pattern": "^(N|S|E|W)$"
      }
     }
    },
    {
     "type": "null"
    }
   ],
   "default": null
  },
  "decimal": {
   "anyOf": [
    {
     "type": "number",
     "maximum": 180,
     "minimum": -180
    },
    {
     "type": "null"
    }
   ],
   "title": "Decimal",
   "default": null
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "degrees": 2,
  "minutes": 21,
  "seconds": 7.92,
  "direction": "E"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/geo-dms-ca743ae0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.agentindex.world](https://www.zero.xyz/host/x402.agentindex.world/llms.txt)
