Skip to content

Local data search

Map showing coverage of local data.

You can retrieve local data, also known as advanced demographics, to get detailed information for specific countries, counties, cities, and locations. Each individual data field is represented by an analysis variable, and analysis variables are organized into data categories that you can explore interactively with the Analysis Variable Finder and Data Collection Finder.

How to access the data

To get advanced demographics data, you use the enrich operation and specify the analysisVariables or dataCollections you want returned.

Below is a list of the high-level data categories that are available. You can use analysis variables or data collections within these categories to get data.

Data category
Description
Data collection examples
Analysis variable examples
PopulationIn depth information on household and family composition variables such as language spoken and religious affiliation. Population counts, density, gender, and distribution available globally.Population2021 Population in Family Households, 2021 Civilian Employed Population Age 16+
IncomeIn depth information on income, savings, and poverty statistics. General information, including purchasing power, is available globally.Net Worth2023 Median Disposable Income, 2021 Households Receiving Food Stamps/SNAP
AgeIn depth information on age distribution for population, households, and income. General age information can be found globally.Age By Sex By Race2023 Senior Population (Age 65+), 2028 Child Population (Age <18)
HouseholdsIn depth information on households including age and immigration status. General information, such as total number of households, is available globally.Presence of Children2021 Households with 1+ Persons with a Disability, 2010 Family Households: 4-Person
HousingInformation on housing structures, including vacant units, rent, and mortgage status.Home Value2023 Average Home Value, 2023 Renter Occupied Housing Units, 2021 HHs by Heating Fuel: Utility Gas,
HealthInformation on the health-care industry and people's relationship to it.Health2028 Health Insurance, 2028 Medical Care
EducationInformation about current or previous levels of education.Education, Educational Attainment2023 Education, 2023 Educational Attainment Base
BusinessCorporate information, including sale figures and the number of businesses by type.BusinessesTotal (NAICS11-99) Businesses, Total (SIC01-99) Sales ($000), Construction (SIC15-17) Employees
Race or EthnicityInformation on racial demographics.Population by RaceDiversity Index, Hispanic Population Age 18+, Pop by Language Spoken at Home
Retail and Centrality**Information on retail sectors, purchasing power, and turnover rates.RetailandCentralityNexiga2021 Retail Purchasing Power, 2021 Turnover Key Figures per Inhabitant
SpendingInformation on expenditures in specific retail categories.Spending FactsRetail Goods (Monthly), Restaurant(Monthly)
BehaviorsInformation on expected consumer demand and activities.Electronics & Internet2023 Households by Tapestry Segment Base
Psychographics*Information on consumer motivations and preferences.Psychographics & Advertising2023 Seen Video Ad at Gas Station Last 30 Days, 2023 Helping to Preserve Nature
JobsInformation on employment status.Occupation2023 Occupation: Construction/Extraction REL
PovertyInformation on educational attainment, income, food stamps, employment, and race.Food Stams/SNAP2021 Households Receiving Food Stamps/SNAP
Marital StatusInformation on marital status.Marital Status Totals2023 Population Age 15+: Never Married
Language-ImmigrationInformation about language spoken at home, country of birth, aboriginal identity, and minority status.Language2021 Pop Age 5+ by Language Spoken at Home Base
Market SegmentationIdentifies regional demographic similarities using market surveys.LifeMode Groups2023 Upscale Avenues Tapestry LifeMode Group L2 Households
At RiskInformation about populations considered to be socioeconomically, or due to public policy, at risk.At Risk2023 HH Owns or Leases Any Vehicle
Key FactsContains the most popular demographic data categories for each country.Key US Facts2023 Daytime Population
Policy*Information related to public policy decisions.Policy Facts2023 Per Capita Income
Crime*Information on the regional rate of risk for specific crimes.Crime Indexes2023 Total Crime Aggregate

*USA Only **Germany Only

URL request

Learn more about standard and enhanced endpoints in Service endpoints.

Use dark colors for code blocksCopy
1 https://geoenrich.arcgis.com/arcgis/rest/services/World/geoenrichmentserver/Geoenrichment/enrich?<parameters>

Required parameters

NameDescriptionExamples
fThe format of the data returned.f=json f=pjson f=geojson f=csv
tokenAn API key or OAuth 2.0 access token.token=<ACCESS_TOKEN>
studyAreasThe input point, address, line, polygon or administrative boundarystudyAreas=[{"geometry":{"x": -122.435, "y": 37.785}}]
studyAreas=[{"address":{"text":"380 New York St. Redlands, CA 92373"}}]
studyAreas=[{"sourceCountry":"US","layer":"US.ZIP5","ids":["92373"]}]

Key parameters

NameDescriptionExamples
analysisVariablesReturns a subset of attributes from one or more data collections.["food.X1131_X"]
dataCollectionsReturns a preassembled list of analysis variables curated for specific countries and regions.[educationalattainment]
returnGeometryRetrieves the study area's geometry for display on a map.true, false

Additional parameters: The addDerivativeVariables returns percent, average and index attributes. The intersectingGeographies parameter returns information about administrative boundaries intersected by an input point. The useData parameter provides a performance hint to the service when all input study areas lie within the same country or region.

Code examples

Find local facts (1 mile buffer)

In this example, the dataCollections parameter is used to return a different set of facts. With the search box, select a pre-defined location or click on the map to create a 1 mile ring buffer around a point. Facts are returned from the requested data collection, Household Totals.

Use dark colors for code blocksCopy
1 https://geoenrich.arcgis.com/arcgis/rest/services/World/geoenrichmentserver/Geoenrichment/datacollections/US?f=pjson

Steps

  1. Reference the service.

  2. Define studyAreas to submit a point.

  3. Define dataCollections to return a curated list of facts.

  4. Set the API key.

