iNaturalist
iNaturalist is a nature observation platform and citizen science network that connects people to nature through biodiversity observation and identification. The iNaturalist API provides programmatic access to over 200 million wildlife observations, species identifications, taxon data, and biodiversity records contributed by citizen scientists worldwide. The API supports reading and writing observations, taxa lookups, identifications, places, projects, and user data across v0, v1, and v2 endpoints.
Real signal across most facets with visible, nameable gaps — the contract exists but is thin, or the portal is good while governance and commercial terms are absent.
API Evangelist profiles iNaturalist the way a machine reads it — 204 machine-readable artifacts across 21 APIs, pulled from the provider's own public surface and indexed so a developer, an analyst, or an AI agent can evaluate it against every other provider on the network.
Every provider in the network is reduced to the same set of machine-readable artifacts — OpenAPI contracts, event specifications, GraphQL schemas, runnable collections, pricing and rate-limit signals, security posture, OAuth scopes, and the agent surfaces (MCP servers and skills) that let software drive the API on its own. We profile them because the interface is the part of a company you can actually inspect: it is a truer signal of what a provider does than any marketing page. From those artifacts we compute the Kin Score — iNaturalist scores 51.5/100 (developing), with a separate agent-readiness read of 48/100 (agent ready). The full breakdown is below, followed by every artifact we hold — each card links through to its machine-readable definition on apis.io.
Kin Score
This is the API Evangelist rating — a single, repeatable read computed from the artifacts on this page. Green fill is points earned; the red track is points possible, so every bar shows earned-versus-possible at a glance.
How we profile iNaturalist
Each block below is one kind of artifact we hold for iNaturalist. For each we say what it is and why it earns a place in the profile, then list every one we've indexed — capped at two rows, scroll within the panel for the rest.
APIs 21
Each API is captured as its own OpenAPI definition — every operation, parameter, and response. This is the single most useful machine-readable description of what an API does, and it's what lets us score, lint, mock, and generate against it without asking the provider for anything.
Individual APIs this provider publishes, each with its own machine-readable definition.
iNaturalist API v2
The next-generation iNaturalist API (v2) currently in development, designed to eventually replace v0 and v1 endpoints. Provides access to observation data with improved performa...
iNaturalist Annotations API
Create, delete, and vote
iNaturalist Comments API
Create, update, and delete
iNaturalist Controlled Terms API
Search and fetch
iNaturalist Flags API
Create, update, and delete flags
iNaturalist Identifications API
Create, update, and delete
iNaturalist Messages API
Create, fetch, delete
iNaturalist Observation Field Values API
Create, update, and delete
iNaturalist Observation Photos API
Create and delete
iNaturalist Observation Tiles API
Map observation search results
iNaturalist Observations API
CRUD, search, faving, quality metrics, stats, and more
iNaturalist Photos API
The Photos API from iNaturalist — 1 operation(s) for photos.
iNaturalist Places API
Search and fetch
iNaturalist Polygon Tiles API
Place geometry and taxon range tiles
iNaturalist Posts API
Fetch site and project posts
iNaturalist Project Observations API
Create, update, and delete
iNaturalist Projects API
Search and fetch projects and members
iNaturalist Search API
Site search
iNaturalist Taxa API
Search and fetch
iNaturalist Users API
Fetch and update
iNaturalist UTFGrid API
JSON for observation tiles
Scroll within the panel for all 21 ·
Pricing Plans 1
Pricing is part of the interface. Machine-readable plans tell you what a tier costs and includes before you commit — one of the six things the Kin Score reads for commercial clarity.
Published pricing tiers and plan structures.
Plans
PLANSRate Limits 1
Rate limits are the difference between a demo that works and a production integration that doesn't fall over. Publishing them is an operational-transparency signal — and a hard requirement for any agent that plans its own throughput.
Documented rate limits and quota policies.
Rate Limits
RATE LIMITSFinOps 1
Cost, billing, and metering signals let a buyer model the financial operations of an API before it's live. We profile them for the same reason we profile pricing: the money is part of the contract.
Cost, billing, and metering signals for API financial operations.
Finops
FINOPSSemantic Vocabularies 1
JSON-LD contexts give the data shared meaning across APIs. We profile them because semantics are what let a machine reconcile 'customer' here with 'customer' somewhere else.
JSON-LD contexts and semantic vocabularies used across these APIs.
Api Context
JSON-LDSpectral Rules 1
Governance rulesets we run against this provider's specs — the automated checks behind parts of the score. Profiling them makes the quality bar explicit and re-runnable, not a matter of opinion.
iNaturalist API Rules
SPECTRALJSON Schema 70
Standalone JSON Schema definitions describe the data models behind the API. We profile them so the shapes are validatable on their own — useful long after a single request is forgotten.
Standalone JSON Schema definitions for this provider's data models.
Annotation
JSON SCHEMAAutocompleteTaxon
JSON SCHEMABaseResponse
JSON SCHEMAColor
JSON SCHEMAComment
JSON SCHEMAConservationStatus
JSON SCHEMACorePlace
JSON SCHEMACoreTaxon
JSON SCHEMADateDetails
JSON SCHEMAError
JSON SCHEMAEstablishmentMeans
JSON SCHEMAFave
JSON SCHEMAFieldValue
JSON SCHEMAFlag
JSON SCHEMAIdentification
JSON SCHEMAIdentificationsResponse
JSON SCHEMAMessage
JSON SCHEMAMessagesResponse
JSON SCHEMAModeratorAction
JSON SCHEMANearbyPlacesResponse
JSON SCHEMANonOwnerIdentification
JSON SCHEMAObservation
JSON SCHEMAObservationPhoto
JSON SCHEMAObservationsObserversResponse
JSON SCHEMAObservationsResponse
JSON SCHEMAObservationsShowResponse
JSON SCHEMAObservationTaxon
JSON SCHEMAOutlink
JSON SCHEMAPhoto
JSON SCHEMAPlacesResponse
JSON SCHEMAPointGeoJson
JSON SCHEMAPolygonGeoJson
JSON SCHEMAPostAnnotation
JSON SCHEMAPostComment
JSON SCHEMAPostFlag
JSON SCHEMAPostIdentification
JSON SCHEMAPostMessage
JSON SCHEMAPostObservation
JSON SCHEMAPostObservationFieldValue
JSON SCHEMAPostObservationPhoto
JSON SCHEMAPostObservationVote
JSON SCHEMAPostPost
JSON SCHEMAPostProjectAdd
JSON SCHEMAPostProjectObservation
JSON SCHEMAPostQuality
JSON SCHEMAPostUser
JSON SCHEMAPostUserUpdateSession
JSON SCHEMAPostVote
JSON SCHEMAProject
JSON SCHEMAProjectMember
JSON SCHEMAProjectMembersResponse
JSON SCHEMAProjectObservation
JSON SCHEMAProjectsResponse
JSON SCHEMAPutFlag
JSON SCHEMAQualityMetric
JSON SCHEMARawConservationStatus
JSON SCHEMAShowObservation
JSON SCHEMAShowPlace
JSON SCHEMAShowTaxon
JSON SCHEMASound
JSON SCHEMASpeciesCountsResponse
JSON SCHEMATaxaAutocompleteResponse
JSON SCHEMATaxaShowResponse
JSON SCHEMATaxonConservationStatus
JSON SCHEMATaxonPhoto
JSON SCHEMAUpdateProjectObservation
JSON SCHEMAUser
JSON SCHEMAUserCountsResponse
JSON SCHEMAUTFGridResponse
JSON SCHEMAVote
JSON SCHEMAScroll within the panel for all 70 ·
Examples 105
Real request and response payloads are what turn a spec from abstract into obvious — and they're one of the twelve things an agent needs to call an API correctly on the first try.
Example request and response payloads for these APIs.
Delete Annotations Id
EXAMPLEDelete Comments Id
EXAMPLEDelete Flags Id
EXAMPLEDelete Identifications Id
EXAMPLEDelete Messages Id
EXAMPLEDelete Observation_Photos Id
EXAMPLEDelete Observations Id
EXAMPLEDelete Posts Id
EXAMPLEDelete Projects Id Leave
EXAMPLEDelete Projects Id Remove
EXAMPLEDelete Users Id Mute
EXAMPLEGet Controlled_Terms
EXAMPLEGet Grid Zoom X Y.Grid.Json
EXAMPLEGet Grid Zoom X Y.Png
EXAMPLEGet Heatmap Zoom X Y.Png
EXAMPLEGet Identifications Id
EXAMPLEGet Identifications
EXAMPLEGet Messages Id
EXAMPLEGet Messages Unread
EXAMPLEGet Messages
EXAMPLEGet Observations Deleted
EXAMPLEGet Observations Histogram
EXAMPLEGet Observations Id
EXAMPLEGet Observations Identifiers
EXAMPLEGet Observations Observers
EXAMPLEGet Observations Updates
EXAMPLEGet Observations
EXAMPLEGet Places Autocomplete
EXAMPLEGet Places Id
EXAMPLEGet Places Nearby
EXAMPLEGet Points Zoom X Y.Png
EXAMPLEGet Posts For_User
EXAMPLEGet Posts
EXAMPLEGet Projects Autocomplete
EXAMPLEGet Projects Id Members
EXAMPLEGet Projects Id Membership
EXAMPLEGet Projects Id
EXAMPLEGet Projects
EXAMPLEGet Search
EXAMPLEGet Taxa Autocomplete
EXAMPLEGet Taxa Id
EXAMPLEGet Taxa
EXAMPLEGet Users Autocomplete
EXAMPLEGet Users Id Projects
EXAMPLEGet Users Id
EXAMPLEGet Users Me
EXAMPLEPost Annotations
EXAMPLEPost Comments
EXAMPLEPost Flags
EXAMPLEPost Identifications
EXAMPLEPost Messages
EXAMPLEPost Observation_Photos
EXAMPLEPost Observations Id Fave
EXAMPLEPost Observations Id Review
EXAMPLEPost Observations
EXAMPLEPost Photos
EXAMPLEPost Posts
EXAMPLEPost Project_Observations
EXAMPLEPost Projects Id Add
EXAMPLEPost Projects Id Join
EXAMPLEPost Users Id Mute
EXAMPLEPut Comments Id
EXAMPLEPut Flags Id
EXAMPLEPut Identifications Id
EXAMPLEPut Observation_Photos Id
EXAMPLEPut Observations Id
EXAMPLEPut Posts Id
EXAMPLEPut Project_Observations Id
EXAMPLEPut Users Id
EXAMPLEPut Users Update_Session
EXAMPLEScroll within the panel for all 105 ·
Security Posture 2
Authentication, domain security, vulnerability disclosure, and trust-center signals — the evidence that a provider takes security seriously enough to document it. We profile it because you can't govern what you can't see.
Authentication, domain security, vulnerability disclosure, and trust-center signals.
Agentic Access 1
An x-agentic-access contract marks which operations are safe for an agent to run on its own and which need a human in the loop. It is the difference between an API an agent can use and one it can use safely.
Recommended x-agentic-access execution contracts for AI agents.
Resources
Every other property we hold for iNaturalist — documentation, portals, status pages, policies, and corporate surface — grouped by the job it does, following the integrator's arc from getting started to running in production.
Get Started 3
Portal, sign-up, and the first successful call
Documentation 1
Reference material describing how the API behaves
Agent Surfaces 1
MCP servers, agent skills, and machine-readable catalogs
Build 1
SDKs, sample code, and the tooling you integrate with
Access & Security 3
Authentication, authorization, and security posture
Operate 3
Status, limits, changes, and where to get help
Commercial 2
Pricing, plans, and the legal terms of use
Company 1
The organization behind the API
Other 1
Properties that don't map to a standard resource type
← All providers · Data indexed from github.com/api-evangelist/inaturalist · machine-readable index on apis.io