| q | No | Free text matched across observation properties. | |
| d1 | No | Earliest observation date, YYYY-MM-DD. Inclusive. | |
| d2 | No | Latest observation date, YYYY-MM-DD. Inclusive. | |
| csi | No | IUCN-normalised conservation status codes to include, e.g. ["EN","CR"]. Decode them with inaturalist_list_reference topic conservation_status_codes. | |
| lat | No | Latitude of the search centre, in decimal degrees. Requires lng and radius. | |
| lng | No | Longitude of the search centre, in decimal degrees. Requires lat and radius. | |
| page | No | Page number within the first 10,000 results. Defaults to 1. Mutually exclusive with cursor. | |
| hrank | No | Highest taxonomic rank of the identification to accept. | |
| lrank | No | Lowest taxonomic rank of the identification to accept. | |
| nelat | No | North-east corner latitude of the bounding box. All four corners or none. | |
| nelng | No | North-east corner longitude of the bounding box. All four corners or none. | |
| order | No | Sort direction. | desc |
| swlat | No | South-west corner latitude of the bounding box. All four corners or none. | |
| swlng | No | South-west corner longitude of the bounding box. All four corners or none. | |
| cursor | No | next_cursor from a previous page, to continue past the 10,000-result window — a positive integer observation id, sent upstream as id_below. Mutually exclusive with page, and forces an id ordering. | |
| native | No | Restrict to taxa native to the observation location. | |
| radius | No | Search radius around lat/lng, in KILOMETRES. Requires lat and lng. The upstream publishes no bound; 500 is a verified ceiling this server imposes. | |
| captive | No | Whether to include captive and cultivated records — zoo animals, garden plantings. Defaults to wild organisms only. | |
| endemic | No | Restrict to taxa endemic to the observation location. | |
| include | No | Embedded arrays to expand per record. Check photo_count and sound_count first — expanding costs context. | |
| term_id | No | Annotation attribute ids, from inaturalist_list_reference topic controlled_terms — e.g. 1 for Life Stage. | |
| licensed | No | Restrict to records whose own license_code is not null. | |
| order_by | No | Sort field. Forced to id when cursor is supplied, since a cursor only continues an id ordering. | observed_on |
| per_page | No | Records per page, maximum 25. A projected record costs roughly 1.9 KB across structuredContent and the rendered text together, so 25 is a full page near 49 KB and the default of 10 near 20 KB. Walk further with page or cursor rather than a larger page. | |
| place_id | No | Numeric iNaturalist place id from inaturalist_find_places. Mutually exclusive with the lat/lng/radius triple and the bounding box. A non-numeric value answers HTTP 500 upstream. | |
| taxon_id | No | Restrict to this taxon and its descendants. Resolve a name to an id with inaturalist_resolve_name. | |
| search_on | No | Narrow what q matches against. Requires q. | |
| introduced | No | Restrict to taxa introduced to the observation location. | |
| threatened | No | Restrict to taxa considered threatened where observed. | |
| iconic_taxa | No | Broad organism groups, by their scientific iconic-taxon name. A common-name value such as "Birds" matches nothing upstream, so only the listed values are accepted. | |
| quality_grade | No | Identification confidence tiers to include. Defaults to research-grade only; adding "needs_id" roughly doubles the corpus and lowers identification confidence. | |
| term_value_id | No | Annotation value ids, from the same attribute listing — e.g. 6 for Larva. Requires term_id; sent alone it is ignored upstream and the unfiltered corpus comes back. | |
| photo_licensed | No | Restrict to records with at least one licensed photo. | |