GeoEnrichment service

The GeoEnrichment service finds demographic information and other relevant characteristics for places around the world. You can submit a point or polygon and retrieve facts associated with the location and surrounding area. The service provides over 15,000 data fields with coverage for more than 130 countries and regions.

Demographic data obtained from the GeoEnrichment service

Key features

  • Demographic data enrichment for over 130 countries and regions.
  • Create study areas such as rings and drive times from point locations.
  • Choose from curated lists of demographic data fields for an area from preassembled data collections.
  • Specify a custom list of fields from one or more data collections.
  • Return geometry of study areas for display on a map.

How the GeoEnrichment service works

The GeoEnrichment service uses a sophisticated data apportionment methodology to aggregate demographic information for rings and other polygons. For example, in the U.S. and Canada, data apportionment relies mostly on census block points. Block points are centroids derived from census block boundaries, the most detailed level of census tabulation available. They contain attributes for the actual count of people and households living in the associated block. For most other countries and regions settlement points are used for data apportionment. Settlement points are modeled by Esri and provide an estimate of the likelihood of human settlement.

The main tasks are:

  • Enrich an area: Find demographic data for an area.

To use the service, you typically:

  1. Determine the country of interest.
  2. Determine the place or area e.g. buffered point, drivetime polygon, custom polygon to search.
  3. Determine the demographic data fields of interest.
  4. Query a study area with the fields of interest.

Service URL

The base URL for the GeoEnrichment service is:

 
1
https://geoenrich.arcgis.com/arcgis/rest/services/World/geoenrichmentserver/Geoenrichment/

GeoEnrichment

To GeoEnrich a location, use the enrich operation.

This returns a JSON structure containing an array of features. Each feature includes a number of attributes which fall into three categories:

Area and geometry:
These attributes describe the geographic study area:

  • OBJECTID An integer used to uniquely identify features in the enrich response.
  • sourceCountry The country or region in which the feature is located.
  • areaType The type of buffer created around a point study area. Examples include: ring buffer and network service area.
  • bufferUnits The unit of measurement used when creating a buffer. Examples include Miles and Kilometers.
  • bufferRadii An integer which defines the distance of the buffer.

Demographic data:
These attributes include demographic data for each data field specified in the request.

If none were specified, the following default data fields are returned from the Key Global Facts data collection:

  • TOTPOP (Total Population)
  • TOTHH (Total Households)
  • AVGHHSZ (Average Household Size)
  • TOTMALES (Male Population)
  • TOTFEMALES (Female Population).

To request other data fields, see the analysisVariables and dataCollections parameters.

Apportionment details:
These properties provide further details about how demographic data was calculated for the geographic study area:

  • hasData A value of 1 means the area intersects human settlement. A value of 0 means the area does not intersect human settlement.
  • aggregationMethod The method used by GeoEnrichment to apportion demographic data to an area. The most detailed level of apportionment is Block Apportionment.
  • populationToPolygonSizeRating An area to population reliability score which is based on the size of a census geography unit and the number of people estimated to live in that polygon. The larger the area of a census tabulation area, the less likely the specific locations where people live can reliably be found.
  • apportionmentConfidence The overall reliability score which encompasses all aspects of reliability and includes the Area to population score.

URL Request

 
1
https://geoenrich.arcgis.com/arcgis/rest/services/World/geoenrichmentserver/Geoenrichment/enrich?<params>

Key parameters

f

The format of the data returned. The value can be json, pjson (formatted), or html (not supported by all requests).

token

The access token used to access service operations. The value can be an API Key or OAuth 2.0 token.

Learn more about access tokens and authentication methods in Security and authentication.

studyAreas

An array of input points, polygons, administrative boundaries, or addresses.

  • [{"geometry":{"x": -122.435, "y": 37.785}}]
  • [{"geometry":{"x": -122.435, "y": 37.785}},{"geometry":{"x": -122.433, "y": 37.734}},{"geometry":{"x": -122.746, "y": 49.986}}]
  • [{"address":{"text":"380 New York St. Redlands, CA 92373"}}]
  • [{"sourceCountry":"US","layer":"US.ZIP5","ids":["92373"]}]
studyAreasOptions

