The Esri GeoEnrichment Service

Add demographic, business, and landscape data to your maps and applications

Get a Free Account Browse the Docs

Query and display information from a large collection of data sets including population, income, housing, consumer behavior, and the natural environment.

ArcGIS API for Javascript

The Javascript API gives you easy access to the generated demographic infographics.


You can use the REST endpoint to enrich x,y coordinates, polygons, and explore study areas.

Rich Data, Rich Maps

Ready-to-use Infographic on a map

Show Ready-to-Use Infographics

Make complex information clear and easy
to understand.

Add to your existing data

Add to Your Data

Access large data collections from more than 120 countries.

Get generated reports from Esri

Send Detailed Reports

Show off your data by creating detailed, professional reports.

How It Works

Esri maintains a set of Data Collections - thematically grouped sets of information. For example, 'Key US Facts' is a set of basic facts about the United States. Within each Data Collection there are number of Variables, each representing a specific type of data. Within the 'Key US Facts' Data Collection we have the '2014 Per Capita Income' Variable.

When you use the GeoEnrichment service, you access these variables for specific geographic locations - called Features. For each Feature you want enriched, you can request a set of Variables and receive the data for your features.

Workflow for GeoEnrichment

Get Started

You can use the Esri GeoEnrichment Service through the JavaScript API and the REST endpoint for the service.

|| sample post to REST API
|| returns the default 'KeyGlobalFacts' for a one mile radius around a point
curl -X POST \
     -d "f=json" \
     -d "token=[YOUR_TOKEN]" \
     -d "studyAreas=[{'geometry':{'x':-117.1956,'y':34.0572}}]" \
// Make a new Infographic

var infographics = new Infographic({
  type: "AgePyramid",
  variables: ["Age.*"],
  returnGeometry: true
}, "infographics");

// Create a new Infographic on click

