🔌 API Reference

Base URL: https://api.beepack.dev/v1

Authentication

Public endpoints (GET) don't require authentication. To publish, use a Bearer token:

Authorization: Bearer <your-token>

Get your token via beepack login or in your profile settings.

List Packages

GET /packages

List all public packages.

Query Parameters

Parameter Type Description
page integer Page number (default: 1)
limit integer Results per page (default: 20, max: 100)
sort string Sort by: stars, downloads, updated (default: stars)

Response

{
  "packages": [
    {
      "slug": "notion-sync",
      "displayName": "Notion Sync",
      "description": "Bidirectional sync with Notion",
      "owner": "guillaume",
      "version": "1.2.0",
      "stats": {
        "stars": 45,
        "downloads": 1200
      },
      "keywords": ["notion", "sync"],
      "updatedAt": "2026-03-26T10:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 150
  }
}

Get Package

GET /packages/:slug

Get package details.

Path Parameters

slug required string Package slug (e.g., "notion-sync")

Response

{
  "slug": "notion-sync",
  "displayName": "Notion Sync",
  "description": "Bidirectional sync with Notion API",
  "owner": {
    "handle": "guillaume",
    "avatarUrl": "https://..."
  },
  "latestVersion": "1.2.0",
  "versions": ["1.0.0", "1.1.0", "1.2.0"],
  "stats": {
    "stars": 45,
    "downloads": 1200,
    "comments": 5
  },
  "keywords": ["notion", "sync", "database"],
  "capabilities": ["read_database", "write_pages"],
  "requires": {
    "env": ["NOTION_API_KEY"]
  },
  "compatible": ["cursor", "copilot", "claude"],
  "readme": "# Notion Sync\n\n...",
  "license": "MIT",
  "createdAt": "2026-01-15T10:00:00Z",
  "updatedAt": "2026-03-26T10:00:00Z"
}
GET /search

Semantic search in packages.

Query Parameters

q required string Search query (natural language)
capabilities string[] Filter by capabilities
compatible string Filter by runtime (cursor, copilot, etc.)
minStars integer Minimum star count

Example

GET /search?q=sync+with+notion+database&capabilities=read_database

Response

{
  "query": "sync with notion database",
  "results": [
    {
      "slug": "notion-sync",
      "description": "Bidirectional sync with Notion",
      "score": 0.94,
      "stats": { "stars": 45, "downloads": 1200 }
    }
  ],
  "total": 1,
  "searchTime": 45
}

Download Package

GET /download

Download a package (ZIP).

Query Parameters

slug required string Package slug
version string Version (default: latest)

Response

Binary ZIP file with Content-Type: application/zip

Publish Package

POST /packages

Publish a new package or version. Requires authentication.

Request Body

Multipart form data with:

files required files[] Package files (including HIVE.yaml)
changelog string Changelog for this version

Response

{
  "success": true,
  "package": {
    "slug": "notion-sync",
    "version": "1.3.0"
  },
  "message": "Package published successfully"
}

Rate Limits

Endpoint Unauthenticated Authenticated
GET (read) 100/min 1000/min
POST (write) N/A 60/min
Search 30/min 300/min

Errors

{
  "error": {
    "code": "NOT_FOUND",
    "message": "Package 'xyz' not found",
    "status": 404
  }
}
Code Status Description
UNAUTHORIZED401Invalid or missing token
FORBIDDEN403Access denied
NOT_FOUND404Resource not found
VALIDATION_ERROR422Invalid data
RATE_LIMITED429Too many requests