GPS Coordinates

GET/v0/gps

Validates GPS coordinates and normalises them to decimal degrees. Accepts latitude/longitude pairs in multiple common formats: Decimal Degrees (DD), Degrees Decimal Minutes (DDM), Degrees Minutes Seconds (DMS), and GeoURI. Validates that latitude is within −90 … +90 and longitude within −180 … +180.

Guides: Node.js · Python

Try it

Query Parameters

ParameterTypeRequiredDescription
valuestringYesThe coordinate pair to validate

Supported Formats

FormatExample inputReturned format
Decimal Degrees (signed)52.2297, 21.0122dd
Decimal Degrees + direction52.2297N 21.0122Edd
Decimal Degrees + direction (prefix)N52.2297 E21.0122dd
Degrees Decimal Minutes52°13.782'N, 21°0.732'Eddm
Degrees Minutes Seconds52°13'46.92"N, 21°0'43.92"Edms
DMS with dash separators52-13-46.92N, 21-0-43.92Edms
GeoURIgeo:52.2297,21.0122geo-uri

Example Request

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.isvalid.dev/v0/gps?value=52%C2%B013'46.92%22N%2C+21%C2%B00'43.92%22E"

Response Fields

FieldTypeDescription
validbooleanWhether the coordinate pair is valid and in range
formatstringDetected input format: dd, ddm, dms, or geo-uri
latnumberLatitude in decimal degrees (−90 … +90, negative = South)
lonnumberLongitude in decimal degrees (−180 … +180, negative = West)
latDirstringN or S
lonDirstringE or W
dms.latstringLatitude in DMS notation, e.g. 52°13'46.92"N
dms.lonstringLongitude in DMS notation, e.g. 21°0'43.92"E

Example Response — valid (DD, Warsaw)

{
  "valid": true,
  "format": "dd",
  "lat": 52.2297,
  "lon": 21.0122,
  "latDir": "N",
  "lonDir": "E",
  "dms": {
    "lat": "52°13'46.92\"N",
    "lon": "21°0'43.92\"E"
  }
}

Example Response — valid (DMS, Sydney)

{
  "valid": true,
  "format": "dms",
  "lat": -33.8688,
  "lon": 151.2093,
  "latDir": "S",
  "lonDir": "E",
  "dms": {
    "lat": "33°52'7.68\"S",
    "lon": "151°12'33.48\"E"
  }
}

Example Response — invalid

{
  "valid": false
}