{"uid":"cap_bzDmGH-SgG7H84E_zx3bH","slug":"geospatial-openverbs-coordinate-parser-952d3909","name":"Geospatial OpenVerbs Coordinate Parser","description":"Parse a coordinate string into decimal lat/lon. Accepts a plain decimal pair ('40.4462, -79.9822') or DMS with hemisphere letters ('40°26'46\"N 79°58'56\"W'). Anything unrecognized is a clean 400.","url":"https://geospatial.openverbs.com/v1/parse","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["coordinate"],"properties":{"coordinate":{"type":"string","maxLength":256,"minLength":1,"description":"Coordinate string (decimal pair or DMS)."}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_CnHExUc3TDl5Wmo40AX9R","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Parses a coordinate string in decimal or DMS format into normalized decimal latitude and longitude values","exampleAgentPrompt":"Parse this coordinate string for me — '40°26'46\"N 79°58'56\"W' — and give me the decimal lat/lon.","exampleUseCases":[{"title":"Normalize user-submitted location input","prompt":"A user typed '48°51'30\"N 2°17'40\"E' into a form field — can you parse that into decimal latitude and longitude so I can store it?"},{"title":"Standardize GPS coordinates from field data","prompt":"I've got a coordinate string from a field survey: '34.0522, -118.2437' — parse it into clean decimal lat/lon values for me."},{"title":"Validate and convert DMS coordinates","prompt":"Can you convert this DMS coordinate '51°30'26\"N 0°7'39\"W' into decimal degrees so I can feed it into the mapping pipeline?"}],"resultDescription":"Returns the parsed decimal latitude and longitude values extracted from the input coordinate string. Invalid or unrecognized coordinate formats result in a clean 400 error response.","failureModes":["Unrecognized coordinate format returns 400 Bad Request","Input outside valid lat/lon range may return 400","Missing or empty coordinate field returns 400 validation error","Ambiguous coordinate strings (missing hemisphere, malformed DMS) return 400"],"whenToPreferThis":"Use this endpoint when you need to reliably parse and normalize coordinate strings that may arrive in either plain decimal (e.g. '40.4462, -79.9822') or DMS-with-hemisphere format (e.g. '40°26'46\"N 79°58'56\"W'). Prefer it over manual parsing when input format is unpredictable and you need a guaranteed clean decimal output or a well-defined error. It complements sibling endpoints on the same platform for downstream operations like geohashing, timezone lookup, or UTM conversion.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T00:46:58.284Z","isFirstParty":false}