Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC
iNaturalist website screenshot

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.

agent ready

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.

Kin Score

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.

Kin Score Kin Score How this is scored →
scored 2026-07-27 · rubric v0.5
Composite quality — 51.5/100 · developing
Contract Quality 13.2 / 25
Developer Ergonomics 6.1 / 20
Commercial Clarity 12.6 / 20
Operational Transparency 0.7 / 13
Governance 8.8 / 12
Discoverability 10.0 / 10
Agent readiness — 48/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3

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 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 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 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

1 plans

PLANS

Rate 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

0 limits

RATE LIMITS

FinOps 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

FINOPS

Semantic 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

20 classes · 0 properties

JSON-LD

Spectral 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

5 rules · 4 warnings

SPECTRAL

JSON 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

8 properties

JSON SCHEMA

AutocompleteTaxon

0 properties

JSON SCHEMA

BaseResponse

3 properties

JSON SCHEMA

Color

2 properties

JSON SCHEMA

Comment

9 properties

JSON SCHEMA

ConservationStatus

3 properties

JSON SCHEMA

CorePlace

3 properties

JSON SCHEMA

CoreTaxon

8 properties

JSON SCHEMA

DateDetails

6 properties

JSON SCHEMA

Error

2 properties

JSON SCHEMA

EstablishmentMeans

2 properties

JSON SCHEMA

Fave

4 properties

JSON SCHEMA

FieldValue

2 properties

JSON SCHEMA

Flag

6 properties

JSON SCHEMA

Identification

21 properties

JSON SCHEMA

IdentificationsResponse

0 properties

JSON SCHEMA

Message

9 properties

JSON SCHEMA

MessagesResponse

0 properties

JSON SCHEMA

ModeratorAction

6 properties

JSON SCHEMA

NearbyPlacesResponse

0 properties

JSON SCHEMA

NonOwnerIdentification

5 properties

JSON SCHEMA

Observation

74 properties

JSON SCHEMA

ObservationPhoto

4 properties

JSON SCHEMA

ObservationsObserversResponse

0 properties

JSON SCHEMA

ObservationsResponse

0 properties

JSON SCHEMA

ObservationsShowResponse

0 properties

JSON SCHEMA

ObservationTaxon

0 properties

JSON SCHEMA

Outlink

3 properties

JSON SCHEMA

Photo

4 properties

JSON SCHEMA

PlacesResponse

0 properties

JSON SCHEMA

PointGeoJson

2 properties

JSON SCHEMA

PolygonGeoJson

2 properties

JSON SCHEMA

PostAnnotation

1 properties

JSON SCHEMA

PostComment

1 properties

JSON SCHEMA

PostFlag

2 properties

JSON SCHEMA

PostIdentification

1 properties

JSON SCHEMA

PostMessage

1 properties

JSON SCHEMA

PostObservation

1 properties

JSON SCHEMA

PostObservationFieldValue

1 properties

JSON SCHEMA

PostObservationPhoto

1 properties

JSON SCHEMA

PostObservationVote

2 properties

JSON SCHEMA

PostPost

2 properties

JSON SCHEMA

PostProjectAdd

1 properties

JSON SCHEMA

PostProjectObservation

2 properties

JSON SCHEMA

PostQuality

1 properties

JSON SCHEMA

PostUser

2 properties

JSON SCHEMA

PostUserUpdateSession

11 properties

JSON SCHEMA

PostVote

1 properties

JSON SCHEMA

Project

4 properties

JSON SCHEMA

ProjectMember

8 properties

JSON SCHEMA

ProjectMembersResponse

0 properties

JSON SCHEMA

ProjectObservation

6 properties

JSON SCHEMA

ProjectsResponse

0 properties

JSON SCHEMA

PutFlag

1 properties

JSON SCHEMA

QualityMetric

4 properties

JSON SCHEMA

RawConservationStatus

6 properties

JSON SCHEMA

ShowObservation

0 properties

JSON SCHEMA

ShowPlace

0 properties

JSON SCHEMA

ShowTaxon

0 properties

JSON SCHEMA

Sound

8 properties

JSON SCHEMA

SpeciesCountsResponse

0 properties

JSON SCHEMA

TaxaAutocompleteResponse

0 properties

