Project

Open data

Everything on this site is also a set of files. Open them in a spreadsheet or a script, check them against their sources, or build something new. They are free to reuse if you credit the project.

Download

Release
76b1850c12464746
Version
2026.10.23+76b1850c12464746
Newest review
Oct 23, 2026
Files
22 files, 4.0 MB
Licence
CC BY 4.0

A release never changes once it is published. When the data changes there is a new release with a new identifier, and this page shows the newest.

  • 47 species
  • 53 hobby cultures
  • 56 trade names
  • 1,132 claims
  • 83 sources

What is in it

The tables are CSV files, which open in any spreadsheet. The full records are JSON files, which keep the structure that a flat table loses. Every file is listed here with its size.

Tables

One topic in each file and one row for each thing. A table points to the others by identifier, so you can join them.

  • species.csv 47 rows, 28 KB

    Species. One row for each species page. Hobby cultures are in cultures.csv, and the claims behind each value are in species_claims.csv.

  • species_claims.csv 817 rows, 59 KB

    Claims behind each species value. One row for each claim that a part of a species record rests on. Join it to species.csv by species_id and to claims.csv by claim_id.

  • life_tables.csv 3 rows, 194 B

    Life history at several temperatures. One row for each temperature at which a species was measured. The claims behind the table are in species_claims.csv under husbandry.lifeTable.

  • cultures.csv 53 rows, 12 KB

    Hobby cultures. One row for each hobby culture. A culture is a line of animals under a hobby name. It is placed under a species page with a stated confidence, and the name does not make it a species.

  • trade_names.csv 56 rows, 9.4 KB

    Trade names. One row for each name a label or a listing might use. The species a name might mean are in trade_name_candidates.csv.

  • trade_name_candidates.csv 92 rows, 5.7 KB

    What a trade name might mean. One row for each species or taxon a trade name might stand for, with how likely that is. Exactly one of species and taxon is filled.

  • taxa.csv 126 rows, 18 KB

    Taxa above species. One row for each node of the classification above species. A taxon is a concept under a named classification, not a timeless fact.

  • sources.csv 83 rows, 26 KB

    Sources. One row for each work the statements cite. The standing says how far the entry has been checked against a registry or a stored copy.

  • claims.csv 1,132 rows, 355 KB

    Claims. One row for each statement on the site. Every claim names its subject, its evidence level and its sources, which are in claim_sources.csv. The text has no markup.

  • claim_sources.csv 1,360 rows, 119 KB

    Sources behind each claim. One row for each source a claim cites, in the order the claim gives them, with the place in the source.

  • questions.csv 43 rows, 20 KB

    Open questions. One row for each thing that science or the hobby does not yet know, with what would help.

Full records

The same material as JSON, with every field kept. Use these when a table has to squeeze a list into one cell.

  • species.json 47 records, 167 KB

    Species, in full. Every field of every species record except the drawing parameters. Foods, bands, life tables, character states and the claims behind them stay nested as they are authored.

  • cultures.json 53 records, 43 KB

    Hobby cultures, in full. Every field of every culture record except the import notes, which belong to the spreadsheet the first list of cultures came from and say how a page was to be made.

  • trade_names.json 56 records, 51 KB

    Trade names, in full. Every trade name with its candidates, the characters that tell them apart and its local names by language.

  • taxa.json 126 records, 57 KB

    Taxa, in full. Every taxon with its character states, the names that have been used for it and its history.

  • sources.json 83 records, 62 KB

    Sources, in full. Every source with its standing and the result of the last check.

  • claims.json 1,132 records, 804 KB

    Claims, in full. Every claim with its subject, its three reading levels, its evidence level and its sources with the place in each.

  • questions.json 43 records, 31 KB

    Open questions, in full. Every open question with the phrasings readers use when they ask it.

  • characters.json 13 records, 14 KB

    Characters and their states. The features the identification key reads, with the states each can take. The character states in species.json and taxa.json name these.

Package files

These describe the rest. The Data Package file lists every column and how the tables link. The zip file holds all of the others.

  • Data Package description. Every table with its columns, types and links to other tables, in the Frictionless Data Package format.

  • README.md 32 KB

    Read me. What the files are, how to read them, how to credit the project and how to cite the release.

  • Everything in one file. All of the files above in one zip file, for a download or an archive.

Check a download

Every file has a SHA-256 checksum. If a file on your machine gives the same value as the list, it is the file in this release and nothing damaged it on the way.

To check one file, print its checksum and compare it with the list. To check many files at once, save the list as a file called SHA256SUMS in the folder that holds them and let the tool compare. A file you did not download is reported as missing.

Command line
# macOS
shasum -a 256 species.csv     # one file
shasum -a 256 -c SHA256SUMS   # every file in the list

# Linux
sha256sum species.csv
sha256sum -c SHA256SUMS

