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. One row for each species page. Hobby cultures are in cultures.csv, and the claims behind each value are in species_claims.csv.
-
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 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.
-
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. One row for each name a label or a listing might use. The species a name might mean are in trade_name_candidates.csv.
-
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 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. 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. 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.
-
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.
-
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, 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.
-
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, in full. Every trade name with its candidates, the characters that tell them apart and its local names by language.
-
Taxa, in full. Every taxon with its character states, the names that have been used for it and its history.
-
Sources, in full. Every source with its standing and the result of the last check.
-
Claims, in full. Every claim with its subject, its three reading levels, its evidence level and its sources with the place in each.
-
Open questions, in full. Every open question with the phrasings readers use when they ask it.
-
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.
-
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.
# 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
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.
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.
from frictionless import validate
report = validate("https://springtails.wiki/data/latest/datapackage.json")
print(report.valid) R
Empty cells arrive as missing values.
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.
-- 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.
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
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.
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.