iNaturalist

App · Research & Academia · 21 actions

Search iNaturalist's record of wildlife sightings - hundreds of millions of them, from every country - by species, place, date or observer. Ask what lives in a park, when a species is about, who records and identifies the most, and read any sighting with its photographs and its discussion. With an API token you can also record sightings, comment, identify, and ask the computer-vision model what is in a photograph. Every search action works without one.

Actions

ActionWhat it does
Add an observation to a projectFile a sighting into a traditional project.
Chart observations over timeCount matching sightings into time buckets: by month of the year for seasonality, by hour for time of day, or by calendar year for a trend.
Comment on an observationLeave a comment on a sighting, as the connected account.
Count speciesAsk what lives somewhere.
Find placesFind the place iNaturalist means by a name, and the id its filters want.
Find projectsFind an iNaturalist project by title, by the place it covers or by kind.
Find speciesLook up a species by name - common or scientific - and get back the matches with their rank, their group, how often each has been observed and a photograph.
Get a personLook up somebody on iNaturalist by their username: when they joined, how many observations they have posted, how many species they have found and how many identifications they have given other people.
Get a projectRead one project: what it collects, what kind it is, the place it covers, and how many observations and species it has gathered so far.
Get a speciesRead one species in full: its rank and its place in the tree from kingdom down, whether it is native, introduced, endemic or extinct where it lives, its conservation status and the authority that assigned it, a Wikipedia summary and a photo.
Get an observationRead one sighting in full, with its photographs, its discussion and every identification anybody has suggested.
Get my profileRead the account this connection is signed in as, with its observation, species and identification totals.
Get top identifiersWho has identified the most sightings matching these filters.
Get top observersWho has reported the most sightings matching these filters, ranked by observations or by how many different species they found.
Identify an observationSuggest an identification on a sighting, as the connected account.
Identify from a photoAsk iNaturalist's computer-vision model what is in a photograph - the same model behind the app's suggestions - and get back its candidates with a score, plus the group they all share when it will not commit to a species.
List my notificationsThe comments and identifications other people have left on your observations, newest first, each with a link back to the observation.
Record an observationPost a sighting to the connected account: what it was, when and where it was seen, a note and tags.
Search everythingOne search across species, places, projects and people at once, the way the site's own search box works.
Search observationsSearch iNaturalist's wildlife sightings.
Update an observationChange one of your own sightings: correct the species, fix the date or the coordinates, add notes or tags, or mark it captive.

Add an observation to a project

File a sighting into a traditional project. Collection projects gather observations automatically from their own filters and cannot be added to by hand - this action says so rather than failing obscurely. Needs an API token.

Inputs

ObservationobservationtextRequired
Which sighting. Its number (the 198765432 in inaturalist.org/observations/198765432), its whole address, or its UUID - all three work.
ProjectprojecttextRequired
The project to add it to: its slug, title, id or URL.

Outputs

addedtrue/false
observation_uuidtext
projectobject
Example output
{
  "added": true,
  "observation_uuid": "8f4d2c1e-5b6a-4f3d-9e2c-7a1b0c9d8e7f",
  "project": {
    "banner_url": "https://inaturalist-open-data.s3.amazonaws.com/projects/24138-banner.jpg",
    "created_at": "2018-10-02T09:15:00-07:00",
    "description": "Overwintering monarch roosts along the Pacific coast.",
    "icon_url": "https://inaturalist-open-data.s3.amazonaws.com/projects/24138-icon.png",
    "id": 24138,
    "is_umbrella": false,
    "place_id": 14,
    "project_type": "collection",
    "slug": "western-monarch-count",
    "title": "Western Monarch Count",
    "url": "https://www.inaturalist.org/projects/western-monarch-count"
  }
}

Chart observations over time

Count matching sightings into time buckets: by month of the year for seasonality, by hour for time of day, or by calendar year for a trend. Answers with a bucket and a count for each, plus the busiest one, so a workflow can say when to look for something without charting anything. No API token needed.

Inputs

Speciesspeciestext
Narrow to one kind of organism. Give a common name, a scientific name, a taxon id or an iNaturalist taxon URL; anything above species level includes everything below it, so 'Quercus' is every oak. The result says which taxon it settled on.
Placeplacetext
Narrow to a place iNaturalist knows: a country, a state, a county, a park. Give the name or a place id. Among places of the same name the largest wins, and the result says which one it used. For an arbitrary point use the latitude, longitude and radius fields instead.
Observed byobservertext
Narrow to one person's sightings, by their iNaturalist username or their profile URL.
Projectprojecttext
Narrow to the observations in one project. Give its title, the slug from its address or its id.
Text to matchquerytext
Free text matched against the observation's own words - its description, its tags and the name the observer typed. It does not search species names; use the Species field for that.
Observed on or afterobserved_afterdate
Only organisms seen on or after this date.
Observed on or beforeobserved_beforedate
Only organisms seen on or before this date.
Only what changed sinceupdated_sincedate and time
Only observations posted or edited since this moment. This is what makes a scheduled workflow report each sighting once: feed it the time of the last run and nothing already seen comes back.
Quality gradequality_gradetext
Which grades to include. Research grade is the one that has reached a community consensus and is exported to GBIF; casual covers captive, undated and unlocated records. Choose none to include them all.One or more of: research (Research grade: the community agrees on the identification), needs_id (Needs ID: identifiable, but not agreed on yet), casual (Casual: captive, undated or unlocated).
Kind of organismiconic_taxatext
Narrow to one or more of iNaturalist's top-level groups. This is the coarse filter - for anything finer use the Species field.One or more of: Aves (Birds), Amphibia (Amphibians), Reptilia (Reptiles), Mammalia (Mammals), Actinopterygii (Ray-finned fishes), Mollusca (Molluscs), Arachnida (Arachnids), Insecta (Insects), Plantae (Plants), Fungi (Fungi and lichens), and 4 more.
Has photoshas_photostrue/false
Only observations that carry at least one photograph.
Wild onlywild_onlytrue/false
Exclude anything the community has marked captive or cultivated - zoo animals, garden plants, pets.
Threatened species onlythreatened_onlytrue/false
Only species with a conservation status that makes them threatened somewhere. Their coordinates are obscured, so expect 'location_is_obscured' to be true on most of what comes back.
Latitudelatitudenumber
Search around a point rather than inside a named place. Needs a longitude too.From -90 to 90.
Longitudelongitudenumber
The other half of the point to search around.From -180 to 180.
Radius (km)radius_kmnumber
How far around that point to search, in kilometres. Defaults to 10 when a latitude and longitude are given.From 0.1 to 2000.
Group byintervaltext
Which bucket to count into. Defaults to month of the year, which is the seasonality question.One of: month_of_year (Month of the year (seasonality)), week_of_year (Week of the year), hour (Hour of the day), day (Calendar day), week (Calendar week), month (Calendar month), year (Calendar year).
Date to usedate_fieldtext
Whether to bucket by when the organism was seen or by when the record was posted. Defaults to when it was seen.One of: observed (When the organism was seen), created (When the observation was posted).

