Create a new API user with the system token. The account starts inactive until email verification or admin activation is completed.
$payload = [
'name' => 'Client App',
'email' => 'client@example.com',
'phone' => '1234567890',
];fetch('/api/address-importer/users', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_SYSTEM_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify(payload)
});requests.post(
'/api/address-importer/users',
headers={'Authorization': 'Bearer YOUR_SYSTEM_TOKEN'},
json=payload,
){
"message": "User created successfully. User is inactive by default.",
"api_token": "PLAIN_TEXT_TOKEN"
}Search with `street`, `city`, `state`, `zipcode`, `country`, or a `full_address` string.
$payload = ['street' => 'Main St', 'city' => 'Boston', 'state' => 'MA', 'limit' => 10];fetch('/api/address-importer/search', {
method: 'POST',
headers: { Authorization: 'Bearer YOUR_ACTIVE_API_TOKEN', 'Content-Type': 'application/json' },
body: JSON.stringify({ street: 'Main St', city: 'Boston', state: 'MA', limit: 10 })
});requests.post('/api/address-importer/search', headers=auth, json={'street': 'Main St', 'city': 'Boston', 'state': 'MA', 'limit': 10}){
"message": "Address search results.",
"count": 2,
"data": [{"full_address": "12 Main St, Boston, MA 02110, USA"}]
}Lookup cities using a prefix string for autocomplete or location suggestions.
$payload = ['city' => 'New', 'limit' => 10];fetch('/api/address-importer/city-search', { method: 'POST', headers: auth, body: JSON.stringify({ city: 'New', limit: 10 }) });requests.post('/api/address-importer/city-search', headers=auth, json={'city': 'New', 'limit': 10}){
"message": "City search results.",
"count": 3,
"data": [{"city": "New York", "state": "NY"}]
}Search around a latitude and longitude point with an optional radius.
$payload = ['latitude' => 40.7128, 'longitude' => -74.0060, 'radius' => 0.10, 'limit' => 10];fetch('/api/address-importer/location-search', { method: 'POST', headers: auth, body: JSON.stringify({ latitude: 40.7128, longitude: -74.0060, radius: 0.10, limit: 10 }) });requests.post('/api/address-importer/location-search', headers=auth, json={'latitude': 40.7128, 'longitude': -74.0060, 'radius': 0.10, 'limit': 10}){
"message": "Location search results.",
"count": 1,
"data": [{"full_address": "11 Broadway, New York, NY 10004, USA"}]
}Return address records that fall within a mile radius from a reference point.
$payload = ['latitude' => 29.7604, 'longitude' => -95.3698, 'distance_miles' => 5, 'city' => 'Houston'];fetch('/api/address-importer/distance-search', { method: 'POST', headers: auth, body: JSON.stringify({ latitude: 29.7604, longitude: -95.3698, distance_miles: 5, city: 'Houston' }) });requests.post('/api/address-importer/distance-search', headers=auth, json={'latitude': 29.7604, 'longitude': -95.3698, 'distance_miles': 5, 'city': 'Houston'}){
"message": "Distance search results.",
"reference": {"latitude": 29.7604, "longitude": -95.3698},
"count": 2,
"data": [{"distance_miles": 1.24}]
}Find postal codes inside a target radius from a source zip code.
$payload = ['zipcode' => '10001', 'distance_miles' => 10, 'state' => 'NY', 'limit' => 50];fetch('/api/address-importer/zipcode-radius-search', { method: 'POST', headers: auth, body: JSON.stringify({ zipcode: '10001', distance_miles: 10, state: 'NY', limit: 50 }) });requests.post('/api/address-importer/zipcode-radius-search', headers=auth, json={'zipcode': '10001', 'distance_miles': 10, 'state': 'NY', 'limit': 50}){
"message": "Zipcode radius search results.",
"count": 5,
"data": [{"zipcode": "10002", "distance_miles": 2.47}]
}Score an email address using syntax, DNS, MX, disposable, free-provider, role-based, gibberish, internal reputation, domain-age, and optional breach-history signals. The response includes a numeric score, risk band, decision, triggered signals, and detailed meta diagnostics.
$payload = ['email' => 'test@example.com', 'context' => 'b2b_signup']; fetch('/api/email-risk/score', {
method: 'POST',
headers: { Authorization: 'Bearer YOUR_ACTIVE_API_TOKEN', 'Content-Type': 'application/json' },
body: JSON.stringify({ email: 'test@example.com', context: 'b2b_signup' })
}); requests.post('/api/email-risk/score', headers=auth, json={'email': 'test@example.com', 'context': 'b2b_signup'}){
"message": "Email risk scored successfully.",
"data": {
"email": "admin@10minutemail.com",
"normalized_email": "admin@10minutemail.com",
"local_part": "admin",
"domain": "10minutemail.com",
"score": 85,
"band": "very_high",
"decision": "block",
"signals": [
"disposable_domain",
"role_based_local_part"
],
"meta": {
"syntax_valid": true,
"dns_found": true,
"mx_found": true,
"disposable": true,
"free_provider": false,
"role_based": true,
"gibberish_local_part": false,
"domain_age_days": 6200,
"breach_check_enabled": false,
"breach_count": null
}
}
}Record reputation events such as `verified`, `abuse`, `bounce`, `chargeback`, or `otp_failed` so future scores reflect your own history.
$payload = ['email' => 'customer@example.com', 'event_type' => 'verified', 'source' => 'signup_form']; fetch('/api/email-risk/events', {
method: 'POST',
headers: { Authorization: 'Bearer YOUR_ACTIVE_API_TOKEN', 'Content-Type': 'application/json' },
body: JSON.stringify({ email: 'customer@example.com', event_type: 'verified', source: 'signup_form' })
}); requests.post('/api/email-risk/events', headers=auth, json={'email': 'customer@example.com', 'event_type': 'verified', 'source': 'signup_form'}){
"message": "Email risk event recorded successfully.",
"data": {
"id": 1,
"email": "customer@example.com",
"domain": "example.com",
"event_type": "verified"
}
}Directly calculate the miles between two coordinate pairs.
$payload = ['from_latitude' => 40.7128, 'from_longitude' => -74.0060, 'to_latitude' => 34.0522, 'to_longitude' => -118.2437];fetch('/api/address-importer/calculate-distance', { method: 'POST', headers: auth, body: JSON.stringify({ from_latitude: 40.7128, from_longitude: -74.0060, to_latitude: 34.0522, to_longitude: -118.2437 }) });requests.post('/api/address-importer/calculate-distance', headers=auth, json={'from_latitude': 40.7128, 'from_longitude': -74.0060, 'to_latitude': 34.0522, 'to_longitude': -118.2437}){
"message": "Distance calculated successfully.",
"distance_miles": 2445.55
}Resolve an IP address into geolocation and ASN metadata.
$ch = curl_init('/api/geoip?ip=8.8.8.8&fresh=1');fetch('/api/geoip?ip=8.8.8.8&fresh=1', { headers: { Authorization: 'Bearer YOUR_ACTIVE_API_TOKEN' } });requests.get('/api/geoip', headers=auth, params={'ip': '8.8.8.8', 'fresh': 1}){
"ok": true,
"country_name": "United States",
"city_name": "Mountain View"
}Return zip codes found within the provided distance from a seed zip code.
$ch = curl_init('/api/zipcode/zip_code?zip=10001&distance=10');fetch('/api/zipcode/zip_code?zip=10001&distance=10', { headers: { Authorization: 'Bearer YOUR_ACTIVE_API_TOKEN' } });requests.get('/api/zipcode/zip_code', headers=auth, params={'zip': 10001, 'distance': 10})[{"zip": "10001", "distance": 0}, {"zip": "10002", "distance": 2.47}]Measure the distance in miles between two zip codes.
$ch = curl_init('/api/zipcode/distance?from_zip=10001&to_zip=10002');fetch('/api/zipcode/distance?from_zip=10001&to_zip=10002', { headers: { Authorization: 'Bearer YOUR_ACTIVE_API_TOKEN' } });requests.get('/api/zipcode/distance', headers=auth, params={'from_zip': 10001, 'to_zip': 10002})2.47Resolve coordinates into the nearest zip code list.
$ch = curl_init('/api/zipcode/zip?lat=40.7128&lng=-74.0060');fetch('/api/zipcode/zip?lat=40.7128&lng=-74.0060', { headers: { Authorization: 'Bearer YOUR_ACTIVE_API_TOKEN' } });requests.get('/api/zipcode/zip', headers=auth, params={'lat': 40.7128, 'lng': -74.0060})[{"zip": "10007", "distance": 0.18}]Interactive map with address search, route display, and location markers. Test address validation and map integration in real-time.
Combined Map Demo will load here
Address autocomplete with real-time suggestions and route preview. Test the address search functionality with live routing display.
Autocomplete Route Demo will load here
Open Source Routing Machine (OSRM) integration displaying optimized routes between multiple locations with distance and duration calculations.
OSRM Route Demo will load here
Duration/distance matrix for multiple points. Useful for logistics and dispatch.
OSRM Table Demo will load here
Optimized multi-stop route. Choose source, destination, roundtrip, and steps.
OSRM Trip Demo will load here
Match GPS traces to roadways using OSRM. Snap coordinates to the nearest street network and visualize the matched route.
OSRM Match Demo will load here
Snap a coordinate to the nearest routable road. Useful for map-matching and corrections.
OSRM Nearest Demo will load here
Address/place to coordinates with typeahead suggestions. Place markers on the map.
Nominatim Search Demo will load here
Coordinates to address. Click map or enter coordinates to reverse geocode.
Nominatim Reverse Demo will load here
Preview local map tiles. Test tile server integration and display.
Tiles Preview Demo will load here
Ready-to-run cURL commands for all API endpoints. Great for backend and CLI testing.
cURL Examples Demo will load here