The complete REST API for ClawHub β 36,000+ skills with full data the official API doesn't expose.
The official ClawHub API is limited β no full-text search, no security scan results, no file contents, no moderation data. To get the full picture you'd need to query their Convex database directly.
ClawHub Layer API pulls the complete catalog from ClawHub's Convex DB, caches it in MongoDB, and serves it as a clean, fast REST API.
Live API β clawhub.atomicbot.ai
API Docs - swagger
OpenAPI Spec β clawhub.atomicbot.ai/docs-json β feed it to your coding agent to unleash full API access.
- π¦ Complete catalog β all 36,000+ skills with stats, versions, tags, and ownership
- π Full-text search β weighted search across slug, name, and description
- π‘οΈ Security data β VirusTotal scan results and LLM-based analysis
- π© Moderation info β suspicious/malicious flags, removal status, reason codes
- π File contents β read any file from any skill (SKILL.md, configs, source code)
- π¬ Comments β live comment threads with user profiles
- π Fork tracking β fork/duplicate relationships between skills
- π Auto-sync β configurable cron keeps your data fresh
- β‘ On-demand enrichment β detail data fetched and cached on first request
- π Swagger UI β interactive API docs at
/docs
git clone https://github.com/AtomicBot-ai/clawhub-layer-api.git
cd clawhub-layer-api
docker compose -f docker-compose.prod.yml up -dAPI at http://localhost:3000 Β· Swagger at http://localhost:3000/docs
Or use the public instance: clawhub.atomicbot.ai/docs
Trigger initial sync:
docker compose -f docker-compose.prod.yml exec app node dist/cli syncGET /api/skills?page=1&limit=25&sort=downloads&dir=desc&nonSuspiciousOnly=true
| Param | Values | Default |
|---|---|---|
sort |
downloads Β· stars Β· installs Β· updated Β· newest Β· name |
downloads |
dir |
asc Β· desc |
desc |
limit |
1β200 |
25 |
nonSuspiciousOnly |
true Β· false |
false |
GET /api/skills/search?q=summarize&limit=25
Weighted full-text search: slug (Γ10), name (Γ5), summary (Γ1).
GET /api/skills/:slug
Returns the complete skill record: metadata, latest version, owner, file list, security analysis (VT + LLM), moderation status, fork info, and SKILL.md content. Cached in MongoDB, re-fetched if stale.
GET /api/skills/:slug/files?path=SKILL.md
Returns raw file content for any file in the skill package.
GET /api/skills/:slug/comments?limit=50
Live comments from ClawHub with user profiles.
GET /health
ClawHub Convex DB βββΆ Layer API (MongoDB) βββΆ Your App
β² β
βββ cron / on-demand βββ
- Bulk sync (cron) β pages through the entire ClawHub catalog via
listPublicPageV4, upserting into MongoDB. ~36k skills in ~2-3 minutes. - Detail enrichment (on-demand) β when
GET /api/skills/:slugis called, full detail is fetched fromgetBySlugand cached with a configurable TTL. - File caching β file contents are fetched from ClawHub's site API and cached in MongoDB with the same TTL.
| Variable | Default | Description |
|---|---|---|
MONGODB_URI |
mongodb://localhost:27017/clawhub-layer |
MongoDB connection |
CONVEX_CLOUD_URL |
https://wry-manatee-359.convex.cloud |
ClawHub Convex query endpoint |
CONVEX_SITE_URL |
https://wry-manatee-359.convex.site |
ClawHub site HTTP API |
SYNC_CRON |
0 */3 * * * |
Sync schedule (default: every 3 hours) |
CACHE_TTL_HOURS |
3 |
TTL for detail/file cache |
PORT |
3000 |
Server port |
# Full sync (inside container)
node dist/cli sync
# From outside
docker compose -f docker-compose.prod.yml exec app node dist/cli syncdocker compose up -d # Starts MongoDB + app with hot-reloadISC
Β© 2026 Atomic Bot Β· Built with β€οΈ Β· atomicbot.ai