An array of values to control how input points are buffered. Supported area types include ring buffers and network service areas such as drive times and walk times. Multiple buffer radii can be requested. The unit of measurement requested can be miles or kilometers and in the case of service areas, minutes and hours are also supported.

  • {"areaType":"RingBuffer","bufferUnits":"Miles","bufferRadii":[1,3,5]}
  • {'areaType': 'NetworkServiceArea', 'bufferUnits': 'Minutes', 'bufferRadii': [5,10,15],'travel_mode': 'Driving'}
dataCollections

An array of data collection names to query for. The names contain pre-defined set of attributes to return for the world or different countries. For example:

  • ["KeyGlobalFacts"]
  • ["KeyUSFacts"]
  • ["Education"]
analysisVariables

An array of data attribute field names to search for. The field names are typically defined with a data collection name (global or country) and the field name. For example:

  • KeyGlobalFacts.TOTPOP
  • KeyUSFacts.POPGRW10CY
  • HousingTotalsAIS.CANHOUS
addDerivativeVariables

Optional parameter to specify a comma separated array of values that describe what derivative variables to include in the output. Valid values are:

  • percent
  • index
  • average
  • all
returnGeometry

An optional parameter to request an area's geometry for display on a map. When this parameter is set to true, the geometries of each feature will be included in the repsonse.

The default value is false.

Other parameters

There are many other parameters that can be used to improve and modify place search results.

Some commonly used parameters are:

  • useData Provide a performance hint when all study areas are contained wtithin the same country or region.
  • intersectingGeographies Return the adminitstrative boudnaries that each input study area intersects.
  • insr Define a spatial reference system for the input study areas.
  • outsr Request the geometries of output features in a specific spatial reference system.

Example

RequestResponse
    