# Windows PowerShell
Get-FileHash species.csv
Show the checksums
SHA256SUMS
c4775e63ea1842147c413c4051a3c7962fb314bbeda157624cd11cbd4600698d  README.md
a258dad2ff620740597cad35998d50b2320d0328e58364b4b9cbe1de85dd8419  characters.json
891c0b69fd1e3760d9e77ba888ff3c40ae35ee228c9560fc67484f004f04ba34  claim_sources.csv
8fe59391a7ce2bbca2de0a5ad31f7ecf8a502495124b12dd23d9daa65bbc1ea1  claims.csv
e3be60ae66468d6442805e2ed5d5ab9e1edb538c49a2430ec6525cff6959cd0b  claims.json
7b4d2d67a0cdf7c76976c07b912d83e1751b24967b9598d2796e90983568c463  cultures.csv
f1175f53e386ca9297a5a7fd2bae342e18e69d5849a234f21e51e10f4d8b9f2c  cultures.json
546c9b07e5178d375786f9a9de320fbe8f536f35c9a9b9b70433d9cfa1fa6a7b  datapackage.json
7154b151448eda6d98d613cdf93722250fc736413812e8d16d20336e83722048  life_tables.csv
27bd0b5dbe2ebd94513af3d1f2cdbe589a1c2919365797a20c7b1d646dd1f209  questions.csv
8949073b7edd43e255077b61b8114174c64e59e5e073a51b24dcc14bfe79fd37  questions.json
a114232303c686b71018e15a5df01f7dfe9e94ac1678ca7f9781d12e1f7f59a0  sources.csv
5aa5e64ef1f65a21fe5ecf299d0f5c41984377f7d9b85bd92ac8795e9a60705b  sources.json
4ade54895b6e089285a77ca02f3c1f3b1cde43c351889ea9851095c3b4f79cdc  species.csv
183a6ccc733b1469f53001aec72dc2ebca090d10b7b61f2f05a9ff4e0ce00a3f  species.json
2f6da7652d1f51d094de35bb0ff93deb87c4fc70cbf86ed959f5028e4c334f54  species_claims.csv
ed9811df2458211ce273162decbd972b1a005a2b48d989c7ebdddd93f4e1494a  springtail-wiki-76b1850c12464746.zip
15df840a4bfa56dd4836a401256d7bf7a97288197cd040adb25aa7d005a94f3b  taxa.csv
c1cb5eb65b2b81e012e8c85b475e682de817bc3cf047b2a3d7aa3d006f6e2439  taxa.json
2876eabb828fc95acf5ff1a113e758397399cf6ab13243425c251849075481ab  trade_name_candidates.csv
9d4ed33490693f7b0de6cbfe76f4d34c568b39b5351dc47835a6aa81a1766016  trade_names.csv
952c0a1a3e44894ba723f61ef1ea3cc83dfa43629e747a1fd52f67fae44f79a7  trade_names.json

Use the data

The files are ordinary web addresses, so any tool that can read a CSV or JSON file from the web can use them. These examples read the newest release.

Python with pandas

Empty cells arrive as missing values, which is what they mean.

Python
import pandas as pd

base = "https://springtails.wiki/data/latest/"
claims = pd.read_csv(base + "claims.csv")
species = pd.read_csv(base + "species.csv")

# How well backed are the statements?
print(claims["evidence"].value_counts())

# Which families have the most species?
print(species["family"].value_counts().head())

Check the tables against their description

The Data Package file says what every column holds. This checks that every table keeps to it. Install the package first with pip.

Python
from frictionless import validate

report = validate("https://springtails.wiki/data/latest/datapackage.json")
print(report.valid)

R

Empty cells arrive as missing values.

R
base <- "https://springtails.wiki/data/latest/"
claims <- read.csv(paste0(base, "claims.csv"), na.strings = "")
table(claims$evidence)

SQL with DuckDB

DuckDB reads the files straight from their addresses and joins them like tables.

SQL
-- Which sources back the most statements?
SELECT s.title, s.year, count(DISTINCT cs.claim_id) AS statements
FROM read_csv('https://springtails.wiki/data/latest/claim_sources.csv') AS cs
JOIN read_csv('https://springtails.wiki/data/latest/sources.csv') AS s ON s.id = cs.source_id
GROUP BY s.title, s.year
ORDER BY statements DESC
LIMIT 5;

JavaScript

A web page on any site can read the files too, because they allow requests from every origin.

JavaScript
const base = "https://springtails.wiki/data/latest/";
const response = await fetch(base + "species.json");
const species = await response.json();
console.log(species.length, species[0].scientific);

Before you rely on a number

The files carry the same doubts as the pages. A statement on the site is a claim in the files.

  • Every claim has an evidence level. Filter on the evidence column and keep the levels you trust for your question.
  • An empty cell means nobody has recorded a value. It never means zero, and it never means that two animals are alike.
  • A hobby name or a trade name is not a species. Cultures and trade names have their own tables, and each possible reading carries a likelihood.

Claims in this release, by evidence level

Peer-reviewed Reported in the published scientific literature. 127 statements
Expert source From a specialist checklist, official guideline or named expert. 71 statements
Hobby consensus Two or more independent keepers or sellers agree. 37 statements
Anecdotal One keeper or seller reports it. Treat it as a lead. 853 statements
Unknown Nobody has tested this yet. The open question is linked. 44 statements

Licence and credit

The data and the text are licensed under CC BY 4.0. You may copy, change and share them, including for money. In return, credit the project, link to the licence and say what you changed.

The works that the claims cite have their own rights. The tables hold facts about them, such as a title and a year, and not their text.

To credit the project, use this line. It names the release you used, so a reader can find the same files.

Citation
Springtail Wiki contributors. Springtail Wiki open data, release 76b1850c12464746. https://springtails.wiki/open-data/. Licensed under CC BY 4.0.

Addresses and releases

Files sit at fixed addresses on this site. There are three kinds.

/data/v/<release>/<file>
A release. Its files never change, so a result you reached with them can be reached again.
/data/latest/<file>
The newest release. It changes when the data does, and a cache may serve the one before for a short while.
/data/index.json
Every release, newest first, with its date and size.

To keep a result repeatable, read from a release address and say which release you used. For this one that is /data/v/76b1850c12464746/species.csv.

Each release also has a manifest.json that lists its files with their sizes and checksums.

Please take the zip file rather than fetching the site page by page.

Corrections and changes

If a value looks wrong, tell the editors. They check it against its source before anything changes.