Developers

Everything the registry publishes for machines: a filterable JSON endpoint, the complete dataset as one file, an OpenAPI description, and the terms for reusing any of it.

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.json

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.

/llms.txt

The whole registry as one markdown document: what the grades mean, when to use this registry, and a line per finding.

/entry.schema.json

JSON Schema for one entry, the same one the build validates against.

/sitemap.xml

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.

/data/entries.json

The complete registry, one JSON array. This is the source of truth the whole site is generated from.

/data/vocab.json

The grading vocabulary: both grade scales with their definitions and numeric ratings, source kinds, subject fields, and the related registries.

/feed.xml, /feed.json

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.