🍁 Hosted exclusively on bare metal in Beauharnois, Québec. Zero request logging by architecture.
G Geo Service
The Developer Geocoding Standard

Canadian geocoding and routing. Fast, reliable, and actually private.

A Canadian alternative to Google Maps and Mapbox. Powered by OpenStreetMap, Nominatim, and OSRM, hosted entirely in Beauharnois, Québec, and billed in flat Canadian dollars.

🔒 Our Zero-Logging Guarantee:

We track usage counters only. We never write your queries, customer addresses, coordinates, or API keys to server logs, database tables, or outside monitoring services.

Canadian API Console
11ms latency • 0 logs
Inspect Real Resolutions:
GET /search?q=710+Humberwood+Blvd+%231414&format=jsonv2
200 OK
{
  "status": 200,
  "lat": "43.72476",
  "lon": "-79.61657",
  "place_rank": 30,
  "type": "house",
  "display_name": "710, Humberwood Boulevard, Etobicoke, Toronto, Ontario",
  "unit_resolution": "Unit stripped (#1414) → Base rooftop match",
  "privacy": "Zero request logging • Ephemeral memory"
}
Data Residency Beauharnois, QC
Query Logging 0 Logs Kept
Currency Flat CAD ($)

Architectural Integrity

Why Canadian teams leave Google Maps

Most geocoding providers log every coordinate, store customer addresses in US datacenters, and bill you on variable USD rates. We built the exact opposite.

1

Zero Request Logging

Web server access logging is permanently disabled across NGINX and our upstream engines. We only record daily count totals (e.g. 14 lookups). Your customers' addresses and driving trips vanish as soon as the HTTP connection closes.

2

100% Domestic Canadian VPS

Hosted directly in OVHcloud’s Beauharnois, Quebec facility. Full compliance with PIPEDA, Quebec Law 25 (Loi 25), PHIPA for Ontario clinics, and Law Society data sovereignty standards.

3

Flat CAD Billing, No USD Fees

Google Maps bills $5.00 USD per 1,000 queries, which converts to $7.10 CAD after credit card FX markups. We charge predictable, flat Canadian dollar monthly tiers with generous caps.

← Swipe to compare →
Feature Geo Service Google Maps Platform Mapbox / LocationIQ
Physical Server Location Beauharnois, QC (Canada) Global / US Clouds US / Germany / Global
Query & Address Logging Never logged (0 logs kept) Retained & profiled Logged (up to 6 months)
100k Monthly Cost (CAD) CA$89 / mo flat ~CA$425 / mo (USD + FX) US$100–150 / mo
Turn-by-Turn Routing Included (OSRM v1) Extra fee per leg Separate API rate
Protocol Compatibility Nominatim, Photon, OSRM Proprietary Google SDK Proprietary Mapbox Token

Technical Foundations

Four Pillars of Geo Service

Everything developers expect from modern geocoding and routing infrastructure, built with absolute privacy from day one.

🔒

Zero Request Logs

No paths, queries, bodies, addresses, coordinates, or keys are ever written to server logs, application logs, caches, or exception trackers.

🍁

Hosted in Canada

All routing engines and API gateways operate exclusively out of Beauharnois, Québec (OVHcloud). Queries never touch foreign clouds or third parties.

⚡

Drop-in Compatible

Full compatibility with Nominatim (/search, /reverse), Photon (/api), and OSRM (/route, /trip).

📍

OSM + ODA Addresses

OpenStreetMap road networks augmented with Statistics Canada's Open Database of Addresses (ODA) for comprehensive house-number accuracy.

🛡️ Non-Negotiable Architecture

Privacy Promise: No Request Logging

Addresses and real-time coordinates are inherently sensitive. Unlike traditional commercial providers that retain query logs for profiling or caching, Geo Service treats your requests as ephemeral:

1. Access Logs are Disabled

Web server access logging is permanently disabled across NGINX, PHP-FPM, and upstream search daemons. Your IP, requested URL, query parameters, and timestamps are never recorded.

2. Usage is Counters Only

Rate limits and plan usage are enforced solely through aggregate numerical counters (per key, per day, per call kind). No request payloads or coordinates are stored.

3. Encrypted Bulk Batches

Asynchronous bulk lookup CSVs are the only request data temporarily saved to disk. Files are encrypted at rest with AES-256-GCM, never logged, and permanently destroyed within 72 hours.

Straightforward Self-Serve Billing

Transparent Plans for Every Scale

All plans include Canadian data residency, zero request logging, and full API access.

Free (placeholder)

Development
Free during testing
  • 1,000 monthly requests
  • 30 requests / min (Server keys)
  • 10 requests / min (Browser keys)
  • Zero request logging included

Paid 1 (placeholder)

Development
Custom
  • 10,000 monthly requests
  • 100 requests / min (Server keys)
  • 30 requests / min (Browser keys)
  • Up to 26 points per route
  • Zero request logging included

Paid 2 (placeholder)

Development
Custom
  • 100,000 monthly requests
  • 600 requests / min (Server keys)
  • 60 requests / min (Browser keys)
  • Up to 26 points per route
  • Zero request logging included
💵 Currency & FX Cost Breakdown

Tired of US dollar surprises on your credit card?

At 100,000 monthly requests, Google Maps costs ~$425 CAD/mo after USD conversion. Geo Service costs $89 CAD/mo flat.

Open Cost Calculator →

Two Key Types, Built for Security

Keys are generated with cryptographically secure random bytes, shown only once, and hashed using HMAC-SHA256 with a server secret.

Backend Services

Server Keys (sk_live_...)

For backend daemons, batch processors, and server-side applications. Must be sent in the Authorization: Bearer header. Any attempt to send a server key in a query string is refused with 401 Unauthorized to protect against URL leakage.

  • • Access to all enabled endpoints (search, reverse, routes, tables, bulk)
  • • Full plan rate limits
  • • Constant-time HMAC comparison
Frontend Applications

Browser Keys (pk_live_...)

For frontend address search boxes and autocomplete widgets. Can be sent in headers or query strings, but works exclusively from HTTP origins registered to your account. Requests from unregistered origins are refused.

  • • Allowed only on lookup endpoints (/search, /reverse, /api, /status)
  • • Origin verification on every request
  • • Dedicated browser rate limit to prevent scraping