map.on("click", function(evt){; Graphic(evt.mapPoint, new SimpleMarkerSymbol()));
  infographics.set("studyArea", new GeometryStudyArea({ geometry: evt.mapPoint }));

Informed Solutions to Real Problems.

Retail Engagement

Find lifestyle data for customers

Retail Engagement

Survey existing businesses in the area

Retail Engagement

Project the impact of a natural disaster

Show Data Your Way

Create your own way to display data, or add out-of-the-box infographic pop-ups to your maps. Need to satisfy a data hound? You can generate detailed reports too.

Be Better Together

Combine Esri’s data with your own data for fresh insights! For example, add Esri’s population data to your sales data to compute sales per capita.

Give Us What You Got

Feed any location to the Esri GeoEnrichment Service — points, lines, areas, addresses, postal codes, ZIP codes, you name it! Get back all the data you need.

Travel the World

Where are you? Esri is there with data across the globe. A drive-time in Spain works the same as a drive-time in the U.S.

What does the GeoEnrichment Service Cost?

The GeoEnrichment Service is billed differently depending on whether you store the request or not. A stored request returns a variable that you may permanently add to your data, while a non-stored request is used for visualizations and other non-permanent uses.

GeoEnrichment Service Pricing Esri Credits U.S. Dollars
1 Stored GeoEnrichment Variable 0.01 credit (Per Feature) $0.001 (Per Feature)
1,000 Stored GeoEnrichment Variables 10 credits (Per Feature) $1.00 (Per Feature)
1 Non-Stored GeoEnrichment Request 0.01 credit $0.001
1000 Non-Stored GeoEnrichment Requests 10 credits $1.00
Generated Infographic View 0.01 credit $0.001
1000 Generated Infographic Views 10 credits $1.00
Generated Report 10 credits $1.00

Get 50 credits a month for free with an ArcGIS Developer Subscription

Get Started

More GeoEnrichment Resources

Esri Demographic Maps

Esri Demographics are also accessible as a collection of map layers available as part of your subscription.

Tapestry Data

Esri's data team applies its proven Tapestry Segmentation methodology to classify US neighborhoods into 67 unique market segments.

What demographics data is available?

To see the available comprehensive set of global Esri Demographics data, use the data browser below by selecting a country and peruse the available data categories.

GeoEnrichment Service FAQ

What is a Data Collection?

A Data Collection is a thematic grouping of GeoEnrichment Variables. For example, the Food data collection collects variables that track consumer purchases like spending totals for flour within an area, or how much was spent on peanut butter at home.

What is a GeoEnrichment variable?

A GeoEnrichment variable is a single data point for a single location. Explore a Data Collection to learn what variables are available.

What's the difference between stored and non-stored requests?

A stored request returns a variable for a feature that you may permanently add to your data. A non-stored request may not be kept in your data, but may be used for visualizations and other on-the-fly and non-permanent uses.

Why are stored and non-stored requests billed differently?

Stored requests are subject to licensing and data royalties, and are therefor billed on a per-variable per-feature basis. Non-stored requests have a different licensing structure, and are billed on a per-request basis.

What's an infographic?

An infographic is a ready-made chart or graph that displays GeoEnrichment data to users. A location or geography is passed to the GeoEnrichment service through the SDK, which then generates the infographic.

What's a report?

A report is a generated pdf or excel workbook generated with the the results of GeoEnrichment queries. These summarize data from the specified study area in a human readable format.

Reports can be used to describe and gain a better understanding about the market, customers, and competition associated with the queried areas.

What's the data available in my country / state / city?

A huge amount of data is available in over 130 countries. To learn what data is available where, take a look at the coverage map for the Esri Demographics and explore data collections with the data browser.

You can also find what data is available using the REST service itself. Passing a country code to the REST service at the /DataCollections endpoint will return all available Data Collections for that country. For example, a POST to:[your_token]

Will return all the Data Collections available in the United States.

What are comparison levels?

You can request different named boundaries that provide broader geographic context. For example, If you are examining a data set for Midtown Manhattan, you can also receive the same data for New York City, New York County, New York State, and the United States. This helps you understand data in context.

Where does the data come from?

Esri has a team of demographers, statisticians, and economists that produce current year estimates and 5-year projections in the US. This data represents a combination of publicly available data as well as data from private vendors. For more details about our data methodology in the US, please see Esri's Methodology Statements. Outside the US, we use a variety of 3rd party sources to develop accurate estimates.

How often is the data updated?

The data are updated on an annual basis.

If I want to get demographic data for an area that is not a standard boundary, such as a drive time, or a shape I draw, will the data be accurate?

Yes, We make sure that we give you the best estimate possible for any area. Part of the GeoEnrichment service includes a very sophisticated algorithm that apportions and appends the underlying data to any shape.

What types of geometries can I pass to the GeoEnrichment Service?

The GeoEnrichment Service can accepts several geometries: points, lines, and polygons. Points and lines are buffered by 1 mile by default, but can be buffered by any distance or drive-time.

What is the REST endpoint?

The endpoint for the REST service is:

What SDK's is the GeoEnrichment Service available in?

Currently, the REST API and the Javascript SDK are supported. Support for other SDKs is under consideration.

How do I do get access to the GeoEnrichment Service?

First you need to sign up for a free ArcGIS Developer Subscription.

After that, there are two ways to access the service. The first, is to create an application in ArcGIS for Developers and generate a token with your application credentials. Once you have a token, you pass that as a token parameter with every request. This method will bill your application for the credits consumed by GeoEnrichment.

If you'd like to charge the users of the application for GeoEnrichment, you can have users sign in with OAuth 2.0. This will charge the user for any credits incurred by GeoEnrichment.

What type of data can I access via the GeoEnrichment Service?

There are many different types of data you can access that we can broadly classify as demographics, consumer spending, business summary, behavioral data, and landscape layers (such as land cover, critical habitat, etc).