Know where your visitors are — in one GET request.

VisitorGeo returns a visitor’s city, region, postal code, latitude/longitude, timezone and ASN from a single edge request. No SDK, no database downloads, no rate-limit headaches. It runs on Cloudflare’s edge, so a lookup takes about 50 ms and works from the browser (CORS-enabled) or your backend.

IP-based estimate. First 100,000 lookups each month are free.

See it live — this is you, right now

This card is a real, unmodified call to https://api.visitorgeo.com/v1/3iwhrmry2xmk4xjo (our public demo key) made from your browser the moment this page loaded. No fake data, no server-side proxy — it’s the same JSON your integration would get back.

Looking up your location…

Raw response:

One endpoint

A single authenticated GET returns the visitor’s approximate location, network, and timezone as clean JSON.

Edge-fast

Served from Cloudflare’s global edge. Typical response time is about 50 ms, close to your visitor.

Browser-ready

CORS is enabled, so you can call it directly from front-end JavaScript or from any server.

Try it in seconds

Replace YOUR_KEY with the key you get at signup.

curl https://api.visitorgeo.com/v1/YOUR_KEY
const res = await fetch("https://api.visitorgeo.com/v1/YOUR_KEY");
const geo = await res.json();
console.log(geo.city, geo.region, geo.country);

Example response:

{
  "estimated": true,
  "ip": "203.0.113.9",
  "country": "US",
  "city": "San Diego",
  "region": "California",
  "region_code": "CA",
  "postal_code": "92101",
  "latitude": 32.7157,
  "longitude": -117.1611,
  "timezone": "America/Los_Angeles",
  "asn": 13335,
  "as_organization": "Cloudflare, Inc.",
  "colo": "SAN"
}

Simple pricing

$1 per million lookups

  • First 100,000 lookups every month are free.
  • Usage is billed as estimated lookups, metered at the edge.
  • We apply a 2% discount in your favor on the estimate, so it never overcharges.
  • No monthly minimum, no seats, no per-request fees.
Start free