
Company News
Jerod Santo Joins Socket as Head of Media
Allow myself to introduce... myself.
@pondlog/source-inaturalist
Advanced tools
iNaturalist API client library: typed, Zod-validated, rate-limited. Returns Result<T> instead of throwing.
iNaturalist API client. Typed,
Zod-validated, rate-limited, returns Result<T> instead of throwing.
Part of pondlog.
No API key required — iNaturalist reads are open. The library handles the 100 req/min rate limit internally and backs off on 429.
npm install @pondlog/source-inaturalist @pondlog/core
| Function | Endpoint | Returns |
|---|---|---|
searchObservations(params) | GET /observations | Result<Observation[]> |
getObservation(id) | GET /observations/{id} | Result<ObservationDetail> |
getSpeciesCounts(params) | GET /observations/species_counts | Result<SpeciesCount[]> |
getNearbyObservations(coords, radius?, days?) | GET /observations (geo) | Result<Observation[]> |
searchTaxa(query) | GET /taxa | Result<Taxon[]> |
getTaxon(id) | GET /taxa/{id} | Result<TaxonDetail> |
getIconicTaxaSummary(coords, radius?, days?) | GET /observations/species_counts (grouped) | Result<IconicTaxaSummary> |
searchPlaces(query) | GET /places/autocomplete | Result<Place[]> |
getObservers(coords, radius?, days?) | GET /observations/observers | Result<Observer[]> |
Defaults: radius = 25 km, days = 7.
import { getNearbyObservations } from "@pondlog/source-inaturalist";
const result = await getNearbyObservations(
{ lat: 48.118, lng: -123.4307 }, // Port Angeles, WA
25, // km
7, // days
);
if (!result.ok) {
console.error(result.error.message);
process.exit(1);
}
for (const obs of result.data) {
console.log(obs.commonName, obs.taxonName, obs.observedAt);
}
pondlog wraps
these functions in a terminal interface.@pondlog/mcp-inaturalist
exposes them as MCP tools for AI agents.MIT.
FAQs
iNaturalist API client library: typed, Zod-validated, rate-limited. Returns Result<T> instead of throwing.
The npm package @pondlog/source-inaturalist receives a total of 17 weekly downloads. As such, @pondlog/source-inaturalist popularity was classified as not popular.
We found that @pondlog/source-inaturalist demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Company News
Allow myself to introduce... myself.

Research
/Security News
A Twitch browser extension on Chrome and Firefox forwards users’ live OAuth session tokens through proxies controlled by a Russian bot service.

Security News
Anthropic found biased reasoning and recklessness drove Claude Mythos 5 to publish malware on PyPI and compromise a security vendor.