← Back to Nexo Hub

⚡ Nexo Hub API

A free, read-only public API for the Nexo Hub directory. No API key, no sign-up, no rate-limit headaches — just fetch() and go.

No auth required JSON responses CORS enabled
POST
https://tiupkpabwuefclbrpaef.supabase.co/rest/v1/rpc/api_get_sites

Search and filter sites in the directory. All parameters are optional.

ParamTypeDescription
category_filtertextFilter by category id (e.g. "ai")
tag_filtertextFilter by a single tag (e.g. "free")
search_termtextSearch name + description
result_limitintMax results, capped at 100 (default 50)
result_offsetintPagination offset (default 0)
fetch('https://tiupkpabwuefclbrpaef.supabase.co/rest/v1/rpc/api_get_sites', { method: 'POST', headers: { 'apikey': 'sb_publishable_Ut5Qh9mJNfK3qaltXgCH6g_Phryct7r', 'Content-Type': 'application/json' }, body: JSON.stringify({ category_filter: 'ai', result_limit: 10 }) }) .then(res => res.json()) .then(data => console.log(data));
POST
https://tiupkpabwuefclbrpaef.supabase.co/rest/v1/rpc/api_get_categories

Returns every category with its icon, label, and live site count. No parameters needed.

fetch('https://tiupkpabwuefclbrpaef.supabase.co/rest/v1/rpc/api_get_categories', { method: 'POST', headers: { 'apikey': 'sb_publishable_Ut5Qh9mJNfK3qaltXgCH6g_Phryct7r', 'Content-Type': 'application/json' }, body: '{}' }) .then(res => res.json()) .then(data => console.log(data));
Heads up: this API only ever returns publicly approved sites — pending submissions and admin data are never exposed. The key shown above is a public, read-only anon key; it's safe to use client-side and doesn't need to be kept secret.