API Reference

Programmatic access to SkillMill

API Access Requirements

REST API and MCP server access is available to Team and Enterprise subscribers. Anonymous and Free tier users cannot access APIs programmatically.

Authentication

Authenticate API requests using a Bearer token in the Authorization header:

Authorization: Bearer sc_live_YOUR_API_KEY

API Key Format

sc_live_[32 random characters]

Keys are shown once at creation. Store them securely.

Scopes

API keys have scopes that control access:

  • catalog:read - Read catalog and search
  • skills:read - Read skill details
  • safety:read - View safety scans
  • org:read - Read org info

Quick Start

cURL
curl -H "Authorization: Bearer sc_live_YOUR_API_KEY" \
  https://skillmill.ai/api/catalog
JavaScript
const response = await fetch('https://skillmill.ai/api/catalog', {
  headers: {
    'Authorization': 'Bearer sc_live_YOUR_API_KEY'
  }
});
const skills = await response.json();
Python
import requests

response = requests.get(
    'https://skillmill.ai/api/catalog',
    headers={'Authorization': 'Bearer sc_live_YOUR_API_KEY'}
)
skills = response.json()

Endpoints Reference

Catalog

MethodEndpointDescriptionScopes
GET/api/catalogList all skills in the catalogcatalog:read
GET/api/catalog/search?q={query}Search skills by keywordcatalog:read
GET/api/catalog/{vendorKey}/{skillKey}Get a specific skill by vendor and skill keyskills:read
GET/api/catalog/related?vendorKey={key}&skillKey={key}Get skills related to a specific skillcatalog:read
GET/api/featuredGet featured skillscatalog:read

Skills

MethodEndpointDescriptionScopes
GET/api/skills/{vendorKey}/{skillKey}/versionsList all versions of a skillskills:read
GET/api/skills/{vendorKey}/{skillKey}/versions/{version}Get a specific versionskills:read
GET/api/skills/{vendorKey}/{skillKey}/safetyGet safety scan resultssafety:read
GET/api/skills/{vendorKey}/{skillKey}/complianceGet spec compliance dataskills:read

Organizations & Publishers

MethodEndpointDescriptionScopes
GET/api/organizations/{slug}Get organization detailsorg:read
GET/api/publishers/{username}Get publisher profilecatalog:read

Votes

MethodEndpointDescriptionScopes
GET/api/votes?vendorKey={key}&skillKey={key}Get vote count for a skillcatalog:read
GET/api/votes/countsGet vote counts for multiple skillscatalog:read

Harnesses

MethodEndpointDescriptionScopes
GET/api/harnessesList available AI harnesses and modelscatalog:read

Error Responses

401

Unauthorized

{
  "error": "Unauthorized",
  "message": "API access requires Team or Enterprise subscription",
  "docs": "https://skillmill.ai/docs/api#authentication"
}
403

Forbidden (Insufficient Scope)

{
  "error": "Forbidden",
  "message": "API key does not have 'skills:write' scope",
  "required_scope": "skills:write"
}

MCP Server Access

Connect AI coding agents like Claude Code, Cursor, and Windsurf to SkillMill via MCP (Model Context Protocol).

npx skillmill-mcp

Available Tools

ToolDescription
search_skillsSearch the catalog by keyword
get_skillGet detailed info about a specific skill
list_featuredGet featured/trending skills
get_safety_scanGet safety scan results for a skill
list_harnessesList available AI harnesses

Claude Code Configuration

~/.claude/settings.json
{
  "mcpServers": {
    "skillmill": {
      "command": "npx",
      "args": ["skillmill-mcp"],
      "env": {
        "SKILLMILL_API_KEY": "sc_live_YOUR_API_KEY"
      }
    }
  }
}

Cursor Configuration

MCP Settings
{
  "mcpServers": {
    "skillmill": {
      "command": "npx",
      "args": ["skillmill-mcp"],
      "env": {
        "SKILLMILL_API_KEY": "sc_live_YOUR_API_KEY"
      }
    }
  }
}
UNKNOWN ENV