The dataset endpoint
Read-only, unauthenticated, no key. GET /api/dataset returns
registry entries newest first, filtered by any combination of the parameters below.
Filters combine with AND, and every one is optional.
Three of them are closed vocabularies and are validated against the same tables the
build enforces, so a typo answers 400 naming the accepted values rather than
returning a silently empty list. lab and tag are open
vocabularies matched exactly, so an unmatched value is a legitimate empty result.
field
One subject area. Closed vocabulary.
verification
One verification grade, exact match rather than a floor: asking for
formal returns only machine-checked results. Closed vocabulary.
autonomy
One autonomy grade. Closed vocabulary.
lab
Exact organisation name. Google does not match
Google DeepMind.
tag
Entries carrying this tag.
since
YYYY-MM-DD. Filters on added, when the entry
entered this registry, not on date, when the result became public. This is
the one a polling client wants.
limit, offset
Paging. limit caps at 500; total in the
response is the unpaged count.
The response carries a version, which is bumped only when a field is removed
or its meaning changes. Adding a field is backwards compatible and does not move it.
Machine-readable descriptions
Everything below is generated from the same source as the site itself, so none of it can drift from what the registry actually serves.
OpenAPI 3.1 for the public endpoints, with every grade vocabulary inlined as an enum. Enough for an agent to call this API without reading this page.
The whole registry as one markdown document: what the grades mean, when to use this registry, and a line per finding.
JSON Schema for one entry, the same one the build validates against.
Every page, with content-derived modification dates.
Bulk data and feeds
Take the file when you want everything; use the endpoint when you want a filtered slice.
The complete registry, one JSON array. This is the source of truth the whole site is generated from.
The grading vocabulary: both grade scales with their definitions and numeric ratings, source kinds, subject fields, and the related registries.
New and updated entries, as RSS and JSON Feed.
Errors
Every /api/ path answers JSON, including the ones that do not
exist. Nothing here returns an HTML error page.
A rejected parameter answers 400 with the parameter named and, where the
vocabulary is closed, the accepted values listed. An error that does not say what would
have worked only moves the guessing to the caller.
A path no endpoint claims answers 404 as
application/problem+json, following RFC 9457: type,
title, status, detail and instance,
plus the error slug the rest of this API uses and a resolution
naming the routes that do exist.
Licence and citation
The data is CC BY 4.0. Use it, including commercially, with attribution.
Cite as whataifound.org. Every finding page carries a BibTeX and an APA block for the individual entry. If you are building on the registry and something here is missing or wrong, say so: the field contract exists so that consumers do not have to guess, which only works if the guessing gets reported.