
Overview
GeoTract maps any U.S. Census Tract FIPS code or latitude/longitude point to its corresponding tract metadata. By supplying a tract identifier or coordinates, you get back the tract’s 11‑digit FIPS code, county name, state abbreviation, and token charge—ideal for enriching your data with hyper‑local geography.
Key Business Use Cases
1. Hyper‑Local Market Segmentation
Group customers or events by Census Tract rather than ZIP Code to tailor promotions and insights at the neighborhood level—perfect for localized campaigns or A/B testing across adjacent tracts.
2. Risk Assessment & Underwriting
Overlay tract‑level socioeconomic and housing data (via ACS joins) onto your risk models to identify micro‑pockets of opportunity or concern—refine premiums and forecasts with granular precision.
3. Urban Planning & Resource Allocation
Use tract boundaries for equitable infrastructure planning, grant distribution, or community outreach—ensure resources are allocated to the precise areas that need them most.
Developer Spotlight: C# Code Snippet
// GeoTract C# example
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");
var tractId = "01001020100"; // Autauga County, Alabama, Tract 201
var url = $"https://geodata.cdxtech.com/api/geotract"
+ $"?key={apiKey}"
+ $"&query={tractId}"
+ $"&format=json";
using var client = new HttpClient();
var response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();
var root = JsonDocument.Parse(json).RootElement;
var record = root.GetProperty("results")[0];
Console.WriteLine($"Tract FIPS: {record.GetProperty("censusTract").GetString()}");
Console.WriteLine($"County: {record.GetProperty("county").GetString()}");
Console.WriteLine($"State: {record.GetProperty("state").GetString()}");
}
}
}
Sample Response
{
"service": "GeoTract",
"results": [
{
"censusTract": "01001020100",
"county": "Autauga County",
"state": "AL"
}
],
"tokenCharge": 2
}
Getting Started
- Obtain your free API key (100 tokens) from the CDXGeoData portal.
- Invoke
GET /api/geotract
with parameters:
key
– your API key
query
– 11‑digit Census Tract FIPS or latitude
&longitude
format
– json
, xml
, or csv
- Parse the
results
array to extract censusTract
, county
, and state
.
- Join with American Community Survey (ACS) or other datasets using the tract FIPS code for deeper demographic and socioeconomic analysis.

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.

Overview
GeoRouteGoogle and GeoRouteHere provide high‑quality turn‑by‑turn routing using Google Maps Platform and HERE Technologies engines, respectively. While the legacy /api/georoute
(Bing Maps) has been retired, these two endpoints deliver reliable distance, duration, and step‑by‑step directions between origins and destinations via a single HTTP request.
Key Business Use Cases
1. Last‑Mile Delivery Optimization
Use live routing responses to assign drivers the fastest or shortest routes—integrate real‑time traffic data via Google or HERE to minimize delays and fuel consumption.
2. On‑Demand Ride‑Hailing & Logistics
Calculate precise pickup‑to‑dropoff routes for passenger or parcel services, choosing Google’s global coverage or HERE’s advanced lane‑level guidance where needed.
3. Field Service & Dispatching
Empower dispatch systems with optimal route plans for technicians, incorporating waypoints, avoidances, and ETA calculations from the chosen provider.
Developer Spotlight: C# Code Snippet
// GeoRouteGoogle C# example
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");
var originLat = 47.6062; // Seattle
var originLon = -122.3321;
var destLat = 47.6205; // Space Needle
var destLon = -122.3493;
var format = "json";
var serviceParam = "google"; // or "here"
var url = $"https://geodata.cdxtech.com/api/georoute" +
$"?key={apiKey}" +
$"&service={serviceParam}" +
$"&origin={originLat},{originLon}" +
$"&destination={destLat},{destLon}" +
$"&format={format}";
using var client = new HttpClient();
var response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();
var root = JsonDocument.Parse(json).RootElement;
var route = root.GetProperty("routes")[0];
var distance = route.GetProperty("distance").GetDouble();
var duration = route.GetProperty("duration").GetDouble();
Console.WriteLine($"Distance: {distance} {route.GetProperty("distanceUnit").GetString()}");
Console.WriteLine($"Duration: {TimeSpan.FromSeconds(duration)}");
Console.WriteLine("Steps:");
foreach (var step in route.GetProperty("legs")[0].GetProperty("steps").EnumerateArray())
{
Console.WriteLine($" - {step.GetProperty("instruction").GetString()} " +
$"({step.GetProperty("distance").GetDouble()} {step.GetProperty("distanceUnit").GetString()})");
}
}
}
}
Sample Response
{
"service": "GeoRouteGoogle",
"routes": [
{
"distance": 3.2,
"distanceUnit": "miles",
"duration": 540,
"legs": [
{
"steps": [
{ "instruction": "Head north on 4th Ave", "distance": 0.2, "distanceUnit": "miles" },
{ "instruction": "Turn right onto Pike St", "distance": 0.5, "distanceUnit": "miles" },
// ...
]
}
]
}
],
"tokenCharge": 10
}
Getting Started
- Sign up for a free CDXGeoData account and grab your API key.
- Decide on your routing engine:
service=google
for Google Maps Platform or service=here
for HERE Technologies.
- Invoke
GET /api/georoute
with key
, service
, origin
, destination
, and format
.
- Parse the
routes
array for distance, duration, and step‑by‑step instructions.

