Skip to main content
Run any Skill in Manus
with one click
$pwd:
API.md
REST API

# API Documentation

Access SkillsMP Skills data programmatically through our REST API. Support keyword search and AI semantic search.

Authentication
Endpoints

GET /api/v1/skills/search

Search skills using keywords

ParameterTypeRequiredDescription
qstringSearch query
pagenumber-Page number (default: 1)
limitnumber-Items per page (default: 20, max: 100)
sortBystring-Sort order: stars | recent (default: recent)
categorystring-Filter by category slug (e.g. data-ai, devops).
occupationstring-Filter by SOC occupation slug (e.g. software-developers-151252).

GET /api/v1/skills/ai-search

AI semantic search powered by Cloudflare AI

ParameterTypeRequiredDescription
qstringAI search query

Rate Limits

  • *Anonymous (no API key): 50 requests/day, 10 requests/min — keyword search only
  • *Authenticated (with API key): 500 requests/day, 30 requests/min — all endpoints
  • *Wildcard searches (e.g. *) are not supported

Every API response includes the following headers to help you track quota usage:

HeaderDescription
X-RateLimit-Daily-LimitYour daily request limit
X-RateLimit-Daily-RemainingRemaining requests for today
Code Examples

Keyword Search

curl -X GET "https://skillsmp.com/api/v1/skills/search?q=SEO" \
  -H "Authorization: Bearer sk_live_your_api_key"

Search with occupation filter

curl -X GET "https://skillsmp.com/api/v1/skills/search?q=automation&occupation=software-developers-151252&sortBy=stars" \
  -H "Authorization: Bearer sk_live_your_api_key"

AI Semantic Search

curl -X GET "https://skillsmp.com/api/v1/skills/ai-search?q=How+to+create+a+web+scraper" \
  -H "Authorization: Bearer sk_live_your_api_key"
Error Handling

The API uses standard HTTP status codes and returns error details in JSON format.

Error CodeHTTPDescription
MISSING_API_KEY401API key not provided (required for AI search)
INVALID_API_KEY401Invalid API key
MISSING_QUERY400Missing required query parameter
DAILY_QUOTA_EXCEEDED429Daily API quota exceeded
INTERNAL_ERROR500Internal server error

Error Response Example:

json
{
  "success": false,
  "error": {
    "code": "INVALID_API_KEY",
    "message": "The provided API key is invalid"
  }
}