Outputs

bucketslist
busiest_buckettext
countsobject
date_fieldtext
intervaltext
searched_observertext
searched_placeobject
searched_projectobject
searched_taxonobject
total_observationsnumber
Example output
{
  "buckets": [
    {
      "bucket": "9",
      "count": 1840
    },
    {
      "bucket": "10",
      "count": 4127
    },
    {
      "bucket": "11",
      "count": 2903
    }
  ],
  "busiest_bucket": "10",
  "counts": {
    "10": 4127,
    "11": 2903,
    "9": 1840
  },
  "date_field": "observed",
  "interval": "month_of_year",
  "searched_taxon": {
    "common_name": "Monarch",
    "endemic": false,
    "extinct": false,
    "group": "Insects",
    "iconic_taxon_name": "Insecta",
    "id": 48662,
    "introduced": false,
    "is_active": true,
    "name": "Danaus plexippus",
    "native": true,
    "observations_count": 412873,
    "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
    "rank": "species",
    "threatened": true,
    "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
    "url": "https://www.inaturalist.org/taxa/48662",
    "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
  },
  "total_observations": 8870
}

Comment on an observation

Leave a comment on a sighting, as the connected account. The observation can be anybody's. Needs an API token.

Inputs

ObservationobservationtextRequired
Which sighting. Its number (the 198765432 in inaturalist.org/observations/198765432), its whole address, or its UUID - all three work.
CommentbodytextRequired
What to say. iNaturalist renders Markdown.

Outputs

commentobject
Example output
{
  "comment": {
    "body": "Beautiful roost - how many were on this tree?",
    "created_at": "2025-09-15T06:41:09-07:00",
    "id": 7654321,
    "observation_uuid": "8f4d2c1e-5b6a-4f3d-9e2c-7a1b0c9d8e7f",
    "user": {
      "icon_url": "https://static.inaturalist.org/attachments/users/icons/1041/thumb.jpg",
      "id": 1041,
      "login": "kueda",
      "name": "Ken-ichi Ueda",
      "url": "https://www.inaturalist.org/people/kueda"
    },
    "uuid": "2b7c4d9a-1e3f-4a6b-8c5d-0f9e8d7c6b5a"
  }
}

Count species

Ask what lives somewhere. Takes the same filters as the observation search and answers with the species themselves, commonest first, each with how many times it has been seen under those filters. This is the step behind 'what is in this park', 'what did this bioblitz find' and 'what is flying this month'. No API token needed.

Inputs

Speciesspeciestext
Narrow to one kind of organism. Give a common name, a scientific name, a taxon id or an iNaturalist taxon URL; anything above species level includes everything below it, so 'Quercus' is every oak. The result says which taxon it settled on.
Placeplacetext
Narrow to a place iNaturalist knows: a country, a state, a county, a park. Give the name or a place id. Among places of the same name the largest wins, and the result says which one it used. For an arbitrary point use the latitude, longitude and radius fields instead.
Observed byobservertext
Narrow to one person's sightings, by their iNaturalist username or their profile URL.
Projectprojecttext
Narrow to the observations in one project. Give its title, the slug from its address or its id.
Text to matchquerytext
Free text matched against the observation's own words - its description, its tags and the name the observer typed. It does not search species names; use the Species field for that.
Observed on or afterobserved_afterdate
Only organisms seen on or after this date.
Observed on or beforeobserved_beforedate
Only organisms seen on or before this date.
Only what changed sinceupdated_sincedate and time
Only observations posted or edited since this moment. This is what makes a scheduled workflow report each sighting once: feed it the time of the last run and nothing already seen comes back.
Quality gradequality_gradetext
Which grades to include. Research grade is the one that has reached a community consensus and is exported to GBIF; casual covers captive, undated and unlocated records. Choose none to include them all.One or more of: research (Research grade: the community agrees on the identification), needs_id (Needs ID: identifiable, but not agreed on yet), casual (Casual: captive, undated or unlocated).
Kind of organismiconic_taxatext
Narrow to one or more of iNaturalist's top-level groups. This is the coarse filter - for anything finer use the Species field.One or more of: Aves (Birds), Amphibia (Amphibians), Reptilia (Reptiles), Mammalia (Mammals), Actinopterygii (Ray-finned fishes), Mollusca (Molluscs), Arachnida (Arachnids), Insecta (Insects), Plantae (Plants), Fungi (Fungi and lichens), and 4 more.
Has photoshas_photostrue/false
Only observations that carry at least one photograph.
Wild onlywild_onlytrue/false
Exclude anything the community has marked captive or cultivated - zoo animals, garden plants, pets.
Threatened species onlythreatened_onlytrue/false
Only species with a conservation status that makes them threatened somewhere. Their coordinates are obscured, so expect 'location_is_obscured' to be true on most of what comes back.
Latitudelatitudenumber
Search around a point rather than inside a named place. Needs a longitude too.From -90 to 90.
Longitudelongitudenumber
The other half of the point to search around.From -180 to 180.
Radius (km)radius_kmnumber
How far around that point to search, in kilometres. Defaults to 10 when a latitude and longitude are given.From 0.1 to 2000.
How manylimitnumber
How many species to return (1-200). Defaults to 30.From 1 to 200.
Pagepagenumber
Which page of species, starting at 1.At least 1.

Outputs

pagenumber
searched_nearobject
searched_observertext
searched_placeobject
searched_projectobject
searched_taxonobject
specieslist
species_countnumber
total_speciesnumber
Example output
{
  "page": 1,
  "searched_place": {
    "admin_level": 10,
    "display_name": "California, US",
    "id": 14,
    "latitude": 37.2455,
    "longitude": -119.6222,
    "name": "California",
    "place_type": 8,
    "url": "https://www.inaturalist.org/places/california"
  },
  "species": [
    {
      "common_name": "Monarch",
      "group": "Insects",
      "iconic_taxon_name": "Insecta",
      "id": 48662,
      "name": "Danaus plexippus",
      "observations_count": 412873,
      "observations_here": 1284,
      "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
      "rank": "species",
      "threatened": true,
      "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
      "url": "https://www.inaturalist.org/taxa/48662"
    }
  ],
  "species_count": 1,
  "total_species": 3184
}

Find places

Find the place iNaturalist means by a name, and the id its filters want. Places are ordered largest first, so a state comes before the parks inside it. Run it once to pin down the right boundary before building a search on it. No API token needed.

Inputs

Place namequerytextRequired
The place to look for.
How manylimitnumber
How many places to return (1-100). Defaults to 10.From 1 to 100.

Outputs