Overview
GeoRace delivers ZIP Code–level population statistics by race, based on Census 2010 ZIP Code Tabulation Areas. Simply supply your API key, the target U.S. ZIP Code, and desired output format, and receive counts and percentages for Asian, Black/African‑American, American Indian & Alaska Native, Native Hawaiian & Pacific Islander, White, and other race groups in one concise response.
Key Business Use Cases
1. Inclusive Marketing & Outreach
Identify ZIP Codes with diverse racial compositions to tailor multicultural campaigns, allocate ad spend, and ensure messaging resonates across communities.
2. Public Policy & Community Planning
Inform social programs and resource allocation by analyzing racial demographics at the ZIP Code level—supporting equitable access to healthcare, education, and services.
3. Academic & Nonprofit Research
Enrich research datasets with race distribution metrics for studies in sociology, public health, or urban development, without manual census lookups.
Developer Spotlight: C# Code Snippet
// GeoRace C# example
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");
var zip = "30301"; // Atlanta, GA
var url = $"https://geodata.cdxtech.com/api/georace?key={apiKey}&zipcode={zip}&format=json";
using var client = new HttpClient();
var response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();
var root = JsonDocument.Parse(json).RootElement;
var data = root.GetProperty("results")[0];
Console.WriteLine($"White %: {data.GetProperty("Whitepercentage").GetDouble():P1}");
Console.WriteLine($"Black %: {data.GetProperty("Blackpercentage").GetDouble():P1}");
Console.WriteLine($"Asian %: {data.GetProperty("Asianpercentage").GetDouble():P1}");
Console.WriteLine($"Other %: {data.GetProperty("Otherpercentage").GetDouble():P1}");
}
}
}
Sample Response
{
"service": "GeoRace",
"results": [
{
"zipCode": "30301",
"AsianPopulation": 1200,
"BlackPopulation": 8500,
"IndianPopulation": 300,
"HawaiianPopulation": 50,
"WhitePopulation": 16000,
"Otherpercentage": 0.05,
"Asianpercentage": 0.05,
"Blackpercentage": 0.23,
"Indianpercentage": 0.01,
"Hawaiianpercentage": 0.00,
"Whitepercentage": 0.71,
"Remainingpercentage": 0.00,
"Totalpercentage": 1.00
}
],
"tokenCharge": 5
}
Getting Started
- Sign up for a free CDXGeoData account and grab your API key.
- Invoke
GET /api/georace
with key
, zipcode
, and format
parameters.
- Parse the
results
array to access both counts and percentage fields for each race category.

Overview
GeoFindZip is the reverse‑lookup endpoint in the CDXGeoData suite. Given a pair of latitude and longitude coordinates, it returns the containing or nearest U.S. ZIP Code, along with centroid coordinates and optional distance metrics, all in a single HTTP call.
Key Business Use Cases
1. Reverse Geocoding for Mapping Apps
Convert raw GPS coordinates from mobile devices or IoT sensors into human‑readable ZIP Codes to display on maps or in location‑aware dashboards.
2. Geo‑Aware Analytics
Enrich event logs or transaction records with ZIP Code context—segment usage patterns by postal area or feed ZIP‑level aggregates into BI reports.
3. Geofencing & Compliance
Validate that a given coordinate falls within a serviceable ZIP Code or flag out‑of‑bounds activity for compliance with regional regulations.
Developer Spotlight: C# Code Snippet
// GeoFindZip C# example
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");
var latitude = 34.052235; // Los Angeles
var longitude = -118.243683;
var format = "json";
var url = $"https://geodata.cdxtech.com/api/geofindzip"
+ $"?key={apiKey}"
+ $"&latitude={latitude}"
+ $"&longitude={longitude}"
+ $"&format={format}";
using var client = new HttpClient();
var response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();
var root = JsonDocument.Parse(json).RootElement;
var result = root.GetProperty("results")[0];
Console.WriteLine($"ZIP Code: {result.GetProperty("zipCode").GetString()}");
Console.WriteLine($"Centroid: {result.GetProperty("latitude")}, {result.GetProperty("longitude")}");
Console.WriteLine($"Distance (miles): {result.GetProperty("distanceMiles").GetDouble()}");
}
}
}
Sample Response
{
"service": "GeoFindZip",
"results": [
{
"zipCode": "90012",
"latitude": 34.0614,
"longitude": -118.237,
"distanceMiles": 0.9
}
],
"tokenCharge": 1
}
Getting Started
- Sign up for a free CDXGeoData account and retrieve your API key.
- Invoke
GET /api/geofindzip
with key
, latitude
, longitude
, and format
.
- Parse the first element of the
results
array to get the matching ZIP Code and related metadata.