1
2
3
4
curl https://geoenrich.arcgis.com/arcgis/rest/services/World/geoenrichmentserver/Geoenrichment/enrich? \
-d "studyAreas=[{'geometry':{'x': -117.1956, 'y': 34.0572}}]"
-d "f=json"
-d "token=<ACCESS_TOKEN>"
                                                                                                                                                  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
{
  "results" : [ {
    "paramName" : "GeoEnrichmentResult",
    "dataType" : "GeoEnrichmentResult",
    "value" : {
      "version" : "2.0",
      "FeatureSet" : [ {
        "displayFieldName" : "",
        "fieldAliases" : {
          "ID" : "Id",
          "OBJECTID" : "Object ID",
          "sourceCountry" : "Country code",
          "areaType" : "Area type",
          "bufferUnits" : "Buffer units",
          "bufferUnitsAlias" : "Buffer units alias",
          "bufferRadii" : "Buffer radii",
          "aggregationMethod" : "Aggregation method",
          "populationToPolygonSizeRating" : "Population to polygon size rating for the country",
          "apportionmentConfidence" : "Apportionment confidence for the country",
          "HasData" : "Has data",
          "TOTPOP" : "Total Population",
          "TOTHH" : "Total Households",
          "AVGHHSZ" : "Average Household Size",
          "TOTMALES" : "Male Population",
          "TOTFEMALES" : "Female Population"
        },
        "spatialReference" : {
          "wkid" : 4326,
          "latestWkid" : 4326
        },
        "fields" : [ {
          "name" : "ID",
          "alias" : "Id",
          "type" : "esriFieldTypeString",
          "length" : 256
        }, {
          "name" : "OBJECTID",
          "alias" : "Object ID",
          "type" : "esriFieldTypeOID"
        }, {
          "name" : "sourceCountry",
          "alias" : "Country code",
          "type" : "esriFieldTypeString",
          "length" : 256
        }, {
          "name" : "areaType",
          "alias" : "Area type",
          "type" : "esriFieldTypeString",
          "length" : 256
        }, {
          "name" : "bufferUnits",
          "alias" : "Buffer units",
          "type" : "esriFieldTypeString",
          "length" : 256
        }, {
          "name" : "bufferUnitsAlias",
          "alias" : "Buffer units alias",
          "type" : "esriFieldTypeString",
          "length" : 256
        }, {
          "name" : "bufferRadii",
          "alias" : "Buffer radii",
          "type" : "esriFieldTypeDouble"
        }, {
          "name" : "aggregationMethod",
          "alias" : "Aggregation method",
          "type" : "esriFieldTypeString",
          "length" : 256
        }, {
          "name" : "populationToPolygonSizeRating",
          "alias" : "Population to polygon size rating for the country",
          "type" : "esriFieldTypeDouble"
        }, {
          "name" : "apportionmentConfidence",
          "alias" : "Apportionment confidence for the country",
          "type" : "esriFieldTypeDouble"
        }, {
          "name" : "HasData",
          "alias" : "Has data",
          "type" : "esriFieldTypeInteger"
        }, {
          "name" : "TOTPOP",
          "alias" : "Total Population",
          "type" : "esriFieldTypeDouble",
          "fullName" : "KeyGlobalFacts.TOTPOP",
          "component" : "demographics",
          "decimals" : 0,
          "units" : "count"
        }, {
          "name" : "TOTHH",
          "alias" : "Total Households",
          "type" : "esriFieldTypeDouble",
          "fullName" : "KeyGlobalFacts.TOTHH",
          "component" : "demographics",
          "decimals" : 0,
          "units" : "count"
        }, {
          "name" : "AVGHHSZ",
          "alias" : "Average Household Size",
          "type" : "esriFieldTypeDouble",
          "fullName" : "KeyGlobalFacts.AVGHHSZ",
          "component" : "scripts",
          "decimals" : 2,
          "units" : "count"
        }, {
          "name" : "TOTMALES",
          "alias" : "Male Population",
          "type" : "esriFieldTypeDouble",
          "fullName" : "KeyGlobalFacts.TOTMALES",
          "component" : "demographics",
          "decimals" : 0,
          "units" : "count"
        }, {
          "name" : "TOTFEMALES",
          "alias" : "Female Population",
          "type" : "esriFieldTypeDouble",
          "fullName" : "KeyGlobalFacts.TOTFEMALES",
          "component" : "demographics",
          "decimals" : 0,
          "units" : "count"
        } ],
        "features" : [ {
          "attributes" : {
            "ID" : "0",
            "OBJECTID" : 1,
            "sourceCountry" : "US",
            "areaType" : "RingBuffer",
            "bufferUnits" : "esriMiles",
            "bufferUnitsAlias" : "Miles",
            "bufferRadii" : 1,
            "aggregationMethod" : "BlockApportionment:US.BlockGroups",
            "populationToPolygonSizeRating" : 2.191,
            "apportionmentConfidence" : 2.576,
            "HasData" : 1,
            "TOTPOP" : 12995,
            "TOTHH" : 5179,
            "AVGHHSZ" : 2.49,
            "TOTMALES" : 6271,
            "TOTFEMALES" : 6724
          }
        } ]
      } ]
    }
  } ],
  "messages" : [ ]
}

Authentication

To make authenticated requests you need to use one of the following:

  • API key: A permanent token that grants your application access to ready-to-use services and, with an ArcGIS Developer account, private content (currently in beta).
  • ArcGIS Identity (formerly named user): Grants a short-lived token, generated via OAuth 2.0, giving your application permission to access the content and services authorized to an existing ArcGIS user's account.

Learn more about getting access tokens in Security and authentication.

API support

Full supportPartial supportNo support
  • 1. Access via ArcGIS REST JS or use a task
  • 2. Access via HTTP request
  • 3. Access via ArcGIS REST JS
  • 4. Direct access and authentication

Service data

Source

The main sources of data may be different depending on the country or region and can be explored in the interactive map below. For the U.S. Esri's team of demographers model independent small-area demographic and socioeconomic estimates and forecasts. Additional sources include the U.S. Census Bureau, the Bureau of Labor Statistics and American Community Survey (ACS). For most other countries and regions the main source of standard demographics is Michael Bauer Research (MBR).

Quality

Esri is an industry leader in reviewing and processing census information as well as understanding and accurately updating demographic trends. Leveraging nearly forty years of experience, Esri has developed and refined its models and methods to improve data quality and precision. In addition to the wealth of public source data, particularly from the Census Bureau, source data from carefully chosen partnerships with private vendors are integrated into the modelling process.

Click on the map below to explore data sources for each country and region.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.