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.

CORS: * Updated daily ~00:00 UTC Served via GitHub Pages CDN

Base URL

https://shrwnsan.github.io/claude-marketplace-registry

Append 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

data/stats.json
{ "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

data/marketplaces.json
[
  {
    "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

data/plugins.json
[
  {
    "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

data/plugins/<marketplaceId>.json
[
  {
    "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

data/history.json
[
  { "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 recorded

Data contract notes

  • marketplaces.json and plugins.json are bare arrays; stats.json wraps its payload in {success, data, meta}.
  • plugins.json is a compact index — fetch data/plugins/<marketplaceId>.json for a marketplace's full plugin records (repository, manifestPath, skills).
  • Growth rates are null until 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 stars are 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).