Skip to content

Geolocation in Edge Middleware

Learn how to use visitor's location at the edge.

RepositoryAvatar of vercelvercel/examples
Framework
Geolocation in Edge functions

Geolocation

This example shows how to use the event.request object to determine a user's location.

import { geolocation } from '@vercel/functions'

const geo = geolocation(req)

console.log(geo)

{
  /** The city that the request originated from. */
  city?: string;
  /** The country that the request originated from. */
  country?: string;
  /** The flag emoji for the country the request originated from. */
  flag?: string;
  /** The Vercel Edge Network region that received the request. */
  region?: string;
  /** The region part of the ISO 3166-2 code of the client IP. */
  countryRegion?: string;
  /** The latitude of the client. */
  latitude?: string;
  /** The longitude of the client. */
  longitude?: string;
}

Demo

https://edge-functions-geolocation.vercel.sh

How to Use

You can choose from one of the following two methods to use this repository:

One-Click Deploy

Deploy the example using Vercel:

Clone and Deploy

Execute create-next-app with pnpm to bootstrap the example:

pnpm create next-app --example https://github.com/vercel/examples/tree/main/edge-middleware/geolocation geolocation

Next, run Next.js in development mode:

pnpm dev

Deploy it to the cloud with Vercel (Documentation).

Geolocation in Edge functions

Geolocation in Edge Middleware

Learn how to use visitor's location at the edge.

RepositoryAvatar of vercelvercel/examples
Framework

Geolocation

This example shows how to use the event.request object to determine a user's location.

import { geolocation } from '@vercel/functions'

const geo = geolocation(req)

console.log(geo)

{
  /** The city that the request originated from. */
  city?: string;
  /** The country that the request originated from. */
  country?: string;
  /** The flag emoji for the country the request originated from. */
  flag?: string;
  /** The Vercel Edge Network region that received the request. */
  region?: string;
  /** The region part of the ISO 3166-2 code of the client IP. */
  countryRegion?: string;
  /** The latitude of the client. */
  latitude?: string;
  /** The longitude of the client. */
  longitude?: string;
}

Demo

https://edge-functions-geolocation.vercel.sh

How to Use

You can choose from one of the following two methods to use this repository:

One-Click Deploy

Deploy the example using Vercel:

Clone and Deploy

Execute create-next-app with pnpm to bootstrap the example:

pnpm create next-app --example https://github.com/vercel/examples/tree/main/edge-middleware/geolocation geolocation

Next, run Next.js in development mode:

pnpm dev

Deploy it to the cloud with Vercel (Documentation).

Unleash New Possibilities

Deploy your app on Vercel and unlock its full potential