JSON Data API
The entire Claude Code plugin catalog is published as static JSON. No API key, no auth, CORS enabled for every origin — it is plain files on GitHub Pages, refreshed daily by the scan pipeline.
Base URL
https://shrwnsan.github.io/claude-marketplace-registryAppend any endpoint path below. Pages are cached by the GitHub Pages CDN (typically ~10 minutes), so poll at most every few minutes.
/data/stats.json
Ecosystem overview: plugin/marketplace/developer/star totals, 30-day growth rates (null until a baseline snapshot exists), daily trend series, topic counts, and computed quality signals.
Response shape
{ "success": true,
"data": {
"overview": {
"totalPlugins": 1274,
"totalMarketplaces": 100,
"totalDevelopers": 396,
"totalStars": 311529,
"lastUpdated": "2026-09-18T…Z",
"growthRate": { "plugins": null, "marketplaces": null, "developers": null, "stars": null }
},
"plugins": [{ "date": "2026-02-23", "value": 178 }, …],
"categories": [{ "id": "claude-code", "name": "claude-code", "count": 936 }, …],
"insights": ["1274 plugins discovered across 100 marketplaces", …],
"manifestCoverage": { "withManifest": 99, "total": 100, "rate": 99 },
"maintenance": { "recentlyUpdated": 90, "recentlyUpdatedRate": 90, "staleOver180Days": 0 }
},
"meta": { "timestamp": "2026-09-18T…Z" } }Example
curl -s https://shrwnsan.github.io/claude-marketplace-registry/data/stats.json | jq '.data.overview'/data/marketplaces.json
Every discovered marketplace as a bare array. Topics overlap — a marketplace can carry several.
Response shape
[
{
"id": "1061953414",
"name": "skills",
"description": "Public repository for Agent Skills",
"url": "https://github.com/anthropics/skills",
"stars": 176783,
"forks": 20932,
"language": "Python",
"updatedAt": "2026-09-18T…Z",
"topics": ["agent-skills"],
"hasManifest": true
}, … ]Example
curl -s https://shrwnsan.github.io/claude-marketplace-registry/data/marketplaces.json \
| jq '[.[] | select(.stars > 1000)] | sort_by(-.stars)'/data/plugins.json
Compact plugin index — one row per plugin (description truncated to 160 chars, skill count only). Full records are sharded per marketplace under data/plugins/<marketplaceId>.json.
Response shape
[
{
"id": "1061953414-academy-guide",
"name": "academy-guide",
"description": "Recommends relevant Claude Academy courses…",
"version": "1.0.0",
"author": "Keith Lazuka",
"isValid": true,
"marketplaceId": "1061953414",
"marketplaceName": "skills",
"skillsCount": 1
}, … ]Example
curl -s https://shrwnsan.github.io/claude-marketplace-registry/data/plugins.json \
| jq '[.[] | select(.marketplaceName == "skills")]'/data/plugins/<marketplaceId>.json
Full plugin records for one marketplace (repository, manifestPath, skills, errors, warnings). Take the marketplaceId from the index, then fetch its shard.
Response shape
[
{
"id": "1061953414-academy-guide",
"name": "academy-guide",
"description": "Recommends relevant Claude Academy courses…",
"version": "1.0.0",
"author": "Keith Lazuka",
"repository": "https://github.com/anthropics/skills",
"manifestPath": "academy-guide",
"isValid": true,
"errors": [],
"warnings": [],
"metadata": {
"marketplaceId": "1061953414",
"marketplaceName": "skills",
"skills": ["skills/academy-guide"]
}
}, … ]Example
curl -s https://shrwnsan.github.io/claude-marketplace-registry/data/plugins/1061953414.json | jq 'length' # plugins in that marketplace/data/history.json
One snapshot per daily scan — the source for every growth number on the site. Entries from ~Feb 2026 onward; developers was added mid-2026 and may be null in older entries.
Response shape
[
{ "date": "2026-02-23T…Z", "marketplaces": 3, "plugins": 178, "stars": 114193 },
{ "date": "2026-09-18T…Z", "marketplaces": 100, "plugins": 1274, "stars": 311529, "developers": 396 },
… ]Example
curl -s https://shrwnsan.github.io/claude-marketplace-registry/data/history.json | jq 'length' # days recordedData contract notes
marketplaces.jsonandplugins.jsonare bare arrays;stats.jsonwraps its payload in{success, data, meta}.plugins.jsonis a compact index — fetchdata/plugins/<marketplaceId>.jsonfor a marketplace's full plugin records (repository, manifestPath, skills).- Growth rates are
nulluntil a baseline snapshot (>0 days old) exists — treat null as “no data”, not zero. - Topic counts overlap: one plugin appears under every topic its marketplace carries. Never render them as a pie chart.
- Plugin-level
starsare the parent marketplace's stars; downloads are not published (GitHub does not expose them per plugin). - Join plugins to marketplaces via
metadata.marketplaceId === marketplace.id(string comparison on both sides).