place_countnumber
placeslist
querytext
total_resultsnumber
Example output
{
  "place_count": 1,
  "places": [
    {
      "admin_level": 10,
      "display_name": "California, US",
      "id": 14,
      "latitude": 37.2455,
      "longitude": -119.6222,
      "name": "California",
      "place_type": 8,
      "url": "https://www.inaturalist.org/places/california"
    }
  ],
  "query": "California",
  "total_results": 1
}

Find projects

Find an iNaturalist project by title, by the place it covers or by kind. Projects are how bioblitzes, park surveys and research collections gather observations, and this is the step that turns a project's name into the id every other action here wants. No API token needed.

Inputs

Titlequerytext
Words from the project's title or its slug.
Placeplacetext
Only projects tied to this place. A name or a place id.
Project typeproject_typetext
Narrow to collection or umbrella projects. Leaving it empty also includes the older 'traditional' projects, which are the ones an observation can be added to by hand.One or more of: collection (Collection: gathers observations automatically from filters), umbrella (Umbrella: a project of other projects).
How manylimitnumber
How many projects to return (1-200). Defaults to 10.From 1 to 200.
Pagepagenumber
Which page of projects, starting at 1.At least 1.

Outputs

pagenumber
project_countnumber
projectslist
searched_placeobject
total_resultsnumber
Example output
{
  "page": 1,
  "project_count": 1,
  "projects": [
    {
      "banner_url": "https://inaturalist-open-data.s3.amazonaws.com/projects/24138-banner.jpg",
      "created_at": "2018-10-02T09:15:00-07:00",
      "description": "Overwintering monarch roosts along the Pacific coast.",
      "icon_url": "https://inaturalist-open-data.s3.amazonaws.com/projects/24138-icon.png",
      "id": 24138,
      "is_umbrella": false,
      "place_id": 14,
      "project_type": "collection",
      "slug": "western-monarch-count",
      "title": "Western Monarch Count",
      "url": "https://www.inaturalist.org/projects/western-monarch-count"
    }
  ],
  "total_results": 1
}

Find species

Look up a species by name - common or scientific - and get back the matches with their rank, their group, how often each has been observed and a photograph. This is the step that turns 'monarch' into a taxon id, and the one to run when a name might mean several things. No API token needed.

Inputs

NamequerytextRequired
The name to look up. A partial name works: iNaturalist matches the way its own search box does.
Rankranktext
Only taxa at these ranks. Leave it empty to search every rank, which is what the site's own search does.One or more of: species, subspecies, variety, hybrid, genus, family, order, class, phylum, kingdom.
How manylimitnumber
How many matches to return (1-100). Defaults to 10.From 1 to 100.

Outputs

querytext
taxalist
taxon_countnumber
total_resultsnumber
Example output
{
  "query": "monarch",
  "taxa": [
    {
      "common_name": "Monarch",
      "endemic": false,
      "extinct": false,
      "group": "Insects",
      "iconic_taxon_name": "Insecta",
      "id": 48662,
      "introduced": false,
      "is_active": true,
      "name": "Danaus plexippus",
      "native": true,
      "observations_count": 412873,
      "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
      "rank": "species",
      "threatened": true,
      "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
      "url": "https://www.inaturalist.org/taxa/48662",
      "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
    }
  ],
  "taxon_count": 1,
  "total_results": 1
}

Get a person

Look up somebody on iNaturalist by their username: when they joined, how many observations they have posted, how many species they have found and how many identifications they have given other people. Use it to weigh an identification before acting on it, or to report on a team. No API token needed.

Inputs

PersonpersontextRequired
An iNaturalist username, user id or profile URL.

Outputs

personobject
Example output
{
  "person": {
    "created_at": "2008-03-20T13:32:00-07:00",
    "icon_url": "https://static.inaturalist.org/attachments/users/icons/1041/thumb.jpg",
    "id": 1041,
    "identifications_count": 121904,
    "journal_posts_count": 84,
    "login": "kueda",
    "name": "Ken-ichi Ueda",
    "observations_count": 38412,
    "orcid": null,
    "roles": [
      "curator"
    ],
    "species_count": 9123,
    "url": "https://www.inaturalist.org/people/kueda"
  }
}

Get a project

Read one project: what it collects, what kind it is, the place it covers, and how many observations and species it has gathered so far. Takes the slug from its address, its title or its id. Use it for a weekly progress post about a bioblitz. No API token needed.

Inputs

ProjectprojecttextRequired
The project's slug, title, id or iNaturalist URL. The slug is the last part of its address.

Outputs

projectobject
Example output
{
  "project": {
    "banner_url": "https://inaturalist-open-data.s3.amazonaws.com/projects/24138-banner.jpg",
    "created_at": "2018-10-02T09:15:00-07:00",
    "description": "Overwintering monarch roosts along the Pacific coast.",
    "icon_url": "https://inaturalist-open-data.s3.amazonaws.com/projects/24138-icon.png",
    "id": 24138,
    "is_umbrella": false,
    "observations_count": 18422,
    "place_id": 14,
    "project_type": "collection",
    "slug": "western-monarch-count",
    "species_count": 1,
    "title": "Western Monarch Count",
    "url": "https://www.inaturalist.org/projects/western-monarch-count"
  }
}

Get a species

Read one species in full: its rank and its place in the tree from kingdom down, whether it is native, introduced, endemic or extinct where it lives, its conservation status and the authority that assigned it, a Wikipedia summary and a photo. Takes a name, a taxon id or a taxon URL. No API token needed.

Inputs

SpeciesspeciestextRequired
The organism to look up: a common name, a scientific name, a taxon id or an iNaturalist taxon URL.

Outputs

taxonobject
Example output
{
  "taxon": {
    "ancestors": [],
    "common_name": "Monarch",
    "conservation_status": {
      "authority": "IUCN Red List",
      "iucn_status": "vulnerable",
      "status": "VU",
      "status_name": "vulnerable",
      "url": "https://www.iucnredlist.org/species/159971/219149911"
    },
    "endemic": false,
    "extinct": false,
    "group": "Insects",
    "iconic_taxon_name": "Insecta",
    "id": 48662,
    "introduced": false,
    "is_active": true,
    "name": "Danaus plexippus",
    "native": true,
    "observations_count": 412873,
    "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
    "rank": "species",
    "species_count": null,
    "threatened": true,
    "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
    "url": "https://www.inaturalist.org/taxa/48662",
    "wikipedia_summary": "The monarch butterfly is a milkweed butterfly in the family Nymphalidae.",
    "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
  }
}

Get an observation

Read one sighting in full, with its photographs, its discussion and every identification anybody has suggested. Takes the observation's number, its address or its UUID. Use it after a search when the listing is not enough - to read the comments before replying, or to see who disagreed and why. No API token needed.

Inputs

ObservationobservationtextRequired
Which sighting. Its number (the 198765432 in inaturalist.org/observations/198765432), its whole address, or its UUID - all three work.

Outputs

