Right now it’s possible to access annotation information via the API. I know it’s not the easiest solution, but the json data about each observation does include annotations.
For example, here’s a search that returns data on all of your monarch observations from Ontario with life stage annotations: https://api.inaturalist.org/v1/observations?place_id=6883&taxon_id=48662&user_id=dkaposi&term_id=1&order=desc&order_by=created_at
The easiest place to find the annotation terms is in this post How to use iNaturalist’s Search URLs - wiki :
Search for Annotations
&term_id= - the annotation group
1 =Life Stage, 9 =Sex, 12 =Plant Phenology, 17 =Alive or Dead
&term_value_id= - the value within the group
Life Stage: 2 =Adult, 3 =Teneral, 4 =Pupa, 5 =Nymph, 6 =Larva, 7 =Egg, 8 =Juvenile, 16 =Subimago
Sex: 10 =Female, 11 =Male
Plant Phenology: 13 =Flowering, 14 =Fruiting, 15 =Flower Budding
Alive or Dead: 18 =Alive, 19 =Dead, 20 =Cannot Be Determined
Both the group parameter and value parameter should be included in the URL. And term_value_id should be able to accept a comma-separated list of more than one value.
Here are all verifiable Lepidoptera observations with a Life Stage of Larva: https://www.inaturalist.org/observations?place_id=any&taxon_id=47157&term_id=1&term_value_id=6
And here are all verifiable Lepidoptera observations with a LIfe Stage of Larva or Adult: https://www.inaturalist.org/observations?page=2&place_id=any&taxon_id=47157&term_id=1&term_value_id=2,6
To exclude observations with particular annotations, use the following similar to the above:
&without_term_id= the annotation group
&without_term_value_id= the value within the group
2 Likes