1M Observations this month

There appear to have been over one million verifiable observations posted this month, which I think is a record. Last year in April seems just under a million and last month was a bit over 700k.


BioBlitz was 4days ago?
I would love to see a graph of statistics.

I think most of them were you reiner!



Looks like you’re correct, @reiner. And City Nature Challenge / the month of April isn’t even over yet…

Here’s the little R script I used to make that fig from the iNat API

options(timeout= 4000000)
dat <- fromJSON("http://api.inaturalist.org/v1/observations/histogram?date_field=created&interval=month&verifiable=true")
x = c()
y = c()
for(i in 1:(length(dat$results$month))){
		x = c(x,names(dat$results$month[i]))
		y = c(y,dat$results$month[[i]])

xx = (1:length(y))
plot(xx,y, type="l", axes=FALSE, xlab="", ylab="Observations per month", xlim=c(40,length(xx)))
points(xx,y, type="l", lty=2)
abline(h=1000000, lty=2)


No wonder the site has been slow

1 Like


thanks for the R script, worked like a charm

1 Like

too right, Nick!

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.

Here’s an update of obs/month through July 2019. Seems like July is the more ‘natural’ annual peak if you exclude the boost April gets from City Nature Challenge. I expect things will slowly decay to a December low hopefully setting us up for another 2020 spring bump!


Despite COVID-19 we passed 2M observations/month for the first time this April thanks to a healthy (no pun intended) spring bump and an amazing CityNatureChallenge2020

Its been fantastic to see all the nature people have been able to find in their own backyards and neighborhoods during this crazy year. Thanks for continuing to share what you’re seeing and stay healthy and safe!


Could we see that on a log scale?

1 Like

you can create the charts yourself by getting the data from the API. you can either use the API directly (https://api.inaturalist.org/v1/observations/histogram?interval=month&d1=2011-01-01) or use a this page that i made to present the results in a more human-readable format (https://jumear.github.io/stirfry/iNatAPIv1_observation_histogram.html?interval=month&d1=2011-01-01). below are some charts that i created in Excel using that data.

linear scale:

log base 10 scale:

EDIT: it looks like loarie’s query uses these parameters in addition to what i used: &date_field=created&verifiable=true. you can add those, if you like, but it shouldn’t change the big picture much.

1 Like

Just a note that we broke the 3M observations/month threshold this May. The peaks in the weekly graphs are annual City Nature Challenges (CNC) - we nearly passed the 1M observations per week threshold during this year’s CNC2020


obs/week did pass 1M, if you include non-verifiable observations: https://jumear.github.io/stirfry/iNatAPIv1_observation_histogram.html?interval=week&created_d1=2011-01-01&date_field=created

1 Like

Interestingly I just ran a filter from 20th April and there are now 1,012,802 verifiable observations, so a few slower uploaders maybe.

i think you’re filtering by observed date rather than created date (which is what loarie is using).

interestingly, the two date range filters seem to work completely differently on the Explore page. if you filter by date added range, i think you’ll get back observations created between 12AM UTC on the from date and 12AM UTC on the to date. however, if you filter by date observed range, i think you’ll get back observations observed on the from date at local time of the observation (starting from the beginning of that day) through the to date at local time of the observation (to the end of that day).

in other words, if you want to filter by the week starting 2020-04-20 based on date added at UTC, the closest you can get is to filter by created_d1=2020-04-20 (Monday) and created_d2=2020-04-27 (Monday), though this will also bring back records created at 12AM UTC on 2020-04-27. but if you want to filter by the week starting 2020-04-20 based on observed date at local time, then you would filter by d1=2020-04-20 (Monday) and d2=2020-04-26 (Sunday).

i wasn’t expecting such a difference in the way the 2 sets of date filters worked, but it might reflect the fact that date added is more standardized since it’s determined by the system. (not sure.) i also wasn’t expecting that the histogram endpoint would start its week on a Monday as opposed to a Sunday.


This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.