
Overview
The legacy GeoLocateAddress
and GeoLocatePoint
endpoints (powered by Bing Maps) have been retired for non‑enterprise users. To ensure uninterrupted, enterprise‑grade geocoding, CDXGeoData now offers parallel services on the Google Maps Platform and HERE Technologies platforms:
- Google Maps:
GeocodeGoogle
, GeocodeGoogleSingle
, GeocodeGoogleReverse
- HERE Technologies:
GeocodeHERE
, GeocodeHERESingle
, GeocodeHEREReverse
All endpoints accept your API key, an address or coordinates, and return formatted addresses with latitude/longitude in JSON, XML, or CSV.
Key Business Use Cases
1. Seamless Migration & Multi‑Engine Fallback
Switch between Google and HERE geocoders to balance cost, performance, and feature coverage—fall back automatically if one provider experiences downtime.
2. Single‑Line & Structured Address Support
Use *Single
variants to parse free‑form addresses in one parameter, or structured variants to submit street, city, state/province, and postal code fields for extra precision.
3. Bidirectional Geocoding
Forward geocode addresses into coordinates and reverse geocode GPS data back into human‑readable addresses—ideal for delivery apps, asset tracking, and analytics.
Developer Spotlight: C# Code Snippet
// Generic C# geocoding example for Google & HERE
using System;
using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;
namespace CDXGeoDataSample
{
class Program
{
static async Task Main()
{
var apiKey = Environment.GetEnvironmentVariable("CDX_GEO_KEY");
// Choose provider ("google" or "here")
var provider = "google";
// Choose mode: "", "Single", or "Reverse"
var mode = "Single";
// Prepare parameters
var address = "1600 Amphitheatre Parkway, Mountain View, CA";
double lat = 34.0522, lon = -118.2437;
string endpoint = mode == "Reverse"
? $"geocode{provider}Reverse?key={apiKey}&latitude={lat}&longitude={lon}&format=json"
: mode == "Single"
? $"geocode{provider}Single?key={apiKey}&address={Uri.EscapeDataString(address)}&format=json"
: $"geocode{provider}?key={apiKey}"
+ $"&street={Uri.EscapeDataString("1600 Amphitheatre Parkway")}"
+ "&city=Mountain%20View&state=CA&postalcode=94043&format=json";
using var client = new HttpClient { BaseAddress = new Uri("https://geodata.cdxtech.com/api/") };
var response = await client.GetAsync(endpoint);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();
var root = JsonDocument.Parse(json).RootElement;
var result = root.GetProperty("results")[0];
var formatted = result.GetProperty("formattedAddress").GetString();
var latitude = result.GetProperty("latitude").GetDouble();
var longitude = result.GetProperty("longitude").GetDouble();
Console.WriteLine($"Address: {formatted}");
Console.WriteLine($"Coords: {latitude}, {longitude}");
}
}
}
Sample Response (GeocodeGoogleSingle)
{
"service": "GeocodeGoogleSingle",
"results": [
{
"formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
"latitude": 37.4220,
"longitude": -122.0841
}
],
"tokenCharge": 3
}
Getting Started
- Sign up for a free CDXGeoData account and retrieve your API key.
- Choose your platform and variant:
GeocodeGoogle
/ GeocodeHERESingle
/ etc.
- Invoke
GET /api/geocode<Platform><Variant>
with necessary parameters (address
or street
, city
, etc., or latitude
& longitude
for reverse).
- Parse the
formattedAddress
and coordinates from the results
array.