JSON SCHEMA

TaxaShowResponse

0 properties

JSON SCHEMA

TaxonConservationStatus

0 properties

JSON SCHEMA

TaxonPhoto

0 properties

JSON SCHEMA

UpdateProjectObservation

1 properties

JSON SCHEMA

User

15 properties

JSON SCHEMA

UserCountsResponse

0 properties

JSON SCHEMA

UTFGridResponse

3 properties

JSON SCHEMA

Vote

5 properties

JSON SCHEMA

Scroll 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

6 fields

EXAMPLE

Delete Comments Id

6 fields

EXAMPLE

Delete Flags Id

6 fields

EXAMPLE

Delete Identifications Id

6 fields

EXAMPLE

Delete Messages Id

6 fields

EXAMPLE

Delete Observations Id

6 fields

EXAMPLE

Delete Posts Id

6 fields

EXAMPLE

Delete Projects Id Leave

6 fields

EXAMPLE

Delete Projects Id Remove

6 fields

EXAMPLE

Delete Users Id Mute

6 fields

EXAMPLE

Get Controlled_Terms

6 fields

EXAMPLE

Get Grid Zoom X Y.Png

6 fields

EXAMPLE

Get Heatmap Zoom X Y.Png

6 fields

EXAMPLE

Get Identifications Id

6 fields

EXAMPLE

Get Identifications

6 fields

EXAMPLE

Get Messages Id

6 fields

EXAMPLE

Get Messages Unread

6 fields

EXAMPLE

Get Messages

6 fields

EXAMPLE

Get Observations Deleted

6 fields

EXAMPLE

Get Observations Id

6 fields

EXAMPLE

Get Observations Updates

6 fields

EXAMPLE

Get Observations

6 fields

EXAMPLE

Get Places Autocomplete

6 fields

EXAMPLE

Get Places Id

6 fields

EXAMPLE

Get Places Nearby

6 fields

EXAMPLE

Get Points Zoom X Y.Png

6 fields

EXAMPLE

Get Posts For_User

6 fields

EXAMPLE

Get Posts

6 fields

EXAMPLE

Get Projects Autocomplete

6 fields

EXAMPLE

Get Projects Id Members

6 fields

EXAMPLE

Get Projects Id

6 fields

EXAMPLE

Get Projects

6 fields

EXAMPLE

Get Search

6 fields

EXAMPLE

Get Taxa Autocomplete

6 fields

EXAMPLE

Get Taxa Id

6 fields

EXAMPLE

Get Taxa

6 fields

EXAMPLE

Get Users Autocomplete

6 fields

EXAMPLE

Get Users Id Projects

6 fields

EXAMPLE

Get Users Id

6 fields

EXAMPLE

Get Users Me

6 fields

EXAMPLE

Post Annotations

6 fields

EXAMPLE

Post Comments

6 fields

EXAMPLE

Post Flags

6 fields

EXAMPLE

Post Identifications

6 fields

EXAMPLE

Post Messages

6 fields

EXAMPLE

Post Observation_Photos

6 fields

EXAMPLE

Post Observations Id Fave

6 fields

EXAMPLE

Post Observations

6 fields

EXAMPLE

Post Photos

6 fields

EXAMPLE

Post Posts

6 fields

EXAMPLE

Post Project_Observations

6 fields

EXAMPLE

Post Projects Id Add

6 fields

EXAMPLE

Post Projects Id Join

6 fields

EXAMPLE

Post Users Id Mute

6 fields

EXAMPLE

Put Comments Id

6 fields

EXAMPLE

Put Flags Id

6 fields

EXAMPLE

Put Identifications Id

6 fields

EXAMPLE

Put Observation_Photos Id

6 fields

EXAMPLE

Put Observations Id

6 fields

EXAMPLE

Put Posts Id

6 fields

EXAMPLE

Put Users Id

6 fields

EXAMPLE

Put Users Update_Session

6 fields

EXAMPLE

Scroll 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.

Inaturalist Authentication

apiKey · 1 scheme

SECURITY

Inaturalist Domain Security

TLSv1.3 · DMARC

SECURITY

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.

Inaturalist Agentic Access

105 operations · 51 acting

105 operations · 51 acting

AGENTIC

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