# Observations/Identifiers count discrepancies

**URL:** <https://forum.inaturalist.org/t/observations-identifiers-count-discrepancies/17880>\
**Category:** Bug Reports\
**Created:** [November 5, 2020, 4:59pm UTC](https://forum.inaturalist.org/t/observations-identifiers-count-discrepancies/17880 "2020-11-05T16:59:06Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![chauncey](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.inaturalist.org/chauncey/32/1317_2.png) [@chauncey](https://forum.inaturalist.org/u/chauncey)\
**Post date:** [November 5, 2020, 4:59pm UTC](https://forum.inaturalist.org/t/observations-identifiers-count-discrepancies/17880/1 "2020-11-05T16:59:06Z")

</div>

for example:

 ![image](https://us1.discourse-cdn.com/flex016/uploads/inaturalist/original/2X/2/2183dc9051d9d71c1d69b106b138517179870280.jpeg)

This shows chauncey with 1011 identifications of J. grandis.

Go to taxon information page:

 ![image](https://us1.discourse-cdn.com/flex016/uploads/inaturalist/original/2X/6/6479ec2374459bab9399d4d5746c4435b8ec5117.jpeg)

This shows chauncey with 542 observations and 654 identifications.

I’m perplexed. What am I missing?

Thanks for your help.

**Platform** PC, website

**Browser** , Chrome

---

<div class="post-metadata">

**Author:** ![pisum](https://avatars.discourse-cdn.com/v4/letter/p/91b2a8/32.png) [@pisum](https://forum.inaturalist.org/u/pisum)\
**Post date:** [December 1, 2020, 11:11pm UTC](https://forum.inaturalist.org/t/observations-identifiers-count-discrepancies/17880/2 "2020-12-01T23:11:24Z")

</div>

the number identifications that shows up in the Observation detail page includes seems to represent identifications you made on any research-grade observation, including your own observations (see [https://jumear.github.io/stirfry/iNatAPIv1\_identifications\_identifiers.html?&taxon\_id=77599&per\_page=50&quality\_grade=research](https://jumear.github.io/stirfry/iNatAPIv1_identifications_identifiers.html?&taxon_id=77599&per_page=50&quality_grade=research)); whereas the number of identifications that shows up on the Taxon page includes only identifications you made for others’ observations of any grade (see [https://jumear.github.io/stirfry/iNatAPIv1\_identifications\_identifiers.html?&taxon\_id=77599&per\_page=50&own\_observation=false](https://jumear.github.io/stirfry/iNatAPIv1_identifications_identifiers.html?&taxon_id=77599&per_page=50&own_observation=false)).

i’m not sure why the two pages are counting different things, but i’m not sure it’s necessarily a bug either.

---

<div class="post-metadata">

**Author:** ![chauncey](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.inaturalist.org/chauncey/32/1317_2.png) [@chauncey](https://forum.inaturalist.org/u/chauncey)\
**Post date:** [December 4, 2020, 4:20pm UTC](https://forum.inaturalist.org/t/observations-identifiers-count-discrepancies/17880/3 "2020-12-04T16:20:43Z")

</div>

Thanks for looking into this. I’m not totally sure what to make of it, but sounds like things are working as they should.

---

<div class="post-metadata">

**Author:** ![jdmore](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.inaturalist.org/jdmore/32/1116_2.png) [@jdmore](https://forum.inaturalist.org/u/jdmore)\
**Post date:** [December 14, 2020, 7:15pm UTC](https://forum.inaturalist.org/t/observations-identifiers-count-discrepancies/17880/5 "2020-12-14T19:15:23Z")

</div>

Hi @odole your post and analysis seemed relevant to this recent bug report, so I hope it’s ok that I moved it here.

Thank you for your detailed analysis of the count differences. Not sure I have any definitive answers, and the developers might have to answer for sure. But a couple of factors that might be at play here are:

- are only active IDs being counted, or active + inactive?
- are they being counted on observations of all quality grades, or are Casual observations being excluded?

Maybe someone else will be able to chime in with better answers.

---

<div class="post-metadata">

**Author:** ![jwidness](https://avatars.discourse-cdn.com/v4/letter/j/9d8465/32.png) [@jwidness](https://forum.inaturalist.org/u/jwidness)\
**Post date:** [December 14, 2020, 8:57pm UTC](https://forum.inaturalist.org/t/observations-identifiers-count-discrepancies/17880/6 "2020-12-14T20:57:53Z")

</div>

> [@odole](#):
>
> Why does URL #1 give a total number of IDs that is smaller than URL #2 (77858 vs 81037) ? Yes+No should be equal or greater to Yes.

URL 1 is using the default hidden param `verifiable=true`, while 2 also includes IDs on observations that are not verifiable.

> [@odole](#):
>
> why is the latter smaller than 27515

26675 is smaller than 27515 because 26675 is the number of verifiable observations by tiwane, while 27515 is the number of IDs tiwane made on all of his observations. They’re not asking for the same data – the first is asking for number of observations and only includes verifiable, and the second is asking for number of IDs and includes all observations. He could (and does) have some observations that aren’t verifiable, and he could (and does) have some observations that he never added an ID to, e.g. [this one](https://www.inaturalist.org/observations/58381736). So we wouldn’t expect these numbers to be the same, either one could be larger.

> [@odole](#):
>
> Why are IDs for others different between URL #4 (profile page) and #5 (that is 53522 vs 56158), even though the latter is obtained by clicking a link from the former ?

The profile page includes `current=true`, while the identifications page shows `current=any`. This was a design choice that probably only the developers could comment on.

---

<div class="post-metadata">

**Author:** ![jwidness](https://avatars.discourse-cdn.com/v4/letter/j/9d8465/32.png) [@jwidness](https://forum.inaturalist.org/u/jwidness)\
**Post date:** [December 14, 2020, 11:39pm UTC](https://forum.inaturalist.org/t/observations-identifiers-count-discrepancies/17880/12 "2020-12-14T23:39:08Z")

</div>

I think some of the confusion is because iNat treats searches for IDs very differently from searches for observations. You can see the API docs for IDs [here](https://api.inaturalist.org/v1/docs/#/Identifications) and for observations [here](https://api.inaturalist.org/v1/docs/#/Observations).

> [@odole](#):
>
> adding &verifiable=true to URL#2 does not change anything

Correct, URL 2 is an ID search and doesn’t accept the `verifiable` parameter.

> [@odole](#):
>
> 3 remaining questions (see “?” one each for URL #1,2 and 5)

For URL 1, `current` isn’t a parameter for observation searches.  
For URL 2, the API docs (or some experimenting) show that the default is `current=true`.  
URL 5 is also an ID search, it doesn’t take the `verifiable` parameter.

> [@odole](#):
>
> I still do not understand why URL #2 shows 27515

I’m not sure what you expect it to show? It’s the number of current IDs that tiwane has made on any of his observations.

---

<div class="post-metadata">

**Author:** ![pisum](https://avatars.discourse-cdn.com/v4/letter/p/91b2a8/32.png) [@pisum](https://forum.inaturalist.org/u/pisum)\
**Post date:** [December 15, 2020, 12:34am UTC](https://forum.inaturalist.org/t/observations-identifiers-count-discrepancies/17880/14 "2020-12-15T00:34:14Z")

</div>

the Explore (aka Observation Search) screen by default will look for non-spam, verifiable records. however, the Observation API endpoints don’t apply those parameters by default.

so [https://www.inaturalist.org/observations?ident\_user\_id=tiwane](https://www.inaturalist.org/observations?ident_user_id=tiwane) would be equivalent to

- [https://api.inaturalist.org/v1/observations?ident\_user\_id=tiwane&spam=false&verifiable=true](https://api.inaturalist.org/v1/observations?ident_user_id=tiwane&spam=false&verifiable=true)
- [https://jumear.github.io/stirfry/iNatAPIv1\_observations.html?ident\_user\_id=tiwane&spam=false&verifiable=true](https://jumear.github.io/stirfry/iNatAPIv1_observations.html?ident_user_id=tiwane&spam=false&verifiable=true)

and [https://www.inaturalist.org/observations?ident\_user\_id=tiwane&verifiable=any](https://www.inaturalist.org/observations?ident_user_id=tiwane&verifiable=any) would be equivalent to

- [https://api.inaturalist.org/v1/observations?ident\_user\_id=tiwane&spam=false](https://api.inaturalist.org/v1/observations?ident_user_id=tiwane&spam=false)
- [https://jumear.github.io/stirfry/iNatAPIv1\_observations.html?ident\_user\_id=tiwane&spam=false](https://jumear.github.io/stirfry/iNatAPIv1_observations.html?ident_user_id=tiwane&spam=false)

the Explore page and Observation API endpoints return observations. there are other API endpoints that return identifications. observations and identifications are different things. so the `user_id` parameter on observation endpoints will refer to observers, while the `user_id` parameter on identification endpoints will refer to identifiers. the `ident_user_id` parameter is available to the observations endpoints as a way to reference identifiers (users who have current identifications on those observations).

so [https://jumear.github.io/stirfry/iNatAPIv1\_observations.html?ident\_user\_id=tiwane](https://jumear.github.io/stirfry/iNatAPIv1_observations.html?ident_user_id=tiwane) should be (more or less) equivalent to

- [https://jumear.github.io/stirfry/iNatAPIv1\_identifications.html?user\_id=tiwane&current=true](https://jumear.github.io/stirfry/iNatAPIv1_identifications.html?user_id=tiwane&current=true)
- [https://jumear.github.io/stirfry/iNatAPIv1\_identifications\_identifiers.html?user\_id=tiwane&current=true](https://jumear.github.io/stirfry/iNatAPIv1_identifications_identifiers.html?user_id=tiwane&current=true)

not sure if this answers the question you were asking, but hopefully it puts things in context.

---

<div class="post-metadata">

**Author:** ![bouteloua](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.inaturalist.org/bouteloua/32/1180_2.png) [@bouteloua](https://forum.inaturalist.org/u/bouteloua)\
**Post date:** [December 15, 2020, 1:53am UTC](https://forum.inaturalist.org/t/observations-identifiers-count-discrepancies/17880/15 "2020-12-15T01:53:25Z")

</div>