observationobject
Example output
{
  "observation": {
    "agreements_count": 2,
    "captive_or_cultivated": false,
    "comments": [
      {
        "body": "Beautiful roost - how many were on this tree?",
        "created_at": "2025-09-15T06:41:09-07:00",
        "id": 7654321,
        "observation_uuid": "8f4d2c1e-5b6a-4f3d-9e2c-7a1b0c9d8e7f",
        "user": {
          "icon_url": "https://static.inaturalist.org/attachments/users/icons/1041/thumb.jpg",
          "id": 1041,
          "login": "kueda",
          "name": "Ken-ichi Ueda",
          "url": "https://www.inaturalist.org/people/kueda"
        },
        "uuid": "2b7c4d9a-1e3f-4a6b-8c5d-0f9e8d7c6b5a"
      }
    ],
    "comments_count": 1,
    "common_name": "Monarch",
    "coordinate_accuracy_meters": 12,
    "created_at": "2025-09-14T19:04:11-07:00",
    "description": "Roosting in the eucalyptus at the sanctuary.",
    "disagreements_count": 0,
    "faves_count": 2,
    "id": 198765432,
    "identifications": [
      {
        "body": "Forewing pattern is diagnostic.",
        "category": "improving",
        "created_at": "2025-09-15T07:15:22-07:00",
        "disagreement": false,
        "from_computer_vision": false,
        "id": 3456789,
        "is_current": true,
        "observation_uuid": "8f4d2c1e-5b6a-4f3d-9e2c-7a1b0c9d8e7f",
        "taxon": {
          "common_name": "Monarch",
          "endemic": false,
          "extinct": false,
          "group": "Insects",
          "iconic_taxon_name": "Insecta",
          "id": 48662,
          "introduced": false,
          "is_active": true,
          "name": "Danaus plexippus",
          "native": true,
          "observations_count": 412873,
          "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
          "rank": "species",
          "threatened": true,
          "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
          "url": "https://www.inaturalist.org/taxa/48662",
          "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
        },
        "user": {
          "icon_url": "https://static.inaturalist.org/attachments/users/icons/1041/thumb.jpg",
          "id": 1041,
          "login": "kueda",
          "name": "Ken-ichi Ueda",
          "url": "https://www.inaturalist.org/people/kueda"
        },
        "uuid": "5c9e1a7b-3d2f-4e8a-9b6c-1d0f2e3a4b5c"
      }
    ],
    "identifications_count": 3,
    "is_research_grade": true,
    "latitude": 36.6177,
    "license_code": "cc-by-nc",
    "location_is_obscured": false,
    "longitude": -121.9166,
    "observed_at": "2025-09-14T11:32:00-07:00",
    "observed_on": "2025-09-14",
    "observer": {
      "icon_url": "https://static.inaturalist.org/attachments/users/icons/1041/thumb.jpg",
      "id": 1041,
      "login": "kueda",
      "name": "Ken-ichi Ueda",
      "url": "https://www.inaturalist.org/people/kueda"
    },
    "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/medium.jpeg",
    "photos": [
      {
        "attribution": "(c) Jane Doe, some rights reserved (CC BY-NC)",
        "id": 98765432,
        "large_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/large.jpeg",
        "license_code": "cc-by-nc",
        "medium_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/medium.jpeg",
        "original_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/original.jpeg",
        "small_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/small.jpeg",
        "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/square.jpeg",
        "url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/medium.jpeg"
      }
    ],
    "place_guess": "Pacific Grove, CA, USA",
    "quality_grade": "research",
    "quality_grade_description": "Research grade: the community agrees on the identification",
    "sounds": [],
    "species_guess": "Monarch butterfly",
    "species_name": "Danaus plexippus",
    "tags": [
      "overwintering"
    ],
    "taxon": {
      "common_name": "Monarch",
      "endemic": false,
      "extinct": false,
      "group": "Insects",
      "iconic_taxon_name": "Insecta",
      "id": 48662,
      "introduced": false,
      "is_active": true,
      "name": "Danaus plexippus",
      "native": true,
      "observations_count": 412873,
      "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
      "rank": "species",
      "threatened": true,
      "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
      "url": "https://www.inaturalist.org/taxa/48662",
      "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
    },
    "updated_at": "2025-09-15T08:12:44-07:00",
    "url": "https://www.inaturalist.org/observations/198765432",
    "uuid": "8f4d2c1e-5b6a-4f3d-9e2c-7a1b0c9d8e7f"
  }
}

Get my profile

Read the account this connection is signed in as, with its observation, species and identification totals. Needs an API token, and is the cheapest way to check that one works.

Inputs

None.

Outputs

personobject
Example output
{
  "person": {
    "created_at": "2008-03-20T13:32:00-07:00",
    "icon_url": "https://static.inaturalist.org/attachments/users/icons/1041/thumb.jpg",
    "id": 1041,
    "identifications_count": 121904,
    "journal_posts_count": 84,
    "login": "kueda",
    "name": "Ken-ichi Ueda",
    "observations_count": 38412,
    "orcid": null,
    "roles": [
      "curator"
    ],
    "species_count": 9123,
    "url": "https://www.inaturalist.org/people/kueda"
  }
}

Get top identifiers

Who has identified the most sightings matching these filters. Identifiers are the people who turn a photograph into a record, so this is how to find the specialists in a group or a region, and who to thank after a bioblitz. No API token needed.

Inputs

Speciesspeciestext
Narrow to one kind of organism. Give a common name, a scientific name, a taxon id or an iNaturalist taxon URL; anything above species level includes everything below it, so 'Quercus' is every oak. The result says which taxon it settled on.
Placeplacetext
Narrow to a place iNaturalist knows: a country, a state, a county, a park. Give the name or a place id. Among places of the same name the largest wins, and the result says which one it used. For an arbitrary point use the latitude, longitude and radius fields instead.
Projectprojecttext
Narrow to the observations in one project. Give its title, the slug from its address or its id.
Text to matchquerytext
Free text matched against the observation's own words - its description, its tags and the name the observer typed. It does not search species names; use the Species field for that.
Observed on or afterobserved_afterdate
Only organisms seen on or after this date.
Observed on or beforeobserved_beforedate
Only organisms seen on or before this date.
Quality gradequality_gradetext
Which grades to include. Research grade is the one that has reached a community consensus and is exported to GBIF; casual covers captive, undated and unlocated records. Choose none to include them all.One or more of: research (Research grade: the community agrees on the identification), needs_id (Needs ID: identifiable, but not agreed on yet), casual (Casual: captive, undated or unlocated).
Kind of organismiconic_taxatext
Narrow to one or more of iNaturalist's top-level groups. This is the coarse filter - for anything finer use the Species field.One or more of: Aves (Birds), Amphibia (Amphibians), Reptilia (Reptiles), Mammalia (Mammals), Actinopterygii (Ray-finned fishes), Mollusca (Molluscs), Arachnida (Arachnids), Insecta (Insects), Plantae (Plants), Fungi (Fungi and lichens), and 4 more.
Wild onlywild_onlytrue/false
Exclude anything the community has marked captive or cultivated - zoo animals, garden plants, pets.
Latitudelatitudenumber
Search around a point rather than inside a named place. Needs a longitude too.From -90 to 90.
Longitudelongitudenumber
The other half of the point to search around.From -180 to 180.
Radius (km)radius_kmnumber
How far around that point to search, in kilometres. Defaults to 10 when a latitude and longitude are given.From 0.1 to 2000.
How manylimitnumber
How many people to return (1-200). Defaults to 10.From 1 to 200.

