Create a live map service for ArcMAP and/or Google Earth with iNat Data and Links

I don’t know the technical or dev side of this but it would be amazing to have a live map server of iNat observations i could load into ArcMap, Google Earth, QGIS, or other such programs.

This isn’t really what you’re asking for but in QGIS it’s possible to overlay arbitrary raster tile sources, like this eye-burningly awful map of iNat Quercus rubra points on top of GBIF bird hexagon bins over a Stamen Toner base layer:

The iNat and GBIF URL templates are{z}/{x}/{y}.png?taxon_id=49005{z}/{x}/{y}@1x.png?taxonKey=212&bin=hex&hexPerTile=30&style=classic-noborder.poly


The GBIF API supports a lot more options, and you could use it to retrieve only iNat points, too. Of course, this is only useful for visualization, not for querying.


That’s awesome. I suspect i could do more than what I know how to do now if i just knew more. My workplace has map services that stream things like elevation data or air photos into my project without having to download them. I wondered if there is a way to get live iNat data that way too, and probably there is, but it’s beyond my ability. It would be awesome to just have it on google maps for a variety of reasons but this is probably roaming well into ‘weird stuff Charlie wants that no one else cares about’ land


FWIW, is an indispensable addition to QGIS that will let you set a Google base layer (you need to add an API key though). I suspect Arc has similar functionality.


I would like to add to this idea. I manage an outdoor education program for fifth grade students. We currently use an app I developed on Esri’s Collector. I would like to convert over to iNat but I would still like our students to just view their data. Are data from projects available as a real-time feature service?

if you’re asking for something you can connect directly with ArcGIS to get access to observations as points and data tied to the points, the answer is no, as far as I’m aware.

you can download observations from iNaturalist as, say, a CSV file and then load those into ArcGIS, but that is not real-time, since you’d have to generate the CSV (ex.[]=baltimore-county-public-schools-bioblitz)
and then load the data into ArcGIS each time you want to get new data.

the old iNaturalist API ( does provide a way to generate CSVs more dynamically, but it has a limited number of observations it can return per response, and you’d still have to manually load the data into ArcGIS each time anyways, i think. so neither of these options would effectively provide real-time data.

as kueda mentioned in his earlier post, you can get close-to-real-time raster tiles via the API, and you can pull these into ArcGIS fairly easily, as described here:

the raster tiles themselves don’t actually have data associated with the markers, since they’re just image files, but there is a companion set of UTFGrid tiles ( that you could sort of get information from, although you can’t really easily connect these to ArcGIS without a lot of coding. you can use the UTFGrid to return details for the latest observation at a given marker shown on a corresponding raster tile, or if you’re a little more adventurous, you could try to create some custom observation density maps, as described here:, although generally it would be better nowadays to use iNaturalist’s new grid tiles (!/Observation_Tiles/get_grid_zoom_x_y_png) for this kind of map.

and that brings us to the last mapping option, which is just to use the maps within iNaturalist itself. the tradeoff there is that you can’t use your own custom layers. so you’re limited to the basemaps, etc. that iNaturalist provides.

finally, if you’re thinking of converting data from Esri over to iNaturalist, then this may be of interest to you:


Revisiting this, PLEASE create some sort of live map service, generic WMS/WFS or Esri service format for iNaturalist data, it would be particularly useful in ArcGIS Online - if you look in ArcGIS Online now, there’s many static copies of iNaturalist data, but having a live feed would meet so many purposes and align with current service-oriented GIS development architectures… thanks.


i was thinking about this again, and actually, the last part is not true. so this method could provide (near-)real-time data for up to 200 observations at a time. for example, here’s a quick example in AGOL where you can click on the points to see observations details in a pop-up. (it refreshes data automatically every couple of minutes.)

otherwise, if you just want to see the data on a map, without getting the underlying observation details, it’s still possible to use the XYZ tiles provided by the iNat API to do (near-)real-time visualization of unlimited numbers of observations.

1 Like