APIs

ArcGIS Maps SDK for JavaScriptArcGIS Maps SDK for JavaScriptArcGIS API for PythonArcGIS REST JSLeafletMapLibre GL JSOpenLayersCesiumJS
Expand
Use dark colors for code blocksCopy
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 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287  function getDemographicData(point, dataCollection) {  if (!dataCollection) {  return  }  // Request demographic data  arcgisRest  .queryDemographicData({  studyAreas: [  { geometry: { x: point.longitude, y: point.latitude } },  ],  authentication: authentication,  dataCollections: [dataCollection],  })  .then((response) => {  if (  response.results[0].value.FeatureSet.length > 0 &&  response.results[0].value.FeatureSet[0].features.length > 0  ) {  const attributes =  response.results[0].value.FeatureSet[0].features[0].attributes  showData(attributes, point, dataCollection)  } else {  console.log("No data found or point not in the United States.")  }  })  } 

REST API

cURLcURLHTTP
Use dark colors for code blocksCopy
1 2 3 4 5 curl https://geoenrich.arcgis.com/arcgis/rest/services/World/geoenrichmentserver/Geoenrichment/enrich? \ -d "studyAreas=[{'geometry':{'x': -74.0060, 'y': 40.7128}}]" \ -d "dataCollections=[educationalattainment]" \ -d "f=json" \ -d "token=<ACCESS_TOKEN>"

Find facts for a 5 minute drive area

In this example, the studyAreasOptions parameter is used to define a 5 minute drive time service area instead of the default 1 mile ring buffer. Select a data collection then click on the map to show data within a 5 minute drive area.

Steps

  1. Reference the service.

  2. Define studyAreas to submit a point.

  3. Define studyAreasOptions to create a drive time service area around the point.

  4. Define dataCollections to return a specific lists of variables.

  5. Define returnGeometry as true so the service area can be displayed on the map.

  6. Set the API key.

APIs

ArcGIS Maps SDK for JavaScriptArcGIS Maps SDK for JavaScriptArcGIS REST JSLeafletMapLibre GL JSOpenLayersCesiumJS
Expand
Use dark colors for code blocksCopy
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 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307  function getDemographicData(point, dataCollection) {  if (!dataCollection) {  return  }  // Request demographic data  arcgisRest  .queryDemographicData({  studyAreas: [  { geometry: { x: point.longitude, y: point.latitude } },  ],  authentication: authentication,  dataCollections: [dataCollection],  params: {  studyareasoptions:  '{"areaType": "NetworkServiceArea", "bufferUnits": "Minutes", "bufferRadii": [5], "travel_mode": "Driving"}',  },  returnGeometry: true,  })  .then((response) => {  if (  response.results[0].value.FeatureSet.length > 0 &&  response.results[0].value.FeatureSet[0].features.length > 0  ) {  const attributes =  response.results[0].value.FeatureSet[0].features[0].attributes  const geometry =  response.results[0].value.FeatureSet[0].features[0].geometry  drawGeometry(geometry)  showData(attributes, point, dataCollection)  } else {  console.log("No data found.")  }  })  } 

REST API

cURLcURLHTTP
Use dark colors for code blocksCopy
1 2 3 4 5 6 7 curl https://geoenrich.arcgis.com/arcgis/rest/services/World/geoenrichmentserver/Geoenrichment/enrich? \ -d "studyAreas=[{'geometry':{'x': -74.0060, 'y': 40.7128}}]" \ -d "studyAreasOptions={'areaType': 'NetworkServiceArea', 'bufferUnits': 'Minutes', 'bufferRadii': [10],'travel_mode': 'Driving'}" \ -d "dataCollections=HouseholdTotals" \ -d "returnGeometry=true" \ -d "f=json" \ -d "token=<ACCESS_TOKEN>"

Find normalized facts for a 1 mile buffer

In this example the addDerivativeVariables parameter is used to calculate percentages from facts. Use the search box to select a pre-defined location or click on the map to create the default 1 mile ring around a point. The addDerivativeVariables parameter is set to percent. The list of accepted values are percent, index, average, all.

Steps

  1. Reference the service.

  2. Define the studyAreas

  3. Define the dataCollections

  4. Define addDerivativeVariables to return averages

  5. Set the API key.

APIs

ArcGIS Maps SDK for JavaScriptArcGIS Maps SDK for JavaScriptArcGIS API for PythonArcGIS REST JSLeafletMapLibre GL JSOpenLayersCesiumJS
Expand
Use dark colors for code blocksCopy
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 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196  function getDemographicData(point) {  // Request demographic data  arcgisRest  .queryDemographicData({  studyAreas: [  { geometry: { x: point.longitude, y: point.latitude } },  ],  dataCollections: ["Health"],  addderivativevariables: ["average"],  authentication: authentication,  })  .then((response) => {  if (  response.results[0].value.FeatureSet.length > 0 &&  response.results[0].value.FeatureSet[0].features.length > 0  ) {  const attributes =  response.results[0].value.FeatureSet[0].features[0].attributes  showData(attributes, point)  } else {  console.log("No data found.")  }  })  } 

REST API

cURLcURLHTTP
Use dark colors for code blocksCopy
1 2 3 4 5 6 curl https://geoenrich.arcgis.com/arcgis/rest/services/World/geoenrichmentserver/Geoenrichment/enrich? \ -d "studyAreas=[{'geometry':{'x': -74.0060, 'y': 40.7128}}]" \ -d "dataCollections=Health" \ -d "addDerivativeVariables=average" \ -d "f=json" \ -d "token=<ACCESS_TOKEN>"

Tutorials

Get local data

Query local analysis variables in select countries around the world with the GeoEnrichment service.


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