Outputs

identifier_countnumber
identifierslist
searched_placeobject
searched_projectobject
searched_taxonobject
total_resultsnumber
Example output
{
  "identifier_count": 1,
  "identifiers": [
    {
      "icon_url": "https://static.inaturalist.org/attachments/users/icons/1041/thumb.jpg",
      "id": 1041,
      "identifications_count": 2841,
      "login": "kueda",
      "name": "Ken-ichi Ueda",
      "url": "https://www.inaturalist.org/people/kueda"
    }
  ],
  "searched_taxon": {
    "common_name": "Monarch",
    "endemic": false,
    "extinct": false,
    "group": "Insects",
    "iconic_taxon_name": "Insecta",
    "id": 48662,
    "introduced": false,
    "is_active": true,
    "name": "Danaus plexippus",
    "native": true,
    "observations_count": 412873,
    "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
    "rank": "species",
    "threatened": true,
    "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
    "url": "https://www.inaturalist.org/taxa/48662",
    "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
  },
  "total_results": 4120
}

Get top observers

Who has reported the most sightings matching these filters, ranked by observations or by how many different species they found. This is the leaderboard step for a bioblitz, a park or a project. No API token needed.

Inputs

Speciesspeciestext
Narrow to one kind of organism. Give a common name, a scientific name, a taxon id or an iNaturalist taxon URL; anything above species level includes everything below it, so 'Quercus' is every oak. The result says which taxon it settled on.
Placeplacetext
Narrow to a place iNaturalist knows: a country, a state, a county, a park. Give the name or a place id. Among places of the same name the largest wins, and the result says which one it used. For an arbitrary point use the latitude, longitude and radius fields instead.
Projectprojecttext
Narrow to the observations in one project. Give its title, the slug from its address or its id.
Text to matchquerytext
Free text matched against the observation's own words - its description, its tags and the name the observer typed. It does not search species names; use the Species field for that.
Observed on or afterobserved_afterdate
Only organisms seen on or after this date.
Observed on or beforeobserved_beforedate
Only organisms seen on or before this date.
Quality gradequality_gradetext
Which grades to include. Research grade is the one that has reached a community consensus and is exported to GBIF; casual covers captive, undated and unlocated records. Choose none to include them all.One or more of: research (Research grade: the community agrees on the identification), needs_id (Needs ID: identifiable, but not agreed on yet), casual (Casual: captive, undated or unlocated).
Kind of organismiconic_taxatext
Narrow to one or more of iNaturalist's top-level groups. This is the coarse filter - for anything finer use the Species field.One or more of: Aves (Birds), Amphibia (Amphibians), Reptilia (Reptiles), Mammalia (Mammals), Actinopterygii (Ray-finned fishes), Mollusca (Molluscs), Arachnida (Arachnids), Insecta (Insects), Plantae (Plants), Fungi (Fungi and lichens), and 4 more.
Wild onlywild_onlytrue/false
Exclude anything the community has marked captive or cultivated - zoo animals, garden plants, pets.
Latitudelatitudenumber
Search around a point rather than inside a named place. Needs a longitude too.From -90 to 90.
Longitudelongitudenumber
The other half of the point to search around.From -180 to 180.
Radius (km)radius_kmnumber
How far around that point to search, in kilometres. Defaults to 10 when a latitude and longitude are given.From 0.1 to 2000.
Rank byrank_bytext
Whether the leaderboard counts observations or distinct species. Defaults to observations.One of: observation_count (Most observations), species_count (Most species).
How manylimitnumber
How many people to return (1-200). Defaults to 10.From 1 to 200.

Outputs

observer_countnumber
observerslist
ranked_bytext
searched_placeobject
searched_projectobject
searched_taxonobject
total_resultsnumber
Example output
{
  "observer_count": 1,
  "observers": [
    {
      "icon_url": "https://static.inaturalist.org/attachments/users/icons/1041/thumb.jpg",
      "id": 1041,
      "login": "kueda",
      "name": "Ken-ichi Ueda",
      "observations_count": 412,
      "species_count": 188,
      "url": "https://www.inaturalist.org/people/kueda"
    }
  ],
  "ranked_by": "observation_count",
  "searched_place": {
    "admin_level": 10,
    "display_name": "California, US",
    "id": 14,
    "latitude": 37.2455,
    "longitude": -119.6222,
    "name": "California",
    "place_type": 8,
    "url": "https://www.inaturalist.org/places/california"
  },
  "total_results": 9417
}

Identify an observation

Suggest an identification on a sighting, as the connected account. Identifications are how iNaturalist reaches a community consensus, so this is the step that helps something become research grade. Needs an API token.

Inputs

ObservationobservationtextRequired
Which sighting. Its number (the 198765432 in inaturalist.org/observations/198765432), its whole address, or its UUID - all three work.
SpeciesspeciestextRequired
What you think it is: a common name, a scientific name or a taxon id. Anything above species level is allowed - 'Quercus' is a legitimate identification when the oak cannot be told apart.
Notebodytext
Why you think so. Worth filling in whenever the identification is not obvious.
Disagree with the current IDdisagreetrue/false
Turn this on to say the organism is definitely not the finer identification already on the record. It changes how the community identification is worked out, so leave it off unless you mean it.

Outputs

identificationobject
identified_asobject
Example output
{
  "identification": {
    "body": "Forewing pattern is diagnostic.",
    "category": "improving",
    "created_at": "2025-09-15T07:15:22-07:00",
    "disagreement": false,
    "from_computer_vision": false,
    "id": 3456789,
    "is_current": true,
    "observation_uuid": "8f4d2c1e-5b6a-4f3d-9e2c-7a1b0c9d8e7f",
    "taxon": {
      "common_name": "Monarch",
      "endemic": false,
      "extinct": false,
      "group": "Insects",
      "iconic_taxon_name": "Insecta",
      "id": 48662,
      "introduced": false,
      "is_active": true,
      "name": "Danaus plexippus",
      "native": true,
      "observations_count": 412873,
      "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
      "rank": "species",
      "threatened": true,
      "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
      "url": "https://www.inaturalist.org/taxa/48662",
      "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
    },
    "user": {
      "icon_url": "https://static.inaturalist.org/attachments/users/icons/1041/thumb.jpg",
      "id": 1041,
      "login": "kueda",
      "name": "Ken-ichi Ueda",
      "url": "https://www.inaturalist.org/people/kueda"
    },
    "uuid": "5c9e1a7b-3d2f-4e8a-9b6c-1d0f2e3a4b5c"
  },
  "identified_as": {
    "common_name": "Monarch",
    "endemic": false,
    "extinct": false,
    "group": "Insects",
    "iconic_taxon_name": "Insecta",
    "id": 48662,
    "introduced": false,
    "is_active": true,
    "name": "Danaus plexippus",
    "native": true,
    "observations_count": 412873,
    "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
    "rank": "species",
    "threatened": true,
    "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
    "url": "https://www.inaturalist.org/taxa/48662",
    "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
  }
}

