ForHosting KIT · Developer Utilities

Species Richness Count Calculator

Species richness is the number of distinct species observed in a defined sample. Paste one species name per line, or separate names with commas, semicolons, or tabs, and this calculator removes repeated observations before returning the richness count.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

It also reports the total number of observations and the distinct labels it recognized, making the result easy to audit. The calculation is deterministic, runs without network lookups, and can be used interactively in the browser or repeated through the API for consistent ecological data processing.

Prepare a sample that represents one ecological unit

Begin with observations from a clearly defined sample, such as one quadrat, one transect visit, one trap period, or one sequencing library after taxonomic assignment. Enter the species label for every observation, including repeats. For example, if oak appears five times, include oak five times; the calculator will retain that information in total_observations while counting oak once for species_richness. Separate labels with new lines, commas, semicolons, or tabs. Empty entries and surrounding spaces are ignored, and repeated internal spaces are collapsed so accidental formatting does not create false species. Use a consistent taxonomic level throughout the sample. Mixing species names with genus-level labels, informal groups, or unidentified categories can inflate or distort the result because the calculator cannot infer biological equivalence. Resolve synonyms, spelling variants, and taxonomic updates before calculation when they refer to the same organism. By default, capitalization does not create a new species, so Oak and oak match. Enable case-sensitive matching only when capitalization genuinely carries meaning in your labeling system. The input should describe presence in one sample rather than combining unrelated sites or dates unless pooled richness is specifically the quantity you intend to measure.

Understand exactly how the richness count is produced

The algorithm first splits the supplied text at each supported separator. It trims every resulting label, normalizes runs of whitespace, and discards blank entries. It then creates a comparison key for each observation. With the default case-insensitive setting, the key is a lowercase form of the label; with case-sensitive matching, the cleaned label itself is the key. The first occurrence of each key is retained in distinct_species, while later occurrences increase total_observations but do not increase species_richness. The richness value is therefore the size of the set of unique cleaned keys. The returned list follows first-seen order, which lets you compare the result directly with the source data instead of receiving an unexplained alphabetic rearrangement. No abundance weighting, diversity index, rarefaction, taxonomic database lookup, or statistical estimation is applied. A species recorded once contributes exactly as much to richness as a species recorded many times. This makes the result a basic observed count, not an estimate of undetected species. Because the same deterministic normalization rules are used for every request, identical input and settings always produce identical output. Review distinct_species whenever the count is surprising; near-duplicate names usually reveal inconsistent spelling or taxonomy upstream.

Interpret richness without overstating what the sample shows

Observed species richness is easy to communicate, but it depends strongly on sampling effort, detection probability, season, habitat coverage, and identification quality. A larger sample often contains more species simply because rare species have more opportunities to appear. Compare richness values only when collection methods and effort are reasonably compatible, or accompany the comparison with rarefaction or another method that addresses unequal sampling. Richness also says nothing about evenness. Two communities can each contain six species while one is dominated by a single species and the other has balanced abundances. Use an abundance-sensitive measure, such as a documented diversity or dominance index, when that distinction matters. Preserve the total_observations value and the original sampling metadata alongside species_richness so readers can judge context. The calculator treats labels as identifiers, not as verified taxa: two synonyms remain different unless you standardize them, and two organisms sharing an overly broad label remain one. For monitoring, keep naming conventions stable across survey rounds and record any taxonomic merges or splits. The API price is $0.002 per request, while the same deterministic calculation can run in the browser. In reports, describe the result as observed richness for the stated sample rather than the complete number of species present in the wider ecosystem.

Summarize a field survey

Count unique species labels from repeated quadrat, transect, or checklist observations while retaining the total observation count.

Compare monitoring samples

Generate consistent observed-richness values for samples collected under the same protocol across sites or survey dates.

Audit a biodiversity pipeline

Inspect the returned distinct label list to find spelling, capitalization, or taxonomic standardization problems before analysis.

What is species richness?

Species richness is the number of distinct species observed in a defined sample. It does not use their relative abundances.

Do repeated observations increase richness?

No. Repeats increase total_observations, but each distinct cleaned species label contributes only one to species_richness.

Are names matched case-sensitively?

Not by default, so Oak and oak are treated as the same label. Set case_sensitive to true when capitalization must distinguish labels.

Does the calculator resolve synonyms or verify taxonomy?

No. It compares cleaned text labels without consulting a taxonomic database. Standardize synonyms and spelling before calculation.

Can richness values from samples of different sizes be compared directly?

Use caution. Larger or more intensive samples tend to detect more species, so consider standardized effort, rarefaction, or another sampling-aware method.

What does an API request cost?

Each API request costs $0.002. The deterministic calculation is also available free in the browser.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/bio/species-richness

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/bio/species-richness \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Oak\nPine\nOak\nBirch\nPine\nWillow"}'
{
  "text": "Oak\nPine\nOak\nBirch\nPine\nWillow"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "bio.species_richness",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_chars200000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →