Search matches name and domain. It is case-insensitive, unranked, and defaults to ACTIVE apps.
GET /registry/v1/search.json?q=squoosh
GET /api/v1/search?q=squoosh
GET /api/v1/apps?q=squoosh
const found = await fetch(
"https://pwaregistry.org/api/v1/search?q=squoosh",
).then((r) => r.json());
// found.apps is a lightweight index, not full records
Missing q → 400 / missing_query.
This is not a full-text engine and not a recommendation system. For richer search, download the index and query it locally.