pyinaturalist.v1.observations¶
Summary¶
|
Get details about a single observation by ID |
|
Search observations and return histogram data for the given time interval |
|
Get identifiers of observations matching the search criteria and the count of observations they have identified. |
|
Get observers of observations matching the search criteria and the count of observations and distinct taxa of rank species they have observed. |
|
Get all species (or other ‘leaf taxa’) associated with observations matching the search criteria, and the count of observations they are associated with. |
|
Get observation counts for all taxa in a full taxonomic tree. |
|
Search observations. |
Details¶
- pyinaturalist.v1.observations.get_observation(observation_id, **params)¶
Get details about a single observation by ID
API reference: https://api.inaturalist.org/v1/docs/#!/Observations/get_observations_id
Example
>>> response = get_observation(16227955) >>> pprint(response) [16227955] [493595] Species: Lixus bardanae observed on 2018-09-05 14:06:00+01:00 by niconoe at 54 rue des Badauds
Example Response
from datetime import datetime from dateutil.tz import tzoffset { 'quality_grade': 'research', 'time_observed_at': '2018-09-05T14:06:00+02:00', 'taxon_geoprivacy': None, 'annotations': [ { 'user_id': 886482, 'concatenated_attr_val': '1|2', 'controlled_attribute_id': 1, 'votes': [], 'uuid': '14bbd34f-73f8-4b99-b591-8517913788a1', 'vote_score': 0, 'controlled_value_id': 2, 'user': { 'id': 886482, 'login': 'niconoe', 'spam': False, 'suspended': False, 'created_at': '2018-04-23T17:11:14+00:00', 'login_autocomplete': 'niconoe', 'login_exact': 'niconoe', 'name': 'Nicolas Noé', 'name_autocomplete': 'Nicolas Noé', 'orcid': 'https://orcid.org/0000-0002-9503-4750', 'icon': 'https://static.inaturalist.org/attachments/users/icons/886482/thumb.jpg?1529671435', 'observations_count': 928, 'identifications_count': 118, 'journal_posts_count': 0, 'activity_count': 1046, 'species_count': 395, 'universal_search_rank': 928, 'roles': [], 'site_id': 1, 'icon_url': 'https://static.inaturalist.org/attachments/users/icons/886482/medium.jpg?1529671435', }, } ], 'uuid': '6448d03a-7f9a-4099-86aa-ca09a7740b00', 'id': 16227955, 'cached_votes_total': 0, 'identifications_most_agree': True, 'species_guess': 'Lixus bardanae', 'identifications_most_disagree': False, 'tags': [], 'positional_accuracy': 23, 'comments_count': 2, 'site_id': 1, 'license_code': 'cc0', 'quality_metrics': [], 'public_positional_accuracy': 23, 'reviewed_by': [180811, 886482, 1226913], 'oauth_application_id': None, 'flags': [], 'created_at': datetime(2018, 9, 5, 14, 31, 8, tzinfo=tzoffset(None, 7200)), 'description': '', 'project_ids_with_curator_id': [], 'updated_at': datetime(2018, 9, 22, 19, 19, 27, tzinfo=tzoffset(None, 7200)), 'sounds': [], 'place_ids': [ 7008, 8657, 14999, 59614, 67952, 80627, 81490, 96372, 96794, 97391, 97582, 108692, ], 'captive': False, 'taxon': { 'is_active': True, 'ancestry': '48460/1/47120/372739/47158/184884/47208/71130/372852/60473/48736/272543/507383/71157/1101667', 'min_species_ancestry': '48460,1,47120,372739,47158,184884,47208,71130,372852,60473,48736,272543,507383,71157,1101667,493595', 'endemic': False, 'iconic_taxon_id': 47158, 'min_species_taxon_id': 493595, 'threatened': False, 'rank_level': 10, 'introduced': False, 'native': False, 'parent_id': 1101667, 'name': 'Lixus bardanae', 'rank': 'species', 'extinct': False, 'id': 493595, 'ancestor_ids': [ 48460, 1, 47120, 372739, 47158, 184884, 47208, 71130, 372852, 60473, 48736, 272543, 507383, 71157, 1101667, 493595, ], 'photos_locked': False, 'taxon_schemes_count': 1, 'wikipedia_url': None, 'current_synonymous_taxon_ids': None, 'created_at': '2016-04-25T22:35:20+00:00', 'taxon_changes_count': 0, 'complete_species_count': None, 'universal_search_rank': 44, 'observations_count': 44, 'flag_counts': {'unresolved': 0, 'resolved': 0}, 'atlas_id': None, 'default_photo': { 'square_url': 'https://static.inaturalist.org/photos/69087254/square.jpg?1587876286', 'attribution': '(c) Andy Van de Velde, all rights reserved', 'flags': [], 'medium_url': 'https://static.inaturalist.org/photos/69087254/medium.jpg?1587876286', 'id': 69087254, 'license_code': None, 'original_dimensions': {'width': 2048, 'height': 1638}, 'url': 'https://static.inaturalist.org/photos/69087254/square.jpg?1587876286', }, 'iconic_taxon_name': 'Insecta', }, 'ident_taxon_ids': [ 48460, 1, 47120, 372739, 47158, 184884, 47208, 71130, 372852, 60473, 48736, 272543, 507383, 71157, 1101667, 493595, ], 'outlinks': [{'source': 'GBIF', 'url': 'http://www.gbif.org/occurrence/1914197587'}], 'faves_count': 0, 'ofvs': [], 'num_identification_agreements': 2, 'preferences': {'prefers_community_taxon': None}, 'comments': [ { 'moderator_actions': [], 'hidden': False, 'flags': [], 'created_at': '2018-09-05T14:08:09.350Z', 'id': 2071611, 'created_at_details': { 'date': '2018-09-05', 'week': 36, 'month': 9, 'hour': 14, 'year': 2018, 'day': 5, }, 'body': 'suspect L. bardanae - but sits on Solanum (non-host)', 'uuid': 'e6fc62ea-e22b-4427-bb65-1ba3bc591c77', 'user': { 'created_at': '2016-02-18T10:19:19+00:00', 'id': 180811, 'login': 'borisb', 'spam': False, 'suspended': False, 'login_autocomplete': 'borisb', 'login_exact': 'borisb', 'name': '', 'name_autocomplete': '', 'orcid': None, 'icon': None, 'observations_count': 0, 'identifications_count': 286253, 'journal_posts_count': 0, 'activity_count': 286253, 'species_count': 0, 'universal_search_rank': 0, 'roles': ['curator'], 'site_id': 1, 'icon_url': None, }, }, { 'moderator_actions': [], 'hidden': False, 'flags': [], 'created_at': '2018-09-05T16:03:40.937Z', 'id': 2071896, 'created_at_details': { 'date': '2018-09-05', 'week': 36, 'month': 9, 'hour': 16, 'year': 2018, 'day': 5, }, 'body': 'I now see: Bonus species on observation! You may make a duplicate . . . \n(Flea beetle Epitrix pubescens on Solanum bud) \n', 'uuid': '4d401d20-1b08-464a-8287-351f5b57443e', 'user': { 'created_at': '2016-02-18T10:19:19+00:00', 'id': 180811, 'login': 'borisb', 'spam': False, 'suspended': False, 'login_autocomplete': 'borisb', 'login_exact': 'borisb', 'name': '', 'name_autocomplete': '', 'orcid': None, 'icon': None, 'observations_count': 0, 'identifications_count': 286253, 'journal_posts_count': 0, 'activity_count': 286253, 'species_count': 0, 'universal_search_rank': 0, 'roles': ['curator'], 'site_id': 1, 'icon_url': None, }, }, ], 'map_scale': 17, 'uri': 'https://www.inaturalist.org/observations/16227955', 'project_ids': [], 'community_taxon_id': 493595, 'geojson': {'coordinates': [4.360086, 50.646894], 'type': 'Point'}, 'owners_identification_from_vision': True, 'identifications_count': 2, 'obscured': False, 'num_identification_disagreements': 0, 'geoprivacy': None, 'location': [50.646894, 4.360086], 'votes': [], 'spam': False, 'user': { 'site_id': 1, 'created_at': '2018-04-23T17:11:14+00:00', 'id': 886482, 'login': 'niconoe', 'spam': False, 'suspended': False, 'preferences': {}, 'login_autocomplete': 'niconoe', 'login_exact': 'niconoe', 'name': 'Nicolas Noé', 'name_autocomplete': 'Nicolas Noé', 'orcid': 'https://orcid.org/0000-0002-9503-4750', 'icon': 'https://static.inaturalist.org/attachments/users/icons/886482/thumb.jpg?1529671435', 'observations_count': 928, 'identifications_count': 118, 'journal_posts_count': 0, 'activity_count': 1046, 'species_count': 395, 'universal_search_rank': 928, 'roles': [], 'icon_url': 'https://static.inaturalist.org/attachments/users/icons/886482/medium.jpg?1529671435', }, 'mappable': True, 'identifications_some_agree': True, 'project_ids_without_curator_id': [], 'place_guess': '54 rue des Badauds', 'identifications': 'TRUNCATED', 'project_observations': [], 'photos': [ { 'id': 24355315, 'license_code': 'cc-by', 'url': 'https://static.inaturalist.org/photos/24355315/square.jpeg?1536150664', 'attribution': '(c) Nicolas Noé, some rights reserved (CC BY)', 'original_dimensions': {'width': 1445, 'height': 1057}, 'flags': [], }, { 'id': 24355313, 'license_code': 'cc-by', 'url': 'https://static.inaturalist.org/photos/24355313/square.jpeg?1536150659', 'attribution': '(c) Nicolas Noé, some rights reserved (CC BY)', 'original_dimensions': {'width': 2048, 'height': 1364}, 'flags': [], }, ], 'observation_photos': [ { 'id': 22080796, 'position': 0, 'uuid': '76b54495-3497-4e96-b07c-7ad346939a02', 'photo': { 'id': 24355315, 'license_code': 'cc-by', 'url': 'https://static.inaturalist.org/photos/24355315/square.jpeg?1536150664', 'attribution': '(c) Nicolas Noé, some rights reserved (CC BY)', 'original_dimensions': {'width': 1445, 'height': 1057}, 'flags': [], }, }, { 'id': 22080797, 'position': 1, 'uuid': '06b90a88-d98d-4447-b14c-5d354d2d68d1', 'photo': { 'id': 24355313, 'license_code': 'cc-by', 'url': 'https://static.inaturalist.org/photos/24355313/square.jpeg?1536150659', 'attribution': '(c) Nicolas Noé, some rights reserved (CC BY)', 'original_dimensions': {'width': 2048, 'height': 1364}, 'flags': [], }, }, ], 'faves': [], 'non_owner_ids': 'TRUNCATED', 'observed_on': datetime(2018, 9, 5, 14, 6, tzinfo=tzoffset('Europe/Paris', 3600)), }
- Parameters
observation_id (
int
) – Get the observation with this ID. Only a single value is allowed.- Return type
- Returns
A dict with details on the observation
- Raises
- pyinaturalist.v1.observations.get_observation_histogram(**params)¶
Search observations and return histogram data for the given time interval
API reference: https://api.inaturalist.org/v1/docs/#!/Observations/get_observations_histogram
Notes:
Search parameters are the same as
get_observations()
, with the addition ofdate_field
andinterval
.date_field
may be either ‘observed’ (default) or ‘created’.Observed date ranges can be filtered by parameters
d1
andd2
Created date ranges can be filtered by parameters
created_d1
andcreated_d2
interval
may be one of: ‘year’, ‘month’, ‘week’, ‘day’, ‘hour’, ‘month_of_year’, or ‘week_of_year’; spaces are also allowed instead of underscores, e.g. ‘month of year’.The year, month, week, day, and hour interval options will set default values for
d1
andcreated_d1
, to limit the number of groups returned. You can override those values if you want data from a longer or shorter time span.The ‘hour’ interval only works with
date_field='created'
Example
Get observations per month during 2020 in Austria (place ID 8057)
>>> response = get_observation_histogram( >>> interval='month', >>> d1='2020-01-01', >>> d2='2020-12-31', >>> place_id=8057, >>> )
Example Response (observations per month of year)
{ 1: 272, 2: 253, 3: 992, 4: 3925, 5: 7983, 6: 7079, 7: 9150, 8: 8895, 9: 8374, 10: 6060, 11: 920, 12: 382, }
Example Response (observations per month)
from datetime import datetime { datetime(2020, 1, 1, 0, 0): 272, datetime(2020, 2, 1, 0, 0): 253, datetime(2020, 3, 1, 0, 0): 992, datetime(2020, 4, 1, 0, 0): 3925, datetime(2020, 5, 1, 0, 0): 7983, datetime(2020, 6, 1, 0, 0): 7080, datetime(2020, 7, 1, 0, 0): 9150, datetime(2020, 8, 1, 0, 0): 8895, datetime(2020, 9, 1, 0, 0): 8374, datetime(2020, 10, 1, 0, 0): 6060, datetime(2020, 11, 1, 0, 0): 920, datetime(2020, 12, 1, 0, 0): 382, }
Example Response (observations per day)
from datetime import datetime { datetime(2020, 1, 1, 0, 0): 11, datetime(2020, 1, 2, 0, 0): 6, datetime(2020, 1, 3, 0, 0): 2, datetime(2020, 1, 4, 0, 0): 3, datetime(2020, 1, 5, 0, 0): 13, datetime(2020, 1, 6, 0, 0): 4, datetime(2020, 1, 7, 0, 0): 4, datetime(2020, 1, 8, 0, 0): 0, datetime(2020, 1, 9, 0, 0): 1, datetime(2020, 1, 10, 0, 0): 5, datetime(2020, 1, 11, 0, 0): 6, datetime(2020, 1, 12, 0, 0): 7, datetime(2020, 1, 13, 0, 0): 2, datetime(2020, 1, 14, 0, 0): 7, datetime(2020, 1, 15, 0, 0): 11, datetime(2020, 1, 16, 0, 0): 0, datetime(2020, 1, 17, 0, 0): 5, datetime(2020, 1, 18, 0, 0): 13, datetime(2020, 1, 19, 0, 0): 1, datetime(2020, 1, 20, 0, 0): 5, datetime(2020, 1, 21, 0, 0): 3, datetime(2020, 1, 22, 0, 0): 8, datetime(2020, 1, 23, 0, 0): 21, datetime(2020, 1, 24, 0, 0): 7, datetime(2020, 1, 25, 0, 0): 14, datetime(2020, 1, 26, 0, 0): 62, datetime(2020, 1, 27, 0, 0): 10, datetime(2020, 1, 28, 0, 0): 17, datetime(2020, 1, 29, 0, 0): 7, datetime(2020, 1, 30, 0, 0): 9, datetime(2020, 1, 31, 0, 0): 7, }
- Parameters
d1 (
Union
[date
,datetime
,str
,None
]) – Must be observed on or after this dated2 (
Union
[date
,datetime
,str
,None
]) – Must be observed on or before this dateday (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this day of the monthmonth (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this monthyear (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this yearlicense (
Union
[str
,Iterable
[str
],None
]) – Observation must have this licensephoto_license (
Union
[str
,Iterable
[str
],None
]) – Must have at least one photo with this licenseout_of_range (
Optional
[bool
]) – Observations whose taxa are outside their known rangeslist_id (
Optional
[int
]) – Taxon must be in the list with this IDquality_grade (
Optional
[str
]) – Must have this quality gradeid (
Union
[int
,Iterable
[int
],None
]) – Must have this observation IDtaxon_id (
Union
[int
,Iterable
[int
],None
]) – Only show observations of these taxa and their descendantstaxon_name (
Union
[str
,Iterable
[str
],None
]) – Taxon must have a scientific or common name matching this stringiconic_taxa (
Union
[str
,Iterable
[str
],None
]) – Taxon must by within this iconic taxonupdated_since (
Union
[datetime
,str
,None
]) – Must be updated since this timeacc (
Optional
[bool
]) – Whether or not positional accuracy / coordinate uncertainty has been specifiedcaptive (
Optional
[bool
]) – Captive or cultivated observationsendemic (
Optional
[bool
]) – Observations whose taxa are endemic to their locationid_please (
Optional
[bool
]) – Observations with the deprecated ‘ID, Please!’ flag. Note that this will return observations, but that this attribute is no longer used.identified (
Optional
[bool
]) – Observations that have community identificationsintroduced (
Optional
[bool
]) – Observations whose taxa are introduced in their locationmappable (
Optional
[bool
]) – Observations that show on map tilesnative (
Optional
[bool
]) – Observations whose taxa are native to their locationpcid (
Optional
[bool
]) – Observations identified by the curator of a project. If theproject_id
parameter is also specified, this will only consider observations identified by curators of the specified project(s)popular (
Optional
[bool
]) – Observations that have been favorited by at least one usertaxon_is_active (
Optional
[bool
]) – Observations of active taxon conceptsthreatened (
Optional
[bool
]) – Observations whose taxa are threatened in their locationverifiable (
Optional
[bool
]) – Observations with aquality_grade
of eitherneeds_id
orresearch
. Equivalent toquality_grade=needs_id,research
not_id (
Union
[int
,Iterable
[int
],None
]) – Must not have this IDplace_id (
Union
[int
,Iterable
[int
],None
]) – Must be observed within the place with this IDproject_id (
Union
[int
,Iterable
[int
],None
]) – Must be added to the project this ID or slugrank (
Union
[str
,Iterable
[str
],None
]) – Taxon must have this ranksite_id (
Union
[str
,Iterable
[str
],None
]) – Must be affiliated with the iNaturalist network website with this IDofv_datatype (
Union
[str
,Iterable
[str
],None
]) – Must have an observation field value with this datatypesound_license (
Union
[str
,Iterable
[str
],None
]) – Must have at least one sound with this licensewithout_taxon_id (
Union
[int
,Iterable
[int
],None
]) – Exclude observations of these taxa and their descendantsuser_id (
Union
[int
,Iterable
[int
],str
,Iterable
[str
],None
]) – Observer must have this user ID or loginuser_login (
Union
[str
,Iterable
[str
],None
]) – Observer must have this user loginident_user_id (
Union
[int
,Iterable
[int
],str
,Iterable
[str
],None
]) – Identifier must have this user ID or loginterm_id (
Union
[int
,Iterable
[int
],None
]) – Must have an annotation using this controlled term IDterm_value_id (
Union
[int
,Iterable
[int
],None
]) – Must have an annotation using this controlled value ID. Must be combined with theterm_id
parameterwithout_term_value_id (
Union
[int
,Iterable
[int
],None
]) – Exclude observations with annotations using this controlled value ID. Must be combined with theterm_id
parameteracc_above (
Optional
[str
]) – Must have an positional accuracy above this value (meters)acc_below (
Optional
[str
]) – Must have an positional accuracy below this value (meters)created_d1 (
Union
[datetime
,str
,None
]) – Must be created at or after this timecreated_d2 (
Union
[datetime
,str
,None
]) – Must be created at or before this timecreated_on (
Union
[date
,datetime
,str
,None
]) – Must be created on this dateobserved_on (
Union
[date
,datetime
,str
,None
]) – Must be observed on this dateunobserved_by_user_id (
Optional
[int
]) – Must not be of a taxon previously observed by this userapply_project_rules_for (
Optional
[str
]) – Must match the rules of the project with this ID or slugcs (
Optional
[str
]) – Taxon must have this conservation status code. If theplace_id
parameter is also specified, this will only consider statuses specific to that placecsa (
Optional
[str
]) – Taxon must have a conservation status from this authority. If theplace_id
parameter is also specified, this will only consider statuses specific to that placecsi (
Union
[str
,Iterable
[str
],None
]) – Taxon must have this IUCN conservation status. If theplace_id
parameter is also specified, this will only consider statuses specific to that placegeoprivacy (
Union
[str
,Iterable
[str
],None
]) – Must have this geoprivacy settingtaxon_geoprivacy (
Union
[str
,Iterable
[str
],None
]) – Filter observations by the most conservative geoprivacy applied by a conservation status associated with one of the taxa proposed in the current identifications.identifications (
Optional
[str
]) – Identifications must meet these criterialat (
Optional
[float
]) – Must be within aradius
kilometer circle around this lat/lng (lat, lng, radius)lng (
Optional
[float
]) – Must be within aradius
kilometer circle around this lat/lng (lat, lng, radius)radius (
Optional
[float
]) – Must be within a {radius} kilometer circle around this lat/lng (lat, lng, radius)not_in_project (
Union
[int
,str
,None
]) – Must not be in the project with this ID or slugnot_matching_project_rules_for (
Union
[int
,str
,None
]) – Must not match the rules of the project with this ID or slugsearch_on (
Optional
[str
]) – Properties to search on, when combined with q. Searches across all properties by defaultreviewed (
Optional
[bool
]) – Observations have been reviewed by the user with ID equal to the value of theviewer_id
parameterlocale (
Optional
[str
]) – Locale preference for taxon common namespreferred_place_id (
Optional
[int
]) – Place preference for regional taxon common namesttl (
Optional
[str
]) – Set theCache-Control
HTTP header with this value asmax-age
, in secondsdate_field (
str
) – Histogram basis: either when the observation was created or observedinterval (
str
) – Time interval for histogram, with groups starting on or contained within the group value.user_agent (
Optional
[str
]) – A custom user-agent string to provide to the iNaturalist APIsession (
Optional
[Session
]) – Allows managing your own Session object
- Return type
- Returns
Dict of
{time_key: observation_count}
. Keys are ints for ‘month of year’ and ‘week of year’ intervals, anddatetime
objects for all other intervals.
- pyinaturalist.v1.observations.get_observation_identifiers(**params)¶
Get identifiers of observations matching the search criteria and the count of observations they have identified. By default, results are sorted by ID count in descending.
API reference: https://api.inaturalist.org/v1/docs/#!/Observations/get_observations_identifiers
Note: This endpoint will only return up to 500 results.
Example
>>> response = get_observation_identifiers(place_id=72645) >>> pprint(response) [409010 ] jdoe42 (Jane Doe) [691216 ] jbrown252 (James Brown) [3959037 ] tnsparkleberry
Example Response
{ "total_results": 2999, "page": 1, "per_page": 500, "results": [ { "user_id": 53153, "count": 1787, "user": { "id": 53153, "login": "willkuhn", "spam": false, "suspended": false, "created_at": "2014-09-15T18:38:59+00:00", "login_autocomplete": "willkuhn", "login_exact": "willkuhn", "name": "Will Kuhn", "name_autocomplete": "Will Kuhn", "orcid": "https://orcid.org/0000-0002-5506-6379", "icon": "https://static.inaturalist.org/attachments/users/icons/53153/thumb.jpeg?1606488424", "observations_count": 2945, "identifications_count": 3895, "journal_posts_count": 0, "activity_count": 6840, "species_count": 1230, "universal_search_rank": 2945, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/53153/medium.jpeg?1606488424" } }, { "user_id": 105391, "count": 1165, "user": { "id": 105391, "login": "jtuttle", "spam": false, "suspended": false, "created_at": "2015-05-25T21:56:21+00:00", "login_autocomplete": "jtuttle", "login_exact": "jtuttle", "name": "", "name_autocomplete": "", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/105391/thumb.jpg?1475546106", "observations_count": 12473, "identifications_count": 27628, "journal_posts_count": 0, "activity_count": 40101, "species_count": 3217, "universal_search_rank": 12473, "roles": [ "curator" ], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/105391/medium.jpg?1475546106" } }, { "user_id": 32654, "count": 1012, "user": { "id": 32654, "login": "eraskin", "spam": false, "suspended": false, "created_at": "2014-03-19T18:35:39+00:00", "login_autocomplete": "eraskin", "login_exact": "eraskin", "name": "Evan M. Raskin", "name_autocomplete": "Evan M. Raskin", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/32654/thumb.jpg?1533126488", "observations_count": 5150, "identifications_count": 18213, "journal_posts_count": 3, "activity_count": 23366, "species_count": 2320, "universal_search_rank": 5150, "roles": [ "curator" ], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/32654/medium.jpg?1533126488" } }, { "user_id": 1064292, "count": 907, "user": { "id": 1064292, "login": "syrherp", "spam": false, "suspended": false, "created_at": "2018-07-04T04:58:43+00:00", "login_autocomplete": "syrherp", "login_exact": "syrherp", "name": "Anthony Brais", "name_autocomplete": "Anthony Brais", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/1064292/thumb.jpg?1537157949", "observations_count": 3788, "identifications_count": 33279, "journal_posts_count": 0, "activity_count": 37067, "species_count": 472, "universal_search_rank": 3788, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/1064292/medium.jpg?1537157949" } }, { "user_id": 2233645, "count": 851, "user": { "id": 2233645, "login": "jak2113", "spam": false, "suspended": false, "created_at": "2019-09-09T15:42:57+00:00", "login_autocomplete": "jak2113", "login_exact": "jak2113", "name": "", "name_autocomplete": "", "orcid": null, "icon": null, "observations_count": 287, "identifications_count": 1623, "journal_posts_count": 0, "activity_count": 1910, "species_count": 206, "universal_search_rank": 287, "roles": [], "site_id": 1, "icon_url": null } }, { "user_id": 19073, "count": 781, "user": { "id": 19073, "login": "choess", "spam": false, "suspended": false, "created_at": "2013-07-13T18:27:48+00:00", "login_autocomplete": "choess", "login_exact": "choess", "name": "", "name_autocomplete": "", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/19073/thumb.jpg?1475537701", "observations_count": 5067, "identifications_count": 152943, "journal_posts_count": 11, "activity_count": 158021, "species_count": 1284, "universal_search_rank": 5067, "roles": [ "curator" ], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/19073/medium.jpg?1475537701" } }, { "user_id": 26905, "count": 668, "user": { "id": 26905, "login": "polemoniaceae", "spam": false, "suspended": false, "created_at": "2013-12-04T20:28:55+00:00", "login_autocomplete": "polemoniaceae", "login_exact": "polemoniaceae", "name": "Jeff", "name_autocomplete": "Jeff", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/26905/thumb.jpg?1475541432", "observations_count": 251, "identifications_count": 129664, "journal_posts_count": 0, "activity_count": 129915, "species_count": 222, "universal_search_rank": 251, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/26905/medium.jpg?1475541432" } }, { "user_id": 854537, "count": 622, "user": { "id": 854537, "login": "maxallen", "spam": false, "suspended": false, "created_at": "2018-04-16T22:12:08+00:00", "login_autocomplete": "maxallen", "login_exact": "maxallen", "name": "", "name_autocomplete": "", "orcid": "https://orcid.org/0000-0001-8976-889X", "icon": "https://static.inaturalist.org/attachments/users/icons/854537/thumb.jpg?1529523533", "observations_count": 1938, "identifications_count": 524561, "journal_posts_count": 4, "activity_count": 526503, "species_count": 675, "universal_search_rank": 1938, "roles": [ "curator" ], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/854537/medium.jpg?1529523533" } }, { "user_id": 755672, "count": 621, "user": { "id": 755672, "login": "ddennism", "spam": false, "suspended": false, "created_at": "2018-01-30T02:28:08+00:00", "login_autocomplete": "ddennism", "login_exact": "ddennism", "name": "Daniel McClosky", "name_autocomplete": "Daniel McClosky", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/755672/thumb.jpg?1571254550", "observations_count": 3369, "identifications_count": 38204, "journal_posts_count": 8, "activity_count": 41581, "species_count": 774, "universal_search_rank": 3369, "roles": [ "curator" ], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/755672/medium.jpg?1571254550" } }, { "user_id": 2229996, "count": 616, "user": { "id": 2229996, "login": "annkatrinrose", "spam": false, "suspended": false, "created_at": "2019-09-08T18:45:38+00:00", "login_autocomplete": "annkatrinrose", "login_exact": "annkatrinrose", "name": "Annkatrin Rose", "name_autocomplete": "Annkatrin Rose", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/2229996/thumb.jpg?1567997735", "observations_count": 3799, "identifications_count": 9286, "journal_posts_count": 6, "activity_count": 13091, "species_count": 1024, "universal_search_rank": 3799, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/2229996/medium.jpg?1567997735" } }, { "user_id": 324885, "count": 599, "user": { "id": 324885, "login": "lucareptile", "spam": false, "suspended": false, "created_at": "2016-09-09T00:19:57+00:00", "login_autocomplete": "lucareptile", "login_exact": "lucareptile", "name": "Luca Catanzaro", "name_autocomplete": "Luca Catanzaro", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/324885/thumb.jpg?1566422568", "observations_count": 21480, "identifications_count": 109080, "journal_posts_count": 0, "activity_count": 130560, "species_count": 2470, "universal_search_rank": 21480, "roles": [ "curator" ], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/324885/medium.jpg?1566422568" } }, { "user_id": 1210028, "count": 577, "user": { "id": 1210028, "login": "pynklynx", "spam": false, "suspended": false, "created_at": "2018-09-15T03:55:25+00:00", "login_autocomplete": "pynklynx", "login_exact": "pynklynx", "name": "", "name_autocomplete": "", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/1210028/thumb.jpg?1538262214", "observations_count": 6673, "identifications_count": 74690, "journal_posts_count": 0, "activity_count": 81363, "species_count": 1310, "universal_search_rank": 6673, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/1210028/medium.jpg?1538262214" } }, { "user_id": 1168695, "count": 530, "user": { "id": 1168695, "login": "trscavo", "spam": false, "suspended": false, "created_at": "2018-08-28T18:14:51+00:00", "login_autocomplete": "trscavo", "login_exact": "trscavo", "name": "Tom Scavo", "name_autocomplete": "Tom Scavo", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/1168695/thumb.png?1535480090", "observations_count": 4541, "identifications_count": 30780, "journal_posts_count": 0, "activity_count": 35321, "species_count": 554, "universal_search_rank": 4541, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/1168695/medium.png?1535480090" } }, { "user_id": 187480, "count": 468, "user": { "id": 187480, "login": "wdvanhem", "spam": false, "suspended": false, "created_at": "2016-03-03T13:54:17+00:00", "login_autocomplete": "wdvanhem", "login_exact": "wdvanhem", "name": "Will Van Hemessen", "name_autocomplete": "Will Van Hemessen", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/187480/thumb.jpeg?1586740535", "observations_count": 8050, "identifications_count": 145345, "journal_posts_count": 1, "activity_count": 153396, "species_count": 2482, "universal_search_rank": 8050, "roles": [ "curator" ], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/187480/medium.jpeg?1586740535" } } ] }
- Parameters
d1 (
Union
[date
,datetime
,str
,None
]) – Must be observed on or after this dated2 (
Union
[date
,datetime
,str
,None
]) – Must be observed on or before this dateday (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this day of the monthmonth (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this monthyear (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this yearlicense (
Union
[str
,Iterable
[str
],None
]) – Observation must have this licensephoto_license (
Union
[str
,Iterable
[str
],None
]) – Must have at least one photo with this licenseout_of_range (
Optional
[bool
]) – Observations whose taxa are outside their known rangeslist_id (
Optional
[int
]) – Taxon must be in the list with this IDquality_grade (
Optional
[str
]) – Must have this quality gradeid (
Union
[int
,Iterable
[int
],None
]) – Must have this observation IDtaxon_id (
Union
[int
,Iterable
[int
],None
]) – Only show observations of these taxa and their descendantstaxon_name (
Union
[str
,Iterable
[str
],None
]) – Taxon must have a scientific or common name matching this stringiconic_taxa (
Union
[str
,Iterable
[str
],None
]) – Taxon must by within this iconic taxonupdated_since (
Union
[datetime
,str
,None
]) – Must be updated since this timeacc (
Optional
[bool
]) – Whether or not positional accuracy / coordinate uncertainty has been specifiedcaptive (
Optional
[bool
]) – Captive or cultivated observationsendemic (
Optional
[bool
]) – Observations whose taxa are endemic to their locationid_please (
Optional
[bool
]) – Observations with the deprecated ‘ID, Please!’ flag. Note that this will return observations, but that this attribute is no longer used.identified (
Optional
[bool
]) – Observations that have community identificationsintroduced (
Optional
[bool
]) – Observations whose taxa are introduced in their locationmappable (
Optional
[bool
]) – Observations that show on map tilesnative (
Optional
[bool
]) – Observations whose taxa are native to their locationpcid (
Optional
[bool
]) – Observations identified by the curator of a project. If theproject_id
parameter is also specified, this will only consider observations identified by curators of the specified project(s)popular (
Optional
[bool
]) – Observations that have been favorited by at least one usertaxon_is_active (
Optional
[bool
]) – Observations of active taxon conceptsthreatened (
Optional
[bool
]) – Observations whose taxa are threatened in their locationverifiable (
Optional
[bool
]) – Observations with aquality_grade
of eitherneeds_id
orresearch
. Equivalent toquality_grade=needs_id,research
not_id (
Union
[int
,Iterable
[int
],None
]) – Must not have this IDplace_id (
Union
[int
,Iterable
[int
],None
]) – Must be observed within the place with this IDproject_id (
Union
[int
,Iterable
[int
],None
]) – Must be added to the project this ID or slugrank (
Union
[str
,Iterable
[str
],None
]) – Taxon must have this ranksite_id (
Union
[str
,Iterable
[str
],None
]) – Must be affiliated with the iNaturalist network website with this IDofv_datatype (
Union
[str
,Iterable
[str
],None
]) – Must have an observation field value with this datatypesound_license (
Union
[str
,Iterable
[str
],None
]) – Must have at least one sound with this licensewithout_taxon_id (
Union
[int
,Iterable
[int
],None
]) – Exclude observations of these taxa and their descendantsuser_id (
Union
[int
,Iterable
[int
],str
,Iterable
[str
],None
]) – Observer must have this user ID or loginuser_login (
Union
[str
,Iterable
[str
],None
]) – Observer must have this user loginident_user_id (
Union
[int
,Iterable
[int
],str
,Iterable
[str
],None
]) – Identifier must have this user ID or loginterm_id (
Union
[int
,Iterable
[int
],None
]) – Must have an annotation using this controlled term IDterm_value_id (
Union
[int
,Iterable
[int
],None
]) – Must have an annotation using this controlled value ID. Must be combined with theterm_id
parameterwithout_term_value_id (
Union
[int
,Iterable
[int
],None
]) – Exclude observations with annotations using this controlled value ID. Must be combined with theterm_id
parameteracc_above (
Optional
[str
]) – Must have an positional accuracy above this value (meters)acc_below (
Optional
[str
]) – Must have an positional accuracy below this value (meters)created_d1 (
Union
[datetime
,str
,None
]) – Must be created at or after this timecreated_d2 (
Union
[datetime
,str
,None
]) – Must be created at or before this timecreated_on (
Union
[date
,datetime
,str
,None
]) – Must be created on this dateobserved_on (
Union
[date
,datetime
,str
,None
]) – Must be observed on this dateunobserved_by_user_id (
Optional
[int
]) – Must not be of a taxon previously observed by this userapply_project_rules_for (
Optional
[str
]) – Must match the rules of the project with this ID or slugcs (
Optional
[str
]) – Taxon must have this conservation status code. If theplace_id
parameter is also specified, this will only consider statuses specific to that placecsa (
Optional
[str
]) – Taxon must have a conservation status from this authority. If theplace_id
parameter is also specified, this will only consider statuses specific to that placecsi (
Union
[str
,Iterable
[str
],None
]) – Taxon must have this IUCN conservation status. If theplace_id
parameter is also specified, this will only consider statuses specific to that placegeoprivacy (
Union
[str
,Iterable
[str
],None
]) – Must have this geoprivacy settingtaxon_geoprivacy (
Union
[str
,Iterable
[str
],None
]) – Filter observations by the most conservative geoprivacy applied by a conservation status associated with one of the taxa proposed in the current identifications.identifications (
Optional
[str
]) – Identifications must meet these criterialat (
Optional
[float
]) – Must be within aradius
kilometer circle around this lat/lng (lat, lng, radius)lng (
Optional
[float
]) – Must be within aradius
kilometer circle around this lat/lng (lat, lng, radius)radius (
Optional
[float
]) – Must be within a {radius} kilometer circle around this lat/lng (lat, lng, radius)not_in_project (
Union
[int
,str
,None
]) – Must not be in the project with this ID or slugnot_matching_project_rules_for (
Union
[int
,str
,None
]) – Must not match the rules of the project with this ID or slugsearch_on (
Optional
[str
]) – Properties to search on, when combined with q. Searches across all properties by defaultreviewed (
Optional
[bool
]) – Observations have been reviewed by the user with ID equal to the value of theviewer_id
parameterlocale (
Optional
[str
]) – Locale preference for taxon common namespreferred_place_id (
Optional
[int
]) – Place preference for regional taxon common namesttl (
Optional
[str
]) – Set theCache-Control
HTTP header with this value asmax-age
, in secondsper_page (
Optional
[int
]) – Number of results to return in a page. The maximum value is generally 200, unless otherwise notedcount_only (
Optional
[bool
]) – Only return a count of results; alias forper_page=0
user_agent (
Optional
[str
]) – A custom user-agent string to provide to the iNaturalist APIAllows managing your own Session object
- Return type
- Returns
Response dict of identifiers
- pyinaturalist.v1.observations.get_observation_observers(**params)¶
Get observers of observations matching the search criteria and the count of observations and distinct taxa of rank species they have observed.
Notes
Options for
order_by
are ‘observation_count’ (default) or ‘species_count’This endpoint will only return up to 500 results
See this issue for more details: https://github.com/inaturalist/iNaturalistAPI/issues/235
API reference: https://api.inaturalist.org/v1/docs/#!/Observations/get_observations_observers
Example
>>> response = get_observation_observers(place_id=72645, order_by='species_count') >>> pprint(response, align=True) [1566366 ] fossa1211 [674557 ] schurchin [5813 ] fluffberger (Fluff Berger)
Example Response
{ "total_results": 3948, "page": 1, "per_page": 500, "results": [ { "user_id": 15723, "observation_count": 2346, "species_count": 605, "user": { "id": 15723, "login": "reallifeecology", "spam": false, "suspended": false, "created_at": "2013-04-27T19:32:15+00:00", "login_autocomplete": "reallifeecology", "login_exact": "reallifeecology", "name": "Jonathan (JC) Carpenter", "name_autocomplete": "Jonathan (JC) Carpenter", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/15723/thumb.jpg?1475535710", "observations_count": 36365, "identifications_count": 2086, "journal_posts_count": 3, "activity_count": 38454, "species_count": 5740, "universal_search_rank": 36365, "roles": [ "curator" ], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/15723/medium.jpg?1475535710" } }, { "user_id": 1085809, "observation_count": 1125, "species_count": 393, "user": { "id": 1085809, "login": "anneturner", "spam": false, "suspended": false, "created_at": "2018-07-14T16:12:14+00:00", "login_autocomplete": "anneturner", "login_exact": "anneturner", "name": "Anne Turner", "name_autocomplete": "Anne Turner", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/1085809/thumb.jpeg?1555073435", "observations_count": 1441, "identifications_count": 125, "journal_posts_count": 0, "activity_count": 1566, "species_count": 553, "universal_search_rank": 1441, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/1085809/medium.jpeg?1555073435" } }, { "user_id": 53153, "observation_count": 890, "species_count": 324, "user": { "id": 53153, "login": "willkuhn", "spam": false, "suspended": false, "created_at": "2014-09-15T18:38:59+00:00", "login_autocomplete": "willkuhn", "login_exact": "willkuhn", "name": "Will Kuhn", "name_autocomplete": "Will Kuhn", "orcid": "https://orcid.org/0000-0002-5506-6379", "icon": "https://static.inaturalist.org/attachments/users/icons/53153/thumb.jpeg?1606488424", "observations_count": 2945, "identifications_count": 3895, "journal_posts_count": 0, "activity_count": 6840, "species_count": 1230, "universal_search_rank": 2945, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/53153/medium.jpeg?1606488424" } }, { "user_id": 176684, "observation_count": 806, "species_count": 348, "user": { "id": 176684, "login": "gmontgomery", "spam": false, "suspended": false, "created_at": "2016-02-06T21:58:36+00:00", "login_autocomplete": "gmontgomery", "login_exact": "gmontgomery", "name": "Graham Montgomery", "name_autocomplete": "Graham Montgomery", "orcid": "https://orcid.org/0000-0002-8217-8800", "icon": "https://static.inaturalist.org/attachments/users/icons/176684/thumb.jpeg?1600827496", "observations_count": 7986, "identifications_count": 4072, "journal_posts_count": 0, "activity_count": 12058, "species_count": 4146, "universal_search_rank": 7986, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/176684/medium.jpeg?1600827496" } }, { "user_id": 1019810, "observation_count": 791, "species_count": 279, "user": { "id": 1019810, "login": "jduffy", "spam": false, "suspended": false, "created_at": "2018-06-11T15:58:21+00:00", "login_autocomplete": "jduffy", "login_exact": "jduffy", "name": "Jim", "name_autocomplete": "Jim", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/1019810/thumb.jpg?1551496934", "observations_count": 823, "identifications_count": 2, "journal_posts_count": 0, "activity_count": 825, "species_count": 313, "universal_search_rank": 823, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/1019810/medium.jpg?1551496934" } }, { "user_id": 906019, "observation_count": 693, "species_count": 190, "user": { "id": 906019, "login": "akfishmom", "spam": false, "suspended": false, "created_at": "2018-04-26T20:56:39+00:00", "login_autocomplete": "akfishmom", "login_exact": "akfishmom", "name": null, "name_autocomplete": null, "orcid": null, "icon": null, "observations_count": 822, "identifications_count": 6, "journal_posts_count": 0, "activity_count": 828, "species_count": 322, "universal_search_rank": 822, "roles": [], "site_id": 1, "icon_url": null } }, { "user_id": 17201, "observation_count": 661, "species_count": 328, "user": { "id": 17201, "login": "matthewherron", "spam": false, "suspended": false, "created_at": "2013-05-29T02:13:48+00:00", "login_autocomplete": "matthewherron", "login_exact": "matthewherron", "name": "Matthew Herron", "name_autocomplete": "Matthew Herron", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/17201/thumb.jpeg?1475536451", "observations_count": 7694, "identifications_count": 1467, "journal_posts_count": 0, "activity_count": 9161, "species_count": 2195, "universal_search_rank": 7694, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/17201/medium.jpeg?1475536451" } }, { "user_id": 282998, "observation_count": 640, "species_count": 212, "user": { "id": 282998, "login": "dunhamkc", "spam": false, "suspended": false, "created_at": "2016-08-06T13:19:36+00:00", "login_autocomplete": "dunhamkc", "login_exact": "dunhamkc", "name": "Keely Dunham", "name_autocomplete": "Keely Dunham", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/282998/thumb.jpg?1526954269", "observations_count": 2418, "identifications_count": 725, "journal_posts_count": 0, "activity_count": 3143, "species_count": 796, "universal_search_rank": 2418, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/282998/medium.jpg?1526954269" } }, { "user_id": 843086, "observation_count": 562, "species_count": 235, "user": { "id": 843086, "login": "b_georgic", "spam": false, "suspended": false, "created_at": "2018-04-10T16:31:49+00:00", "login_autocomplete": "b_georgic", "login_exact": "b_georgic", "name": "", "name_autocomplete": "", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/843086/thumb.jpg?1606070123", "observations_count": 1151, "identifications_count": 0, "journal_posts_count": 0, "activity_count": 1151, "species_count": 653, "universal_search_rank": 1151, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/843086/medium.jpg?1606070123" } }, { "user_id": 574477, "observation_count": 442, "species_count": 171, "user": { "id": 574477, "login": "pinus_taeda", "spam": false, "suspended": false, "created_at": "2017-08-10T18:00:10+00:00", "login_autocomplete": "pinus_taeda", "login_exact": "pinus_taeda", "name": null, "name_autocomplete": null, "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/574477/thumb.jpg?1527608024", "observations_count": 1846, "identifications_count": 1141, "journal_posts_count": 0, "activity_count": 2987, "species_count": 551, "universal_search_rank": 1846, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/574477/medium.jpg?1527608024" } }, { "user_id": 2148023, "observation_count": 420, "species_count": 149, "user": { "id": 2148023, "login": "christopher514", "spam": false, "suspended": false, "created_at": "2019-08-19T02:14:52+00:00", "login_autocomplete": "christopher514", "login_exact": "christopher514", "name": "Christopher Gontarski", "name_autocomplete": "Christopher Gontarski", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/2148023/thumb.jpeg?1566180892", "observations_count": 567, "identifications_count": 0, "journal_posts_count": 0, "activity_count": 567, "species_count": 287, "universal_search_rank": 567, "roles": [], "site_id": null, "icon_url": "https://static.inaturalist.org/attachments/users/icons/2148023/medium.jpeg?1566180892" } }, { "user_id": 362446, "observation_count": 398, "species_count": 237, "user": { "id": 362446, "login": "pwdeacon", "spam": false, "suspended": false, "created_at": "2016-11-02T20:47:19+00:00", "login_autocomplete": "pwdeacon", "login_exact": "pwdeacon", "name": "Pat Deacon", "name_autocomplete": "Pat Deacon", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/362446/thumb.jpeg?1575167373", "observations_count": 12962, "identifications_count": 7883, "journal_posts_count": 0, "activity_count": 20845, "species_count": 3029, "universal_search_rank": 12962, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/362446/medium.jpeg?1575167373" } }, { "user_id": 93979, "observation_count": 373, "species_count": 23, "user": { "id": 93979, "login": "mcaterino", "spam": false, "suspended": false, "created_at": "2015-04-28T12:18:05+00:00", "login_autocomplete": "mcaterino", "login_exact": "mcaterino", "name": "Michael Caterino", "name_autocomplete": "Michael Caterino", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/93979/thumb.jpg?1568554017", "observations_count": 1708, "identifications_count": 153, "journal_posts_count": 0, "activity_count": 1861, "species_count": 174, "universal_search_rank": 1708, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/93979/medium.jpg?1568554017" } }, { "user_id": 17283, "observation_count": 334, "species_count": 252, "user": { "id": 17283, "login": "layla", "spam": false, "suspended": false, "created_at": "2013-05-30T20:06:01+00:00", "login_autocomplete": "layla", "login_exact": "layla", "name": "Layla Dishman", "name_autocomplete": "Layla Dishman", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/17283/thumb.jpg?1475536494", "observations_count": 2831, "identifications_count": 1414, "journal_posts_count": 0, "activity_count": 4245, "universal_search_rank": 2831, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/17283/medium.jpg?1475536494" } }, { "user_id": 2346515, "observation_count": 317, "species_count": 77, "user": { "id": 2346515, "login": "sarahroth", "spam": false, "suspended": false, "created_at": "2019-10-08T15:37:36+00:00", "login_autocomplete": "sarahroth", "login_exact": "sarahroth", "name": "Sarah Roth", "name_autocomplete": "Sarah Roth", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/2346515/thumb.png?1570549056", "observations_count": 473, "identifications_count": 0, "journal_posts_count": 0, "activity_count": 473, "species_count": 126, "universal_search_rank": 473, "roles": [], "site_id": null, "icon_url": "https://static.inaturalist.org/attachments/users/icons/2346515/medium.png?1570549056" } }, { "user_id": 159616, "observation_count": 314, "species_count": 149, "user": { "id": 159616, "login": "cdance", "spam": false, "suspended": false, "created_at": "2015-12-09T19:36:11+00:00", "login_autocomplete": "cdance", "login_exact": "cdance", "name": "CDance", "name_autocomplete": "CDance", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/159616/thumb.jpg?1566762916", "observations_count": 2900, "identifications_count": 264, "journal_posts_count": 3, "activity_count": 3167, "species_count": 1165, "universal_search_rank": 2900, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/159616/medium.jpg?1566762916" } }, { "user_id": 1359300, "observation_count": 310, "species_count": 148, "user": { "id": 1359300, "login": "spyingnaturalist", "spam": false, "suspended": false, "created_at": "2018-11-20T01:19:01+00:00", "login_autocomplete": "spyingnaturalist", "login_exact": "spyingnaturalist", "name": "", "name_autocomplete": "", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/1359300/thumb.jpg?1552909758", "observations_count": 8286, "identifications_count": 5371, "journal_posts_count": 0, "activity_count": 13657, "species_count": 2749, "universal_search_rank": 8286, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/1359300/medium.jpg?1552909758" } }, { "user_id": 899236, "observation_count": 292, "species_count": 177, "user": { "id": 899236, "login": "palustris314", "spam": false, "suspended": false, "created_at": "2018-04-25T17:22:45+00:00", "login_autocomplete": "palustris314", "login_exact": "palustris314", "name": "Greg J Schmidt", "name_autocomplete": "Greg J Schmidt", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/899236/thumb.jpg?1526651056", "observations_count": 1599, "identifications_count": 139, "journal_posts_count": 0, "activity_count": 1738, "species_count": 1013, "universal_search_rank": 1599, "roles": [], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/899236/medium.jpg?1526651056" } }, { "user_id": 187480, "observation_count": 252, "species_count": 172, "user": { "id": 187480, "login": "wdvanhem", "spam": false, "suspended": false, "created_at": "2016-03-03T13:54:17+00:00", "login_autocomplete": "wdvanhem", "login_exact": "wdvanhem", "name": "Will Van Hemessen", "name_autocomplete": "Will Van Hemessen", "orcid": null, "icon": "https://static.inaturalist.org/attachments/users/icons/187480/thumb.jpeg?1586740535", "observations_count": 8050, "identifications_count": 145345, "journal_posts_count": 1, "activity_count": 153396, "species_count": 2482, "universal_search_rank": 8050, "roles": [ "curator" ], "site_id": 1, "icon_url": "https://static.inaturalist.org/attachments/users/icons/187480/medium.jpeg?1586740535" } } ] }
- Parameters
d1 (
Union
[date
,datetime
,str
,None
]) – Must be observed on or after this dated2 (
Union
[date
,datetime
,str
,None
]) – Must be observed on or before this dateday (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this day of the monthmonth (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this monthyear (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this yearlicense (
Union
[str
,Iterable
[str
],None
]) – Observation must have this licensephoto_license (
Union
[str
,Iterable
[str
],None
]) – Must have at least one photo with this licenseout_of_range (
Optional
[bool
]) – Observations whose taxa are outside their known rangeslist_id (
Optional
[int
]) – Taxon must be in the list with this IDquality_grade (
Optional
[str
]) – Must have this quality gradeid (
Union
[int
,Iterable
[int
],None
]) – Must have this observation IDtaxon_id (
Union
[int
,Iterable
[int
],None
]) – Only show observations of these taxa and their descendantstaxon_name (
Union
[str
,Iterable
[str
],None
]) – Taxon must have a scientific or common name matching this stringiconic_taxa (
Union
[str
,Iterable
[str
],None
]) – Taxon must by within this iconic taxonupdated_since (
Union
[datetime
,str
,None
]) – Must be updated since this timeacc (
Optional
[bool
]) – Whether or not positional accuracy / coordinate uncertainty has been specifiedcaptive (
Optional
[bool
]) – Captive or cultivated observationsendemic (
Optional
[bool
]) – Observations whose taxa are endemic to their locationid_please (
Optional
[bool
]) – Observations with the deprecated ‘ID, Please!’ flag. Note that this will return observations, but that this attribute is no longer used.identified (
Optional
[bool
]) – Observations that have community identificationsintroduced (
Optional
[bool
]) – Observations whose taxa are introduced in their locationmappable (
Optional
[bool
]) – Observations that show on map tilesnative (
Optional
[bool
]) – Observations whose taxa are native to their locationpcid (
Optional
[bool
]) – Observations identified by the curator of a project. If theproject_id
parameter is also specified, this will only consider observations identified by curators of the specified project(s)popular (
Optional
[bool
]) – Observations that have been favorited by at least one usertaxon_is_active (
Optional
[bool
]) – Observations of active taxon conceptsthreatened (
Optional
[bool
]) – Observations whose taxa are threatened in their locationverifiable (
Optional
[bool
]) – Observations with aquality_grade
of eitherneeds_id
orresearch
. Equivalent toquality_grade=needs_id,research
not_id (
Union
[int
,Iterable
[int
],None
]) – Must not have this IDplace_id (
Union
[int
,Iterable
[int
],None
]) – Must be observed within the place with this IDproject_id (
Union
[int
,Iterable
[int
],None
]) – Must be added to the project this ID or slugrank (
Union
[str
,Iterable
[str
],None
]) – Taxon must have this ranksite_id (
Union
[str
,Iterable
[str
],None
]) – Must be affiliated with the iNaturalist network website with this IDofv_datatype (
Union
[str
,Iterable
[str
],None
]) – Must have an observation field value with this datatypesound_license (
Union
[str
,Iterable
[str
],None
]) – Must have at least one sound with this licensewithout_taxon_id (
Union
[int
,Iterable
[int
],None
]) – Exclude observations of these taxa and their descendantsuser_id (
Union
[int
,Iterable
[int
],str
,Iterable
[str
],None
]) – Observer must have this user ID or loginuser_login (
Union
[str
,Iterable
[str
],None
]) – Observer must have this user loginident_user_id (
Union
[int
,Iterable
[int
],str
,Iterable
[str
],None
]) – Identifier must have this user ID or loginterm_id (
Union
[int
,Iterable
[int
],None
]) – Must have an annotation using this controlled term IDterm_value_id (
Union
[int
,Iterable
[int
],None
]) – Must have an annotation using this controlled value ID. Must be combined with theterm_id
parameterwithout_term_value_id (
Union
[int
,Iterable
[int
],None
]) – Exclude observations with annotations using this controlled value ID. Must be combined with theterm_id
parameteracc_above (
Optional
[str
]) – Must have an positional accuracy above this value (meters)acc_below (
Optional
[str
]) – Must have an positional accuracy below this value (meters)created_d1 (
Union
[datetime
,str
,None
]) – Must be created at or after this timecreated_d2 (
Union
[datetime
,str
,None
]) – Must be created at or before this timecreated_on (
Union
[date
,datetime
,str
,None
]) – Must be created on this dateobserved_on (
Union
[date
,datetime
,str
,None
]) – Must be observed on this dateunobserved_by_user_id (
Optional
[int
]) – Must not be of a taxon previously observed by this userapply_project_rules_for (
Optional
[str
]) – Must match the rules of the project with this ID or slugcs (
Optional
[str
]) – Taxon must have this conservation status code. If theplace_id
parameter is also specified, this will only consider statuses specific to that placecsa (
Optional
[str
]) – Taxon must have a conservation status from this authority. If theplace_id
parameter is also specified, this will only consider statuses specific to that placecsi (
Union
[str
,Iterable
[str
],None
]) – Taxon must have this IUCN conservation status. If theplace_id
parameter is also specified, this will only consider statuses specific to that placegeoprivacy (
Union
[str
,Iterable
[str
],None
]) – Must have this geoprivacy settingtaxon_geoprivacy (
Union
[str
,Iterable
[str
],None
]) – Filter observations by the most conservative geoprivacy applied by a conservation status associated with one of the taxa proposed in the current identifications.identifications (
Optional
[str
]) – Identifications must meet these criterialat (
Optional
[float
]) – Must be within aradius
kilometer circle around this lat/lng (lat, lng, radius)lng (
Optional
[float
]) – Must be within aradius
kilometer circle around this lat/lng (lat, lng, radius)radius (
Optional
[float
]) – Must be within a {radius} kilometer circle around this lat/lng (lat, lng, radius)not_in_project (
Union
[int
,str
,None
]) – Must not be in the project with this ID or slugnot_matching_project_rules_for (
Union
[int
,str
,None
]) – Must not match the rules of the project with this ID or slugsearch_on (
Optional
[str
]) – Properties to search on, when combined with q. Searches across all properties by defaultreviewed (
Optional
[bool
]) – Observations have been reviewed by the user with ID equal to the value of theviewer_id
parameterlocale (
Optional
[str
]) – Locale preference for taxon common namespreferred_place_id (
Optional
[int
]) – Place preference for regional taxon common namesttl (
Optional
[str
]) – Set theCache-Control
HTTP header with this value asmax-age
, in secondsper_page (
Optional
[int
]) – Number of results to return in a page. The maximum value is generally 200, unless otherwise notedcount_only (
Optional
[bool
]) – Only return a count of results; alias forper_page=0
user_agent (
Optional
[str
]) – A custom user-agent string to provide to the iNaturalist APIAllows managing your own Session object
- Return type
- Returns
Response dict of observers
- pyinaturalist.v1.observations.get_observation_species_counts(**params)¶
Get all species (or other ‘leaf taxa’) associated with observations matching the search criteria, and the count of observations they are associated with. Leaf taxa are the leaves of the taxonomic tree, e.g., species, subspecies, variety, etc.
API reference: https://api.inaturalist.org/v1/docs/#!/Observations/get_observations_species_counts
Example
>>> response = get_observation_species_counts(user_login='my_username', quality_grade='research') >>> pprint(response) [62060] Species: Palomena prasina (Green Shield Bug): 10 [84804] Species: Graphosoma italicum (European Striped Shield Bug): 8 [55727] Species: Cymbalaria muralis (Ivy-leaved toadflax): 3 ...
Example Response
{ 'total_results': 243, 'page': 1, 'per_page': 500, 'results': [ { 'count': 32, 'taxon': { 'observations_count': 81696, 'taxon_schemes_count': 2, 'ancestry': '48460/1/47120/372739/47158/184884/47208/71130/372852/471714/48486/333790/333796/48487', 'is_active': True, 'flag_counts': {'unresolved': 0, 'resolved': 3}, 'wikipedia_url': 'http://en.wikipedia.org/wiki/Harmonia_axyridis', 'current_synonymous_taxon_ids': None, 'iconic_taxon_id': 47158, 'rank_level': 10, 'taxon_changes_count': 1, 'atlas_id': 1241, 'complete_species_count': None, 'parent_id': 48487, 'name': 'Harmonia axyridis', 'rank': 'species', 'extinct': False, 'id': 48484, 'default_photo': { 'square_url': 'https://static.inaturalist.org/photos/30978499/square.jpg?1549228178', 'attribution': '(c) Paolo Mazzei, all rights reserved', 'flags': [], 'medium_url': 'https://static.inaturalist.org/photos/30978499/medium.jpg?1549228178', 'id': 30978499, 'license_code': None, 'original_dimensions': {'width': 800, 'height': 600}, 'url': 'https://static.inaturalist.org/photos/30978499/square.jpg?1549228178', }, 'ancestor_ids': [ 48460, 1, 47120, 372739, 47158, 184884, 47208, 71130, 372852, 471714, 48486, 333790, 333796, 48487, 48484, ], 'iconic_taxon_name': 'Insecta', 'preferred_common_name': 'Asian Lady Beetle', }, }, { 'count': 19, 'taxon': { 'observations_count': 43187, 'taxon_schemes_count': 3, 'ancestry': '48460/1/47120/372739/47158/184884/47208/71130/372852/471714/48486/333790/333796/51703', 'is_active': True, 'flag_counts': {'unresolved': 0, 'resolved': 1}, 'wikipedia_url': 'http://en.wikipedia.org/wiki/Coccinella_septempunctata', 'current_synonymous_taxon_ids': None, 'iconic_taxon_id': 47158, 'rank_level': 10, 'taxon_changes_count': 1, 'atlas_id': None, 'complete_species_count': None, 'parent_id': 51703, 'name': 'Coccinella septempunctata', 'rank': 'species', 'extinct': False, 'id': 51702, 'default_photo': { 'square_url': 'https://static.inaturalist.org/photos/5669923/square.jpg?1480658715', 'attribution': '(c) Katja Schulz, some rights reserved (CC BY)', 'flags': [], 'medium_url': 'https://static.inaturalist.org/photos/5669923/medium.jpg?1480658715', 'id': 5669923, 'license_code': 'cc-by', 'original_dimensions': {'width': 2048, 'height': 1536}, 'url': 'https://static.inaturalist.org/photos/5669923/square.jpg?1480658715', }, 'ancestor_ids': [ 48460, 1, 47120, 372739, 47158, 184884, 47208, 71130, 372852, 471714, 48486, 333790, 333796, 51703, 51702, ], 'iconic_taxon_name': 'Insecta', 'preferred_common_name': 'Seven-spotted Lady Beetle', }, }, ], }
- Parameters
d1 (
Union
[date
,datetime
,str
,None
]) – Must be observed on or after this dated2 (
Union
[date
,datetime
,str
,None
]) – Must be observed on or before this dateday (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this day of the monthmonth (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this monthyear (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this yearlicense (
Union
[str
,Iterable
[str
],None
]) – Observation must have this licensephoto_license (
Union
[str
,Iterable
[str
],None
]) – Must have at least one photo with this licenseout_of_range (
Optional
[bool
]) – Observations whose taxa are outside their known rangeslist_id (
Optional
[int
]) – Taxon must be in the list with this IDquality_grade (
Optional
[str
]) – Must have this quality gradeid (
Union
[int
,Iterable
[int
],None
]) – Must have this observation IDtaxon_id (
Union
[int
,Iterable
[int
],None
]) – Only show observations of these taxa and their descendantstaxon_name (
Union
[str
,Iterable
[str
],None
]) – Taxon must have a scientific or common name matching this stringiconic_taxa (
Union
[str
,Iterable
[str
],None
]) – Taxon must by within this iconic taxonupdated_since (
Union
[datetime
,str
,None
]) – Must be updated since this timeacc (
Optional
[bool
]) – Whether or not positional accuracy / coordinate uncertainty has been specifiedcaptive (
Optional
[bool
]) – Captive or cultivated observationsendemic (
Optional
[bool
]) – Observations whose taxa are endemic to their locationid_please (
Optional
[bool
]) – Observations with the deprecated ‘ID, Please!’ flag. Note that this will return observations, but that this attribute is no longer used.identified (
Optional
[bool
]) – Observations that have community identificationsintroduced (
Optional
[bool
]) – Observations whose taxa are introduced in their locationmappable (
Optional
[bool
]) – Observations that show on map tilesnative (
Optional
[bool
]) – Observations whose taxa are native to their locationpcid (
Optional
[bool
]) – Observations identified by the curator of a project. If theproject_id
parameter is also specified, this will only consider observations identified by curators of the specified project(s)popular (
Optional
[bool
]) – Observations that have been favorited by at least one usertaxon_is_active (
Optional
[bool
]) – Observations of active taxon conceptsthreatened (
Optional
[bool
]) – Observations whose taxa are threatened in their locationverifiable (
Optional
[bool
]) – Observations with aquality_grade
of eitherneeds_id
orresearch
. Equivalent toquality_grade=needs_id,research
not_id (
Union
[int
,Iterable
[int
],None
]) – Must not have this IDplace_id (
Union
[int
,Iterable
[int
],None
]) – Must be observed within the place with this IDproject_id (
Union
[int
,Iterable
[int
],None
]) – Must be added to the project this ID or slugrank (
Union
[str
,Iterable
[str
],None
]) – Taxon must have this ranksite_id (
Union
[str
,Iterable
[str
],None
]) – Must be affiliated with the iNaturalist network website with this IDofv_datatype (
Union
[str
,Iterable
[str
],None
]) – Must have an observation field value with this datatypesound_license (
Union
[str
,Iterable
[str
],None
]) – Must have at least one sound with this licensewithout_taxon_id (
Union
[int
,Iterable
[int
],None
]) – Exclude observations of these taxa and their descendantsuser_id (
Union
[int
,Iterable
[int
],str
,Iterable
[str
],None
]) – Observer must have this user ID or loginuser_login (
Union
[str
,Iterable
[str
],None
]) – Observer must have this user loginident_user_id (
Union
[int
,Iterable
[int
],str
,Iterable
[str
],None
]) – Identifier must have this user ID or loginterm_id (
Union
[int
,Iterable
[int
],None
]) – Must have an annotation using this controlled term IDterm_value_id (
Union
[int
,Iterable
[int
],None
]) – Must have an annotation using this controlled value ID. Must be combined with theterm_id
parameterwithout_term_value_id (
Union
[int
,Iterable
[int
],None
]) – Exclude observations with annotations using this controlled value ID. Must be combined with theterm_id
parameteracc_above (
Optional
[str
]) – Must have an positional accuracy above this value (meters)acc_below (
Optional
[str
]) – Must have an positional accuracy below this value (meters)created_d1 (
Union
[datetime
,str
,None
]) – Must be created at or after this timecreated_d2 (
Union
[datetime
,str
,None
]) – Must be created at or before this timecreated_on (
Union
[date
,datetime
,str
,None
]) – Must be created on this dateobserved_on (
Union
[date
,datetime
,str
,None
]) – Must be observed on this dateunobserved_by_user_id (
Optional
[int
]) – Must not be of a taxon previously observed by this userapply_project_rules_for (
Optional
[str
]) – Must match the rules of the project with this ID or slugcs (
Optional
[str
]) – Taxon must have this conservation status code. If theplace_id
parameter is also specified, this will only consider statuses specific to that placecsa (
Optional
[str
]) – Taxon must have a conservation status from this authority. If theplace_id
parameter is also specified, this will only consider statuses specific to that placecsi (
Union
[str
,Iterable
[str
],None
]) – Taxon must have this IUCN conservation status. If theplace_id
parameter is also specified, this will only consider statuses specific to that placegeoprivacy (
Union
[str
,Iterable
[str
],None
]) – Must have this geoprivacy settingtaxon_geoprivacy (
Union
[str
,Iterable
[str
],None
]) – Filter observations by the most conservative geoprivacy applied by a conservation status associated with one of the taxa proposed in the current identifications.identifications (
Optional
[str
]) – Identifications must meet these criterialat (
Optional
[float
]) – Must be within aradius
kilometer circle around this lat/lng (lat, lng, radius)lng (
Optional
[float
]) – Must be within aradius
kilometer circle around this lat/lng (lat, lng, radius)radius (
Optional
[float
]) – Must be within a {radius} kilometer circle around this lat/lng (lat, lng, radius)not_in_project (
Union
[int
,str
,None
]) – Must not be in the project with this ID or slugnot_matching_project_rules_for (
Union
[int
,str
,None
]) – Must not match the rules of the project with this ID or slugsearch_on (
Optional
[str
]) – Properties to search on, when combined with q. Searches across all properties by defaultreviewed (
Optional
[bool
]) – Observations have been reviewed by the user with ID equal to the value of theviewer_id
parameterlocale (
Optional
[str
]) – Locale preference for taxon common namespreferred_place_id (
Optional
[int
]) – Place preference for regional taxon common namesttl (
Optional
[str
]) – Set theCache-Control
HTTP header with this value asmax-age
, in secondsper_page (
Optional
[int
]) – Number of results to return in a page. The maximum value is generally 200, unless otherwise notedcount_only (
Optional
[bool
]) – Only return a count of results; alias forper_page=0
user_agent (
Optional
[str
]) – A custom user-agent string to provide to the iNaturalist APIAllows managing your own Session object
- Return type
- Returns
Response dict containing taxon records with counts
- pyinaturalist.v1.observations.get_observation_taxonomy(user_id, **params)¶
Get observation counts for all taxa in a full taxonomic tree. In the web UI, these are used for life lists.
Example
>>> response = get_observation_taxonomy(user_id='my_username') ...
Example Response
{ "count_without_taxon": 4, "size": 9, "results": [ { "id": 1, "count": 1, "name": "Animalia", "rank": "kingdom", "rank_level": 70, "is_active": true, "parent_id": 48460, "descendant_obs_count": 3023, "direct_obs_count": 1 }, { "id": 2, "name": "Chordata", "rank": "phylum", "rank_level": 60, "is_active": true, "parent_id": 1, "descendant_obs_count": 447, "direct_obs_count": 0 }, { "id": 3, "count": 4, "name": "Aves", "rank": "class", "rank_level": 50, "is_active": true, "parent_id": 355675, "descendant_obs_count": 340, "direct_obs_count": 4 }, { "id": 573, "name": "Galliformes", "rank": "order", "rank_level": 40, "is_active": true, "parent_id": 3, "descendant_obs_count": 4, "direct_obs_count": 0 }, { "id": 574, "name": "Phasianidae", "rank": "family", "rank_level": 30, "is_active": true, "parent_id": 573, "descendant_obs_count": 4, "direct_obs_count": 0 }, { "id": 889, "name": "Bonasa", "rank": "genus", "rank_level": 20, "is_active": true, "parent_id": 574, "descendant_obs_count": 2, "direct_obs_count": 0 }, { "id": 890, "count": 2, "name": "Bonasa umbellus", "rank": "species", "rank_level": 10, "is_active": true, "parent_id": 889, "descendant_obs_count": 2, "direct_obs_count": 2 }, { "id": 980, "name": "Phasianus", "rank": "genus", "rank_level": 20, "is_active": true, "parent_id": 574, "descendant_obs_count": 2, "direct_obs_count": 0 }, { "id": 981, "count": 2, "name": "Phasianus colchicus", "rank": "species", "rank_level": 10, "is_active": true, "parent_id": 980, "descendant_obs_count": 2, "direct_obs_count": 2 } ] }
- pyinaturalist.v1.observations.get_observations(**params)¶
Search observations.
API reference: http://api.inaturalist.org/v1/docs/#!/Observations/get_observations
Example
Get observations of Monarch butterflies with photos + public location info, on a specific date in the provice of Saskatchewan, CA (place ID 7953):
>>> response = get_observations( >>> taxon_name='Danaus plexippus', >>> created_on='2020-08-27', >>> photos=True, >>> geo=True, >>> geoprivacy='open', >>> place_id=7953, >>> )
Get basic info for observations in response:
>>> pprint(response) '[57754375] Species: Danaus plexippus (Monarch) observed by samroom on 2020-08-27 at Railway Ave, Wilcox, SK' '[57707611] Species: Danaus plexippus (Monarch) observed by ingridt3 on 2020-08-26 at Michener Dr, Regina, SK'
Example Response
from datetime import datetime from dateutil.tz import tzoffset, tzutc { 'total_results': 2, 'page': 1, 'per_page': 30, 'results': [ { 'quality_grade': 'research', 'time_observed_at': '2020-08-27T08:57:22+00:00', 'taxon_geoprivacy': 'open', 'annotations': [], 'uuid': 'c44b91f3-534d-48c4-933d-a8b4e1d8f87b', 'id': 57754375, 'cached_votes_total': 0, 'identifications_most_agree': True, 'species_guess': 'Monarch', 'identifications_most_disagree': False, 'tags': [], 'positional_accuracy': None, 'comments_count': 2, 'site_id': 5, 'license_code': 'cc-by-nc', 'quality_metrics': [], 'public_positional_accuracy': None, 'reviewed_by': [115129, 2852555], 'oauth_application_id': 3, 'flags': [], 'created_at': datetime(2020, 8, 27, 18, 0, 51, tzinfo=tzutc()), 'description': None, 'project_ids_with_curator_id': [], 'updated_at': datetime(2020, 8, 28, 12, 4, 18, tzinfo=tzutc()), 'sounds': [], 'place_ids': [ 6712, 7953, 9853, 49224, 59613, 64422, 64423, 66741, 78395, 82256, 97394, 145030, 155145, 164401, ], 'captive': False, 'taxon': { 'is_active': True, 'ancestry': '48460/1/47120/372739/47158/184884/47157/47224/47922/61244/134169/522900/48663', 'min_species_ancestry': '48460,1,47120,372739,47158,184884,47157,47224,47922,61244,134169,522900,48663,48662', 'endemic': False, 'iconic_taxon_id': 47158, 'min_species_taxon_id': 48662, 'threatened': True, 'rank_level': 10, 'introduced': False, 'native': True, 'parent_id': 48663, 'name': 'Danaus plexippus', 'rank': 'species', 'extinct': False, 'id': 48662, 'ancestor_ids': [ 48460, 1, 47120, 372739, 47158, 184884, 47157, 47224, 47922, 61244, 134169, 522900, 48663, 48662, ], 'photos_locked': False, 'taxon_schemes_count': 6, 'wikipedia_url': 'http://en.wikipedia.org/wiki/Monarch_butterfly', 'current_synonymous_taxon_ids': None, 'created_at': '2008-10-26T20:24:33+00:00', 'taxon_changes_count': 1, 'complete_species_count': None, 'universal_search_rank': 131627, 'observations_count': 131627, 'flag_counts': {'unresolved': 1, 'resolved': 7}, 'atlas_id': 1231, 'default_photo': { 'square_url': 'https://static.inaturalist.org/photos/13824507/square.jpg?1545715684', 'attribution': '(c) fam-esquivel, some rights reserved (CC BY-NC)', 'flags': [], 'medium_url': 'https://static.inaturalist.org/photos/13824507/medium.jpg?1545715684', 'id': 13824507, 'license_code': 'cc-by-nc', 'original_dimensions': {'width': 2048, 'height': 1361}, 'url': 'https://static.inaturalist.org/photos/13824507/square.jpg?1545715684', }, 'iconic_taxon_name': 'Insecta', 'preferred_common_name': 'Monarch', 'conservation_status': { 'user_id': None, 'status_name': 'imperiled', 'iucn': 40, 'authority': 'NatureServe', 'geoprivacy': None, 'source_id': 8, 'place_id': 7953, 'status': 's2b', }, }, 'ident_taxon_ids': [ 48460, 1, 47120, 372739, 47158, 184884, 47157, 47224, 47922, 61244, 134169, 522900, 48663, 48662, ], 'outlinks': [{'source': 'GBIF', 'url': 'http://www.gbif.org/occurrence/2856816457'}], 'faves_count': 0, 'ofvs': [], 'num_identification_agreements': 1, 'preferences': {'prefers_community_taxon': None}, 'comments': [ { 'moderator_actions': [], 'hidden': False, 'flags': [], 'created_at': '2020-08-28T12:04:18.407Z', 'id': 5326888, 'created_at_details': { 'date': '2020-08-28', 'week': 35, 'month': 8, 'hour': 12, 'year': 2020, 'day': 28, }, 'body': 'Thankyou ', 'uuid': 'b4d00be4-132d-4e51-bfdd-8515a00f161c', 'user': { 'created_at': '2020-04-26T15:26:56+00:00', 'id': 2852555, 'login': 'samroom', 'spam': False, 'suspended': False, 'login_autocomplete': 'samroom', 'login_exact': 'samroom', 'name': None, 'name_autocomplete': None, 'orcid': None, 'icon': None, 'observations_count': 59, 'identifications_count': 0, 'journal_posts_count': 0, 'activity_count': 59, 'species_count': 52, 'universal_search_rank': 59, 'roles': [], 'site_id': 5, 'icon_url': None, }, }, { 'moderator_actions': [], 'hidden': False, 'flags': [], 'created_at': '2020-08-28T04:54:19.020Z', 'id': 5325706, 'created_at_details': { 'date': '2020-08-28', 'week': 35, 'month': 8, 'hour': 4, 'year': 2020, 'day': 28, }, 'body': 'Neat photo! ', 'uuid': '25ac67d5-ba09-47a8-91e3-b6e3590a0b72', 'user': { 'created_at': '2018-03-18T01:34:25+00:00', 'id': 792847, 'login': 'ingridt3', 'spam': False, 'suspended': False, 'login_autocomplete': 'ingridt3', 'login_exact': 'ingridt3', 'name': None, 'name_autocomplete': None, 'orcid': None, 'icon': None, 'observations_count': 51, 'identifications_count': 29, 'journal_posts_count': 0, 'activity_count': 80, 'species_count': 30, 'universal_search_rank': 51, 'roles': [], 'site_id': 5, 'icon_url': None, }, }, ], 'map_scale': None, 'uri': 'https://www.inaturalist.org/observations/57754375', 'project_ids': [], 'community_taxon_id': 48662, 'geojson': {'coordinates': [-104.71929167, 50.0949055], 'type': 'Point'}, 'owners_identification_from_vision': True, 'identifications_count': 1, 'obscured': False, 'num_identification_disagreements': 0, 'geoprivacy': None, 'location': [50.0949055, -104.71929167], 'votes': [], 'spam': False, 'user': { 'site_id': 5, 'created_at': '2020-04-26T15:26:56+00:00', 'id': 2852555, 'login': 'samroom', 'spam': False, 'suspended': False, 'preferences': {}, 'login_autocomplete': 'samroom', 'login_exact': 'samroom', 'name': None, 'name_autocomplete': None, 'orcid': None, 'icon': None, 'observations_count': 59, 'identifications_count': 0, 'journal_posts_count': 0, 'activity_count': 59, 'species_count': 52, 'universal_search_rank': 59, 'roles': [], 'icon_url': None, }, 'mappable': True, 'identifications_some_agree': True, 'project_ids_without_curator_id': [], 'place_guess': 'Railway Ave, Wilcox, SK, CA', 'identifications': 'TRUNCATED', 'project_observations': [], 'photos': [ { 'id': 92152429, 'license_code': 'cc-by-nc', 'url': 'https://static.inaturalist.org/photos/92152429/square.jpg?1598551272', 'attribution': '(c) samroom, some rights reserved (CC BY-NC)', 'original_dimensions': {'width': 1188, 'height': 1188}, 'flags': [], } ], 'observation_photos': [ { 'id': 85887066, 'position': 0, 'uuid': '6f73a9f2-019f-4566-a393-2c2242a3198d', 'photo': { 'id': 92152429, 'license_code': 'cc-by-nc', 'url': 'https://static.inaturalist.org/photos/92152429/square.jpg?1598551272', 'attribution': '(c) samroom, some rights reserved (CC BY-NC)', 'original_dimensions': {'width': 1188, 'height': 1188}, 'flags': [], }, } ], 'faves': [], 'non_owner_ids': 'TRUNCATED', 'observed_on': datetime(2020, 8, 27, 8, 57, 22, tzinfo=tzoffset('Etc/UTC', 0)), }, { 'quality_grade': 'research', 'time_observed_at': '2020-08-26T22:46:10+00:00', 'taxon_geoprivacy': 'open', 'annotations': [], 'uuid': '588c9ad4-c747-497c-a52f-bf856c30d2ff', 'id': 57707611, 'cached_votes_total': 0, 'identifications_most_agree': True, 'species_guess': 'Monarch', 'identifications_most_disagree': False, 'tags': [], 'positional_accuracy': 374, 'comments_count': 0, 'site_id': 5, 'license_code': None, 'quality_metrics': [], 'public_positional_accuracy': 374, 'reviewed_by': [35013, 115129, 217571, 412189, 792847, 2173064], 'oauth_application_id': 3, 'flags': [], 'created_at': datetime(2020, 8, 27, 4, 50, 17, tzinfo=tzutc()), 'description': 'Only one today and likely the last one to eclose from the batch of caterpillars from 10-14 days ago. ', 'project_ids_with_curator_id': [6905], 'updated_at': datetime(2020, 11, 2, 19, 26, 40, tzinfo=tzutc()), 'sounds': [], 'place_ids': [ 6712, 7953, 9853, 49224, 59613, 64422, 64423, 66741, 78395, 82256, 97394, 113642, 120614, 120671, 145030, 155145, 164401, ], 'captive': False, 'taxon': { 'is_active': True, 'ancestry': '48460/1/47120/372739/47158/184884/47157/47224/47922/61244/134169/522900/48663', 'min_species_ancestry': '48460,1,47120,372739,47158,184884,47157,47224,47922,61244,134169,522900,48663,48662', 'endemic': False, 'iconic_taxon_id': 47158, 'min_species_taxon_id': 48662, 'threatened': True, 'rank_level': 10, 'introduced': False, 'native': True, 'parent_id': 48663, 'name': 'Danaus plexippus', 'rank': 'species', 'extinct': False, 'id': 48662, 'ancestor_ids': [ 48460, 1, 47120, 372739, 47158, 184884, 47157, 47224, 47922, 61244, 134169, 522900, 48663, 48662, ], 'photos_locked': False, 'taxon_schemes_count': 6, 'wikipedia_url': 'http://en.wikipedia.org/wiki/Monarch_butterfly', 'current_synonymous_taxon_ids': None, 'created_at': '2008-10-26T20:24:33+00:00', 'taxon_changes_count': 1, 'complete_species_count': None, 'universal_search_rank': 131627, 'observations_count': 131627, 'flag_counts': {'unresolved': 1, 'resolved': 7}, 'atlas_id': 1231, 'default_photo': { 'square_url': 'https://static.inaturalist.org/photos/13824507/square.jpg?1545715684', 'attribution': '(c) fam-esquivel, some rights reserved (CC BY-NC)', 'flags': [], 'medium_url': 'https://static.inaturalist.org/photos/13824507/medium.jpg?1545715684', 'id': 13824507, 'license_code': 'cc-by-nc', 'original_dimensions': {'width': 2048, 'height': 1361}, 'url': 'https://static.inaturalist.org/photos/13824507/square.jpg?1545715684', }, 'iconic_taxon_name': 'Insecta', 'preferred_common_name': 'Monarch', 'conservation_status': { 'user_id': None, 'status_name': 'imperiled', 'iucn': 40, 'authority': 'NatureServe', 'geoprivacy': None, 'source_id': 8, 'place_id': 7953, 'status': 's2b', }, }, 'ident_taxon_ids': [ 48460, 1, 47120, 372739, 47158, 184884, 47157, 47224, 47922, 61244, 134169, 522900, 48663, 48662, ], 'outlinks': [], 'faves_count': 0, 'ofvs': [], 'num_identification_agreements': 5, 'preferences': {'prefers_community_taxon': None}, 'comments': [], 'map_scale': None, 'uri': 'https://www.inaturalist.org/observations/57707611', 'project_ids': [6905], 'community_taxon_id': 48662, 'geojson': {'coordinates': [-104.5628221383, 50.433418274], 'type': 'Point'}, 'owners_identification_from_vision': True, 'identifications_count': 5, 'obscured': False, 'num_identification_disagreements': 0, 'geoprivacy': None, 'location': [50.433418274, -104.5628221383], 'votes': [], 'spam': False, 'user': { 'site_id': 5, 'created_at': '2018-03-18T01:34:25+00:00', 'id': 792847, 'login': 'ingridt3', 'spam': False, 'suspended': False, 'preferences': {}, 'login_autocomplete': 'ingridt3', 'login_exact': 'ingridt3', 'name': None, 'name_autocomplete': None, 'orcid': None, 'icon': None, 'observations_count': 51, 'identifications_count': 29, 'journal_posts_count': 0, 'activity_count': 80, 'species_count': 30, 'universal_search_rank': 51, 'roles': [], 'icon_url': None, }, 'mappable': True, 'identifications_some_agree': True, 'project_ids_without_curator_id': [], 'place_guess': 'Michener Dr, Regina, SK, CA', 'identifications': 'TRUNCATED', 'project_observations': [ { 'id': 45561247, 'uuid': '912138ca-651d-4d5f-99c1-d89e9c023bb5', 'project': {'id': 6905}, 'user_id': 35013, 'preferences': {'allows_curator_coordinate_access': True}, 'user': { 'id': 35013, 'login': 'a_b', 'spam': False, 'suspended': False, 'created_at': '2014-04-09T03:27:04+00:00', 'login_autocomplete': 'a_b', 'login_exact': 'a_b', 'name': 'Andrea Benville', 'name_autocomplete': 'Andrea Benville', 'orcid': None, 'icon': 'https://static.inaturalist.org/attachments/users/icons/35013/thumb.jpg?1505750038', 'observations_count': 787, 'identifications_count': 533, 'journal_posts_count': 0, 'activity_count': 1320, 'species_count': 432, 'universal_search_rank': 787, 'roles': [], 'site_id': 5, 'icon_url': 'https://static.inaturalist.org/attachments/users/icons/35013/medium.jpg?1505750038', }, } ], 'photos': [ { 'id': 92075215, 'license_code': None, 'url': 'https://static.inaturalist.org/photos/92075215/square.jpg?1598503820', 'attribution': '(c) ingridt3, all rights reserved', 'original_dimensions': {'width': 1183, 'height': 842}, 'flags': [], } ], 'observation_photos': [ { 'id': 85814399, 'position': 0, 'uuid': '98dd67ae-79b4-49c6-934b-6a814ea6d6ab', 'photo': { 'id': 92075215, 'license_code': None, 'url': 'https://static.inaturalist.org/photos/92075215/square.jpg?1598503820', 'attribution': '(c) ingridt3, all rights reserved', 'original_dimensions': {'width': 1183, 'height': 842}, 'flags': [], }, } ], 'faves': [], 'non_owner_ids': 'TRUNCATED', 'observed_on': datetime(2020, 8, 26, 22, 46, 10, tzinfo=tzoffset('Etc/UTC', 0)), }, ], }
- Parameters
d1 (
Union
[date
,datetime
,str
,None
]) – Must be observed on or after this dated2 (
Union
[date
,datetime
,str
,None
]) – Must be observed on or before this dateday (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this day of the monthmonth (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this monthyear (
Union
[int
,Iterable
[int
],None
]) – Must be observed within this yearlicense (
Union
[str
,Iterable
[str
],None
]) – Observation must have this licensephoto_license (
Union
[str
,Iterable
[str
],None
]) – Must have at least one photo with this licenseout_of_range (
Optional
[bool
]) – Observations whose taxa are outside their known rangeslist_id (
Optional
[int
]) – Taxon must be in the list with this IDquality_grade (
Optional
[str
]) – Must have this quality gradeid (
Union
[int
,Iterable
[int
],None
]) – Must have this observation IDtaxon_id (
Union
[int
,Iterable
[int
],None
]) – Only show observations of these taxa and their descendantstaxon_name (
Union
[str
,Iterable
[str
],None
]) – Taxon must have a scientific or common name matching this stringiconic_taxa (
Union
[str
,Iterable
[str
],None
]) – Taxon must by within this iconic taxonupdated_since (
Union
[datetime
,str
,None
]) – Must be updated since this timeacc (
Optional
[bool
]) – Whether or not positional accuracy / coordinate uncertainty has been specifiedcaptive (
Optional
[bool
]) – Captive or cultivated observationsendemic (
Optional
[bool
]) – Observations whose taxa are endemic to their locationid_please (
Optional
[bool
]) – Observations with the deprecated ‘ID, Please!’ flag. Note that this will return observations, but that this attribute is no longer used.identified (
Optional
[bool
]) – Observations that have community identificationsintroduced (
Optional
[bool
]) – Observations whose taxa are introduced in their locationmappable (
Optional
[bool
]) – Observations that show on map tilesnative (
Optional
[bool
]) – Observations whose taxa are native to their locationpcid (
Optional
[bool
]) – Observations identified by the curator of a project. If theproject_id
parameter is also specified, this will only consider observations identified by curators of the specified project(s)popular (
Optional
[bool
]) – Observations that have been favorited by at least one usertaxon_is_active (
Optional
[bool
]) – Observations of active taxon conceptsthreatened (
Optional
[bool
]) – Observations whose taxa are threatened in their locationverifiable (
Optional
[bool
]) – Observations with aquality_grade
of eitherneeds_id
orresearch
. Equivalent toquality_grade=needs_id,research
not_id (
Union
[int
,Iterable
[int
],None
]) – Must not have this IDplace_id (
Union
[int
,Iterable
[int
],None
]) – Must be observed within the place with this IDproject_id (
Union
[int
,Iterable
[int
],None
]) – Must be added to the project this ID or slugrank (
Union
[str
,Iterable
[str
],None
]) – Taxon must have this ranksite_id (
Union
[str
,Iterable
[str
],None
]) – Must be affiliated with the iNaturalist network website with this IDofv_datatype (
Union
[str
,Iterable
[str
],None
]) – Must have an observation field value with this datatypesound_license (
Union
[str
,Iterable
[str
],None
]) – Must have at least one sound with this licensewithout_taxon_id (
Union
[int
,Iterable
[int
],None
]) – Exclude observations of these taxa and their descendantsuser_id (
Union
[int
,Iterable
[int
],str
,Iterable
[str
],None
]) – Observer must have this user ID or loginuser_login (
Union
[str
,Iterable
[str
],None
]) – Observer must have this user loginident_user_id (
Union
[int
,Iterable
[int
],str
,Iterable
[str
],None
]) – Identifier must have this user ID or loginterm_id (
Union
[int
,Iterable
[int
],None
]) – Must have an annotation using this controlled term IDterm_value_id (
Union
[int
,Iterable
[int
],None
]) – Must have an annotation using this controlled value ID. Must be combined with theterm_id
parameterwithout_term_value_id (
Union
[int
,Iterable
[int
],None
]) – Exclude observations with annotations using this controlled value ID. Must be combined with theterm_id
parameteracc_above (
Optional
[str
]) – Must have an positional accuracy above this value (meters)acc_below (
Optional
[str
]) – Must have an positional accuracy below this value (meters)created_d1 (
Union
[datetime
,str
,None
]) – Must be created at or after this timecreated_d2 (
Union
[datetime
,str
,None
]) – Must be created at or before this timecreated_on (
Union
[date
,datetime
,str
,None
]) – Must be created on this dateobserved_on (
Union
[date
,datetime
,str
,None
]) – Must be observed on this dateunobserved_by_user_id (
Optional
[int
]) – Must not be of a taxon previously observed by this userapply_project_rules_for (
Optional
[str
]) – Must match the rules of the project with this ID or slugcs (
Optional
[str
]) – Taxon must have this conservation status code. If theplace_id
parameter is also specified, this will only consider statuses specific to that placecsa (
Optional
[str
]) – Taxon must have a conservation status from this authority. If theplace_id
parameter is also specified, this will only consider statuses specific to that placecsi (
Union
[str
,Iterable
[str
],None
]) – Taxon must have this IUCN conservation status. If theplace_id
parameter is also specified, this will only consider statuses specific to that placegeoprivacy (
Union
[str
,Iterable
[str
],None
]) – Must have this geoprivacy settingtaxon_geoprivacy (
Union
[str
,Iterable
[str
],None
]) – Filter observations by the most conservative geoprivacy applied by a conservation status associated with one of the taxa proposed in the current identifications.identifications (
Optional
[str
]) – Identifications must meet these criterialat (
Optional
[float
]) – Must be within aradius
kilometer circle around this lat/lng (lat, lng, radius)lng (
Optional
[float
]) – Must be within aradius
kilometer circle around this lat/lng (lat, lng, radius)radius (
Optional
[float
]) – Must be within a {radius} kilometer circle around this lat/lng (lat, lng, radius)not_in_project (
Union
[int
,str
,None
]) – Must not be in the project with this ID or slugnot_matching_project_rules_for (
Union
[int
,str
,None
]) – Must not match the rules of the project with this ID or slugsearch_on (
Optional
[str
]) – Properties to search on, when combined with q. Searches across all properties by defaultreviewed (
Optional
[bool
]) – Observations have been reviewed by the user with ID equal to the value of theviewer_id
parameterlocale (
Optional
[str
]) – Locale preference for taxon common namespreferred_place_id (
Optional
[int
]) – Place preference for regional taxon common namesttl (
Optional
[str
]) – Set theCache-Control
HTTP header with this value asmax-age
, in secondsper_page (
Optional
[int
]) – Number of results to return in a page. The maximum value is generally 200, unless otherwise notedcount_only (
Optional
[bool
]) – Only return a count of results; alias forper_page=0
only_id (
bool
) – Return only the record IDsuser_agent (
Optional
[str
]) – A custom user-agent string to provide to the iNaturalist APIAllows managing your own Session object
- Return type
- Returns
Response dict containing observation records