Identify from a photo

Ask iNaturalist's computer-vision model what is in a photograph - the same model behind the app's suggestions - and get back its candidates with a score, plus the group they all share when it will not commit to a species. Where and when the photo was taken narrow it considerably, because the same silhouette is a different animal on two continents. Needs an API token.

Inputs

Photo URLimage_urltextRequired
A public web address of the photograph. iNaturalist fetches it, so it has to be reachable without a login.
Latitudelatitudenumber
Where the photo was taken. Narrows the suggestions to what actually occurs there. Needs a longitude too.From -90 to 90.
Longitudelongitudenumber
The other half of where the photo was taken.From -180 to 180.
Observed onobserved_ondate
When the photo was taken. Narrows the suggestions to what is about at that time of year.
How manylimitnumber
How many suggestions to return (1-100). Defaults to 10.From 1 to 100.

Outputs

best_guessobject
common_ancestorobject
image_urltext
suggestion_countnumber
suggestionslist
Example output
{
  "best_guess": {
    "common_name": "Monarch",
    "group": "Insects",
    "iconic_taxon_name": "Insecta",
    "id": 48662,
    "name": "Danaus plexippus",
    "observations_count": 412873,
    "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
    "rank": "species",
    "score": 0.9712,
    "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
    "url": "https://www.inaturalist.org/taxa/48662"
  },
  "common_ancestor": {
    "common_name": "Monarch",
    "endemic": false,
    "extinct": false,
    "group": "Insects",
    "iconic_taxon_name": "Insecta",
    "id": 48662,
    "introduced": false,
    "is_active": true,
    "name": "Danaus plexippus",
    "native": true,
    "observations_count": 412873,
    "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
    "rank": "species",
    "threatened": true,
    "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
    "url": "https://www.inaturalist.org/taxa/48662",
    "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
  },
  "image_url": "https://example.com/photos/butterfly.jpg",
  "suggestion_count": 1,
  "suggestions": [
    {
      "common_name": "Monarch",
      "group": "Insects",
      "iconic_taxon_name": "Insecta",
      "id": 48662,
      "name": "Danaus plexippus",
      "observations_count": 412873,
      "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
      "rank": "species",
      "score": 0.9712,
      "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
      "url": "https://www.inaturalist.org/taxa/48662"
    }
  ]
}

List my notifications

The comments and identifications other people have left on your observations, newest first, each with a link back to the observation. Set 'Only unread' and run it on a schedule to be told when somebody identifies something of yours. Needs an API token.

Inputs

Only what is newer thancreated_afterdate and time
Only activity since this moment. Feed it the time of the last run and nothing is reported twice.
Only unreadunviewed_onlytrue/false
Only the notifications you have not opened on iNaturalist yet.
Whose observationsscopetext
Whether to report activity on your own observations or on the ones you follow. Leave it empty for both.One of: owner (My own observations), following (Observations I follow).
How manylimitnumber
How many to return (1-200). Defaults to 30.From 1 to 200.
Pagepagenumber
Which page of notifications, starting at 1.At least 1.

Outputs

pagenumber
total_resultsnumber
update_countnumber
updateslist
Example output
{
  "page": 1,
  "total_results": 1,
  "update_count": 1,
  "updates": [
    {
      "created_at": "2025-09-15T07:15:22-07:00",
      "id": 55120394,
      "is_read": false,
      "kind": "identification",
      "notification": "activity",
      "observation_id": 198765432,
      "observation_url": "https://www.inaturalist.org/observations/198765432",
      "observation_uuid": "8f4d2c1e-5b6a-4f3d-9e2c-7a1b0c9d8e7f"
    }
  ]
}

Record an observation

Post a sighting to the connected account: what it was, when and where it was seen, a note and tags. The observation is created without photographs - add those on iNaturalist afterwards - so it will sit at casual grade until it has evidence and a community identification. Needs an API token.

Inputs

Speciesspeciestext
What was seen: a common name, a scientific name or a taxon id. Leave it empty to post an unidentified observation for the community to identify.
When it was seenobserved_ontext
The date, and the time of day if you have it. iNaturalist reads this in the account's own time zone, so '2025-09-14 08:30' keeps the morning.
Latitudelatitudenumber
Where it was seen. Needs a longitude too.From -90 to 90.
Longitudelongitudenumber
The other half of where it was seen.From -180 to 180.
Place nameplace_guesstext
What to call the place in words, for people reading the observation.
Notesdescriptiontext
Anything worth saying about the sighting.
Tagstagslist
Tags to file it under, as a list or separated by commas.
Captive or cultivatedcaptivetrue/false
Turn this on for a zoo animal, a garden plant or a pet. iNaturalist keeps those as casual records rather than treating them as wild occurrences.
Location accuracy (metres)accuracy_metersnumber
How precise the coordinates are. A GPS fix is a few metres; a guess off a map may be hundreds.At least 0.
Add to projectprojecttext
A project to file the observation into as it is created. Its slug, title or id.

Outputs

