Add API endpoint for annotators

Platform(s): API

URLs: N/A

Description of need:
Related to @conboy 's post at https://forum.inaturalist.org/t/community-annotation-challenges/5488, we have a community that wants to improve iNat data through annotation. One motivating facet is to see how we’re performing in relation to our peers, so just as we have fast methods of checking where we stand in terms of number of observations, species, and identifications, could we please have an efficient way to show our standings in terms of number of annotations?

Feature request details:
A conventional leaderboard, and/or similar to
image
a new API endpoint /v1/observations/annotators

@benarmstrong reviewed all of the other endpoints and ruled them out because:

  • the ones returning user stats returned only top observers (by # of obs or # of species) or top identifiers, but not the users making the annotations
  • even when an annotated_observation_count was included, it wasn’t related to the observation query, but just to the user’s overall stats
  • the only recourse would seem to be to exhaustively download all observations of interest, then tally up all annotations made on them by user making the annotation, which is incredibly inefficient

if you can constrain your “peers” to a specific list of users, then you could always just get an annotated observations count for each of those users in the list (ex. https://api.inaturalist.org/v1/observations?per_page=0&annotation_user_id=pisum). note that this will count only observations, not annotations, and it’s based on original annotations, not also agreements.

“Peers” is a very open-ended group, dependent on the slice of data we’re looking at. It may not even be people within our Discord community, or people we know from iNat outside of it. It would be nice to know all the people who also cared about the part of the iNat data we’re working on and sharpen each other by comparing our stats, but we don’t really know that in advance. Does that make it clearer?

In a Discord context we’d use this API endpoint to create displays from observation queries on-the-fly (e.g. a query that will take N seconds for N people or crunch even more than a few 200-observation pages is just not going to cut it …) much in the same way as we do with identifiers with /v1/observations/identifiers. Let’s say our interest is Hempitera in Northeastern US & Canada, we can say:

,topids hemiptera from northeast

And that produces a display like:

We would like to be able to say:

,topann hemiptera from northeast

and produce a similar display for annotators. It should list not the overall annotation stats for those users, but the # of annotations made by annotators for the matching data set.

The web equivalent of the identifiers leaderboard is linked from the title of the display in the screenshot above:

https://www.inaturalist.org/observations?place_id=59956&taxon_id=47744&view=identifiers

We understand that this may not be something that is given much priority for the web, but it would be nice to have a view=annotators as well. At least having the API endpoint would allow us to fill in the gaps for these needs even if it is outside any immediate plans for the web.

that’s fine. my thought was that you could have a better-than-nothing way of fostering competition strictly within an interested group, but if that’s not a path worth considering, then i guess you’ll just have to wait for a system change, unless you code and submit the changes yourself.

1 Like

Understood. While it’s not entirely out of the question to make the change myself, I’m hoping we’ll get to the point where there’s more community demand for this beyond our relatively small segment of the wider iNat community.