.. _reference-docs:

API Reference
=============

iNaturalist actually provides two APIs:

- The original, `Rails-based REST API <https://www.inaturalist.org/pages/api+reference>`_
  that they also use internally: it is very complete and provides read/write access, but is rather
  slow and sometimes inconsistent.
- The `Node-based API <https://api.inaturalist.org/v1/docs/>`_ allows read-only access to most
  iNaturalist resources, is faster and provides more consistent behavior than the REST API, but with
  fewer features.

Pyinaturalist provides functions to use both of those APIs.
Also see :ref:`endpoints` for an overview of which iNaturalist endpoints are currently implemented.

.. Note: Source files for module docs are generated by sphinx-apidoc
.. toctree::
    :caption: Main API Modules
    :titlesonly:

    modules/pyinaturalist.v0
    modules/pyinaturalist.v1
    modules/pyinaturalist.v2
    modules/pyinaturalist.models

.. toctree::
    :caption: Additional Utility Modules
    :glob:
    :maxdepth: 1

    modules/pyinaturalist.[!vm]*