added_to_projectobject
observationobject
recorded_taxonobject
Example output
{
  "observation": {
    "agreements_count": 2,
    "captive_or_cultivated": false,
    "comments_count": 1,
    "common_name": "Monarch",
    "coordinate_accuracy_meters": 12,
    "created_at": "2025-09-14T19:04:11-07:00",
    "description": "Roosting in the eucalyptus at the sanctuary.",
    "disagreements_count": 0,
    "faves_count": 2,
    "id": 198765432,
    "identifications_count": 3,
    "is_research_grade": true,
    "latitude": 36.6177,
    "license_code": "cc-by-nc",
    "location_is_obscured": false,
    "longitude": -121.9166,
    "observed_at": "2025-09-14T11:32:00-07:00",
    "observed_on": "2025-09-14",
    "observer": {
      "icon_url": "https://static.inaturalist.org/attachments/users/icons/1041/thumb.jpg",
      "id": 1041,
      "login": "kueda",
      "name": "Ken-ichi Ueda",
      "url": "https://www.inaturalist.org/people/kueda"
    },
    "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/medium.jpeg",
    "photos": [
      {
        "attribution": "(c) Jane Doe, some rights reserved (CC BY-NC)",
        "id": 98765432,
        "large_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/large.jpeg",
        "license_code": "cc-by-nc",
        "medium_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/medium.jpeg",
        "original_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/original.jpeg",
        "small_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/small.jpeg",
        "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/square.jpeg",
        "url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/medium.jpeg"
      }
    ],
    "place_guess": "Pacific Grove, CA, USA",
    "quality_grade": "research",
    "quality_grade_description": "Research grade: the community agrees on the identification",
    "sounds": [],
    "species_guess": "Monarch butterfly",
    "species_name": "Danaus plexippus",
    "tags": [
      "overwintering"
    ],
    "taxon": {
      "common_name": "Monarch",
      "endemic": false,
      "extinct": false,
      "group": "Insects",
      "iconic_taxon_name": "Insecta",
      "id": 48662,
      "introduced": false,
      "is_active": true,
      "name": "Danaus plexippus",
      "native": true,
      "observations_count": 412873,
      "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
      "rank": "species",
      "threatened": true,
      "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
      "url": "https://www.inaturalist.org/taxa/48662",
      "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
    },
    "updated_at": "2025-09-15T08:12:44-07:00",
    "url": "https://www.inaturalist.org/observations/198765432",
    "uuid": "8f4d2c1e-5b6a-4f3d-9e2c-7a1b0c9d8e7f"
  },
  "recorded_taxon": {
    "common_name": "Monarch",
    "endemic": false,
    "extinct": false,
    "group": "Insects",
    "iconic_taxon_name": "Insecta",
    "id": 48662,
    "introduced": false,
    "is_active": true,
    "name": "Danaus plexippus",
    "native": true,
    "observations_count": 412873,
    "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
    "rank": "species",
    "threatened": true,
    "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
    "url": "https://www.inaturalist.org/taxa/48662",
    "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
  }
}

Search everything

One search across species, places, projects and people at once, the way the site's own search box works. Use it when you do not know which kind of thing a name belongs to - 'Yosemite' is a place and a project and part of several species names. Each match says what kind it is. No API token needed.

Inputs

Search forquerytextRequired
The words to search on.
Search insourcestext
Which kinds of record to look through. Choose none to search all four.One or more of: taxa (Species and other taxa), places, projects, users (People).
How manylimitnumber
How many matches to return (1-100). Defaults to 10.From 1 to 100.

Outputs

match_countnumber
matcheslist
querytext
total_resultsnumber
Example output
{
  "match_count": 1,
  "matches": [
    {
      "name": "Danaus plexippus",
      "record": {
        "common_name": "Monarch",
        "endemic": false,
        "extinct": false,
        "group": "Insects",
        "iconic_taxon_name": "Insecta",
        "id": 48662,
        "introduced": false,
        "is_active": true,
        "name": "Danaus plexippus",
        "native": true,
        "observations_count": 412873,
        "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
        "rank": "species",
        "threatened": true,
        "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
        "url": "https://www.inaturalist.org/taxa/48662",
        "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
      },
      "score": 24.3,
      "type": "Taxon"
    }
  ],
  "query": "monarch",
  "total_results": 7
}

Search observations

Search iNaturalist's wildlife sightings. Filter by species, place, observer, project, date, quality grade or a point and a radius, and get back each sighting with its species, its date, where it was seen, who saw it, its photographs and a link to it. Set 'Only what changed since' to the last run and a scheduled workflow never reports the same sighting twice. No API token needed.

Inputs

Speciesspeciestext
Narrow to one kind of organism. Give a common name, a scientific name, a taxon id or an iNaturalist taxon URL; anything above species level includes everything below it, so 'Quercus' is every oak. The result says which taxon it settled on.
Placeplacetext
Narrow to a place iNaturalist knows: a country, a state, a county, a park. Give the name or a place id. Among places of the same name the largest wins, and the result says which one it used. For an arbitrary point use the latitude, longitude and radius fields instead.
Observed byobservertext
Narrow to one person's sightings, by their iNaturalist username or their profile URL.
Projectprojecttext
Narrow to the observations in one project. Give its title, the slug from its address or its id.
Text to matchquerytext
Free text matched against the observation's own words - its description, its tags and the name the observer typed. It does not search species names; use the Species field for that.
Observed on or afterobserved_afterdate
Only organisms seen on or after this date.
Observed on or beforeobserved_beforedate
Only organisms seen on or before this date.
Only what changed sinceupdated_sincedate and time
Only observations posted or edited since this moment. This is what makes a scheduled workflow report each sighting once: feed it the time of the last run and nothing already seen comes back.
Quality gradequality_gradetext
Which grades to include. Research grade is the one that has reached a community consensus and is exported to GBIF; casual covers captive, undated and unlocated records. Choose none to include them all.One or more of: research (Research grade: the community agrees on the identification), needs_id (Needs ID: identifiable, but not agreed on yet), casual (Casual: captive, undated or unlocated).
Kind of organismiconic_taxatext
Narrow to one or more of iNaturalist's top-level groups. This is the coarse filter - for anything finer use the Species field.One or more of: Aves (Birds), Amphibia (Amphibians), Reptilia (Reptiles), Mammalia (Mammals), Actinopterygii (Ray-finned fishes), Mollusca (Molluscs), Arachnida (Arachnids), Insecta (Insects), Plantae (Plants), Fungi (Fungi and lichens), and 4 more.
Has photoshas_photostrue/false
Only observations that carry at least one photograph.
Wild onlywild_onlytrue/false
Exclude anything the community has marked captive or cultivated - zoo animals, garden plants, pets.
Threatened species onlythreatened_onlytrue/false
Only species with a conservation status that makes them threatened somewhere. Their coordinates are obscured, so expect 'location_is_obscured' to be true on most of what comes back.
Latitudelatitudenumber
Search around a point rather than inside a named place. Needs a longitude too.From -90 to 90.
Longitudelongitudenumber
The other half of the point to search around.From -180 to 180.
Radius (km)radius_kmnumber
How far around that point to search, in kilometres. Defaults to 10 when a latitude and longitude are given.From 0.1 to 2000.
Sort bysort_bytext
What to order the results on.One of: created_at (When it was posted (the default)), observed_on (When it was seen), updated_at (When it last changed), votes (How many faves it has), id (Observation number), random.
Sort ordersort_ordertext
Which end of that order to start from.One of: desc (Newest or highest first), asc (Oldest or lowest first).
How manylimitnumber
How many observations to return (1-200). Defaults to 30.From 1 to 200.
Pagepagenumber
Which page of results, starting at 1. iNaturalist cannot page past 10,000 results; beyond that, narrow the search or step through it with 'Only what changed since'.At least 1.

Outputs

