iNaturalist · Schema

Observation

BiodiversityNatureCitizen ScienceWildlifeObservationsTaxaEcology

Properties

Name Type Description
annotations array
id integer
cached_votes_total integer
captive boolean
comments array
comments_count integer
created_at string
created_at_details object
created_time_zone string
description string
faves_count integer
geojson object
geoprivacy string
taxon_geoprivacy string
id_please boolean
identifications_count integer
identifications_most_agree boolean
identifications_most_disagree boolean
identifications_some_agree boolean
license_code string
location string in the format "lat,lng"
private_location string in the format "lat,lng"
mappable boolean
non_owner_ids array
num_identification_agreements integer
num_identification_disagreements integer
obscured boolean
observed_on string
observed_on_details object
observed_on_string string
observed_time_zone string
ofvs array
out_of_range boolean
photos array
place_guess string
private_place_guess string
place_ids array
private_place_ids array
positional_accuracy integer
private_geojson object
project_ids array
project_ids_with_curator_id array
project_ids_without_curator_id array
public_positional_accuracy integer
quality_grade string
reviewed_by array
site_id integer
sounds array
species_guess string
tags array
taxon object
time_observed_at string
time_zone_offset string
updated_at string
uri string
user object
uuid string
verifiable boolean
observation_photos array
quality_metrics array
flags array
community_taxon_id integer
faves array
identifications array
oauth_application_id integer
outlinks array
owners_identification_from_vision boolean
preferences object
project_observations array
spam boolean
votes array
identification_disagreements_count integer
ident_taxon_ids array
map_scale integer
View JSON Schema on GitHub

JSON Schema

observation.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Observation",
  "type": "object",
  "properties": {
    "annotations": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Annotation"
      }
    },
    "id": {
      "type": "integer"
    },
    "cached_votes_total": {
      "type": "integer"
    },
    "captive": {
      "type": "boolean"
    },
    "comments": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Comment"
      }
    },
    "comments_count": {
      "type": "integer"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "created_at_details": {
      "$ref": "#/definitions/DateDetails"
    },
    "created_time_zone": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "faves_count": {
      "type": "integer"
    },
    "geojson": {
      "$ref": "#/definitions/PointGeoJson"
    },
    "geoprivacy": {
      "type": "string"
    },
    "taxon_geoprivacy": {
      "type": "string"
    },
    "id_please": {
      "type": "boolean"
    },
    "identifications_count": {
      "type": "integer"
    },
    "identifications_most_agree": {
      "type": "boolean"
    },
    "identifications_most_disagree": {
      "type": "boolean"
    },
    "identifications_some_agree": {
      "type": "boolean"
    },
    "license_code": {
      "type": "string"
    },
    "location": {
      "type": "string",
      "description": "in the format \"lat,lng\""
    },
    "private_location": {
      "type": "string",
      "description": "in the format \"lat,lng\""
    },
    "mappable": {
      "type": "boolean"
    },
    "non_owner_ids": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/NonOwnerIdentification"
      }
    },
    "num_identification_agreements": {
      "type": "integer"
    },
    "num_identification_disagreements": {
      "type": "integer"
    },
    "obscured": {
      "type": "boolean"
    },
    "observed_on": {
      "type": "string",
      "format": "date-time"
    },
    "observed_on_details": {
      "$ref": "#/definitions/DateDetails"
    },
    "observed_on_string": {
      "type": "string"
    },
    "observed_time_zone": {
      "type": "string"
    },
    "ofvs": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/FieldValue"
      }
    },
    "out_of_range": {
      "type": "boolean"
    },
    "photos": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Photo"
      }
    },
    "place_guess": {
      "type": "string"
    },
    "private_place_guess": {
      "type": "string"
    },
    "place_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "private_place_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "positional_accuracy": {
      "type": "integer"
    },
    "private_geojson": {
      "$ref": "#/definitions/PointGeoJson"
    },
    "project_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "project_ids_with_curator_id": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "project_ids_without_curator_id": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "public_positional_accuracy": {
      "type": "integer"
    },
    "quality_grade": {
      "type": "string"
    },
    "reviewed_by": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "site_id": {
      "type": "integer"
    },
    "sounds": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Sound"
      }
    },
    "species_guess": {
      "type": "string"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "taxon": {
      "$ref": "#/definitions/ObservationTaxon"
    },
    "time_observed_at": {
      "type": "string",
      "format": "date-time"
    },
    "time_zone_offset": {
      "type": "string"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    },
    "uri": {
      "type": "string"
    },
    "user": {
      "$ref": "#/definitions/User"
    },
    "uuid": {
      "type": "string"
    },
    "verifiable": {
      "type": "boolean"
    },
    "observation_photos": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/ObservationPhoto"
      }
    },
    "quality_metrics": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/QualityMetric"
      }
    },
    "flags": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Flag"
      }
    },
    "community_taxon_id": {
      "type": "integer"
    },
    "faves": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Fave"
      }
    },
    "identifications": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Identification"
      }
    },
    "oauth_application_id": {
      "type": "integer"
    },
    "outlinks": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Outlink"
      }
    },
    "owners_identification_from_vision": {
      "type": "boolean"
    },
    "preferences": {
      "type": "object"
    },
    "project_observations": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/ProjectObservation"
      }
    },
    "spam": {
      "type": "boolean"
    },
    "votes": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Vote"
      }
    },
    "identification_disagreements_count": {
      "type": "integer"
    },
    "ident_taxon_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "map_scale": {
      "type": "integer"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/observation"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.