Edge Functions Examples / Geolocation

Geolocation

You can use Edge Functions to get information about a user's location to serve location-specific content and personalize their experience.

  • United States
  • Your country name United States
  • Your country code US
  • Your city Columbus

Geolocation information is available on the Context.geo object.

import { Context } from "netlify:edge";

export default async (request: Request, context: Context) => {
  // Here's what's available on context.geo

  // context: {
  //   geo: {
  //     city?: string;
  //     country?: {
  //       code?: string;
  //       name?: string;
  //     },
  //     subdivision?: {
  //       code?: string;
  //       name?: string;
  //     },
  //   }
  // }

  return context.json({
    geo: context.geo,
    header: request.headers.get("x-nf-geo"),
  });
};

See this in action

Explore more examples

What are Edge Functions?

Using JavaScript and TypeScript, Netlify Edge Functions give you the power to modify network requests to localize content, serve relevant ads, authenticate visitors, A/B test content, and much more! And this all happens at the Edge — directly from the worldwide location closest to each user.

To use Edge Functions on Netlify, add JavaScript or TypeScript files to an edge-functions directory in your project, and add [[edge_functions]] entries to your netlify.toml file.

Learn more in the docs.


Deploy this site to Netlify

Try out Edge Functions on Netlify today! Click the button below to deploy this site with all of its demos to your Netlify account.

Deploy to Netlify