observation_countnumber
observationslist
pagenumber
searched_nearobject
searched_observertext
searched_placeobject
searched_projectobject
searched_taxonobject
total_resultsnumber
Example output
{
  "observation_count": 1,
  "observations": [
    {
      "agreements_count": 2,
      "captive_or_cultivated": false,
      "comments_count": 1,
      "common_name": "Monarch",
      "coordinate_accuracy_meters": 12,
      "created_at": "2025-09-14T19:04:11-07:00",
      "description": "Roosting in the eucalyptus at the sanctuary.",
      "disagreements_count": 0,
      "faves_count": 2,
      "id": 198765432,
      "identifications_count": 3,
      "is_research_grade": true,
      "latitude": 36.6177,
      "license_code": "cc-by-nc",
      "location_is_obscured": false,
      "longitude": -121.9166,
      "observed_at": "2025-09-14T11:32:00-07:00",
      "observed_on": "2025-09-14",
      "observer": {
        "icon_url": "https://static.inaturalist.org/attachments/users/icons/1041/thumb.jpg",
        "id": 1041,
        "login": "kueda",
        "name": "Ken-ichi Ueda",
        "url": "https://www.inaturalist.org/people/kueda"
      },
      "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/medium.jpeg",
      "photos": [
        {
          "attribution": "(c) Jane Doe, some rights reserved (CC BY-NC)",
          "id": 98765432,
          "large_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/large.jpeg",
          "license_code": "cc-by-nc",
          "medium_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/medium.jpeg",
          "original_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/original.jpeg",
          "small_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/small.jpeg",
          "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/square.jpeg",
          "url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/medium.jpeg"
        }
      ],
      "place_guess": "Pacific Grove, CA, USA",
      "quality_grade": "research",
      "quality_grade_description": "Research grade: the community agrees on the identification",
      "sounds": [],
      "species_guess": "Monarch butterfly",
      "species_name": "Danaus plexippus",
      "tags": [
        "overwintering"
      ],
      "taxon": {
        "common_name": "Monarch",
        "endemic": false,
        "extinct": false,
        "group": "Insects",
        "iconic_taxon_name": "Insecta",
        "id": 48662,
        "introduced": false,
        "is_active": true,
        "name": "Danaus plexippus",
        "native": true,
        "observations_count": 412873,
        "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
        "rank": "species",
        "threatened": true,
        "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
        "url": "https://www.inaturalist.org/taxa/48662",
        "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
      },
      "updated_at": "2025-09-15T08:12:44-07:00",
      "url": "https://www.inaturalist.org/observations/198765432",
      "uuid": "8f4d2c1e-5b6a-4f3d-9e2c-7a1b0c9d8e7f"
    }
  ],
  "page": 1,
  "searched_place": {
    "admin_level": 10,
    "display_name": "California, US",
    "id": 14,
    "latitude": 37.2455,
    "longitude": -119.6222,
    "name": "California",
    "place_type": 8,
    "url": "https://www.inaturalist.org/places/california"
  },
  "searched_taxon": {
    "common_name": "Monarch",
    "endemic": false,
    "extinct": false,
    "group": "Insects",
    "iconic_taxon_name": "Insecta",
    "id": 48662,
    "introduced": false,
    "is_active": true,
    "name": "Danaus plexippus",
    "native": true,
    "observations_count": 412873,
    "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
    "rank": "species",
    "threatened": true,
    "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
    "url": "https://www.inaturalist.org/taxa/48662",
    "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
  },
  "total_results": 412873
}

Update an observation

Change one of your own sightings: correct the species, fix the date or the coordinates, add notes or tags, or mark it captive. Only the fields you fill in are changed, and the observation's photographs are always left alone. Needs an API token, and only works on observations the connected account owns.

Inputs

ObservationobservationtextRequired
Which sighting. Its number (the 198765432 in inaturalist.org/observations/198765432), its whole address, or its UUID - all three work.
Speciesspeciestext
A corrected identification: a common name, a scientific name or a taxon id.
When it was seenobserved_ontext
A corrected date, and time of day if you have it.
Latitudelatitudenumber
A corrected latitude. Needs a longitude too.From -90 to 90.
Longitudelongitudenumber
A corrected longitude.From -180 to 180.
Place nameplace_guesstext
A corrected name for the place, in words.
Notesdescriptiontext
Replacement notes for the observation.
Tagstagslist
Replacement tags, as a list or separated by commas.
Captive or cultivatedcaptivetrue/false
Whether the organism was captive or cultivated rather than wild.

Outputs

new_taxonobject
observationobject
Example output
{
  "observation": {
    "agreements_count": 2,
    "captive_or_cultivated": false,
    "comments_count": 1,
    "common_name": "Monarch",
    "coordinate_accuracy_meters": 12,
    "created_at": "2025-09-14T19:04:11-07:00",
    "description": "Roosting in the eucalyptus at the sanctuary.",
    "disagreements_count": 0,
    "faves_count": 2,
    "id": 198765432,
    "identifications_count": 3,
    "is_research_grade": true,
    "latitude": 36.6177,
    "license_code": "cc-by-nc",
    "location_is_obscured": false,
    "longitude": -121.9166,
    "observed_at": "2025-09-14T11:32:00-07:00",
    "observed_on": "2025-09-14",
    "observer": {
      "icon_url": "https://static.inaturalist.org/attachments/users/icons/1041/thumb.jpg",
      "id": 1041,
      "login": "kueda",
      "name": "Ken-ichi Ueda",
      "url": "https://www.inaturalist.org/people/kueda"
    },
    "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/medium.jpeg",
    "photos": [
      {
        "attribution": "(c) Jane Doe, some rights reserved (CC BY-NC)",
        "id": 98765432,
        "large_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/large.jpeg",
        "license_code": "cc-by-nc",
        "medium_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/medium.jpeg",
        "original_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/original.jpeg",
        "small_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/small.jpeg",
        "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/square.jpeg",
        "url": "https://inaturalist-open-data.s3.amazonaws.com/photos/98765432/medium.jpeg"
      }
    ],
    "place_guess": "Pacific Grove, CA, USA",
    "quality_grade": "research",
    "quality_grade_description": "Research grade: the community agrees on the identification",
    "sounds": [],
    "species_guess": "Monarch butterfly",
    "species_name": "Danaus plexippus",
    "tags": [
      "overwintering"
    ],
    "taxon": {
      "common_name": "Monarch",
      "endemic": false,
      "extinct": false,
      "group": "Insects",
      "iconic_taxon_name": "Insecta",
      "id": 48662,
      "introduced": false,
      "is_active": true,
      "name": "Danaus plexippus",
      "native": true,
      "observations_count": 412873,
      "photo_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/medium.jpg",
      "rank": "species",
      "threatened": true,
      "thumbnail_url": "https://inaturalist-open-data.s3.amazonaws.com/photos/1234/square.jpg",
      "url": "https://www.inaturalist.org/taxa/48662",
      "wikipedia_url": "http://en.wikipedia.org/wiki/Monarch_butterfly"
    },
    "updated_at": "2025-09-15T08:12:44-07:00",
    "url": "https://www.inaturalist.org/observations/198765432",
    "uuid": "8f4d2c1e-5b6a-4f3d-9e2c-7a1b0c9d8e7f"
  }
}

On this page