Loading...
Loading...
Integrate Bunny.net services (CDN, Storage, Stream, DNS, Edge Scripting, Shield, Magic Containers, Optimizer, Database). Use when building with Bunny.net APIs, deploying to Bunny CDN, uploading files to Edge Storage, managing video streaming, configuring DNS zones, writing edge scripts, setting up WAF/DDoS protection, deploying containers, or optimizing images. Triggers on "bunny", "bunnycdn", "b-cdn", "pull zone", "edge storage", "bunny stream".
npx skill4agent add mrgoonie/claudekit-skills bunnyAccessKey| Credential | Used For | Where to Find |
|---|---|---|
| Account API Key | Core API (Pull Zones, DNS, Statistics) | Dashboard → Account Settings |
| Storage Zone Password | Edge Storage API | Dashboard → Storage Zone → FTP & API Access |
| Stream Library API Key | Stream API | Dashboard → Stream → API |
# All APIs use the same header format
curl -H "AccessKey: YOUR_KEY" -H "Content-Type: application/json" https://api.bunny.net/...| Service | Base URL |
|---|---|
| Core (CDN, DNS, Zones) | |
| Edge Storage | |
| Stream | |
| Shield | |
| Edge Scripting | |
storageuknylasgsebrjhsyd# Create pull zone
curl -X POST https://api.bunny.net/pullzone \
-H "AccessKey: $BUNNY_API_KEY" -H "Content-Type: application/json" \
-d '{"Name":"my-cdn","OriginUrl":"https://origin.example.com"}'
# Add custom hostname
curl -X POST https://api.bunny.net/pullzone/{id}/addHostname \
-H "AccessKey: $BUNNY_API_KEY" -H "Content-Type: application/json" \
-d '{"Hostname":"cdn.example.com"}'
# Purge cache
curl -X POST https://api.bunny.net/pullzone/{id}/purgeCache \
-H "AccessKey: $BUNNY_API_KEY"
# Purge single URL
curl -X POST "https://api.bunny.net/purge?url=https://cdn.example.com/file.js" \
-H "AccessKey: $BUNNY_API_KEY"# Upload file (raw binary body, no encoding)
curl -X PUT https://storage.bunnycdn.com/{zone}/{path}/file.jpg \
-H "AccessKey: $STORAGE_PASSWORD" \
-H "Content-Type: application/octet-stream" \
--upload-file ./file.jpg
# Download file
curl -X GET https://storage.bunnycdn.com/{zone}/{path}/file.jpg \
-H "AccessKey: $STORAGE_PASSWORD" -o file.jpg
# List directory
curl https://storage.bunnycdn.com/{zone}/{path}/ \
-H "AccessKey: $STORAGE_PASSWORD"
# Delete file
curl -X DELETE https://storage.bunnycdn.com/{zone}/{path}/file.jpg \
-H "AccessKey: $STORAGE_PASSWORD"# Create video entry
curl -X POST https://video.bunnycdn.com/library/{libId}/videos \
-H "AccessKey: $STREAM_API_KEY" -H "Content-Type: application/json" \
-d '{"title":"My Video"}'
# Upload video (raw binary)
curl -X PUT https://video.bunnycdn.com/library/{libId}/videos/{videoId} \
-H "AccessKey: $STREAM_API_KEY" \
--data-binary '@video.mp4'
# Fetch from URL
curl -X POST https://video.bunnycdn.com/library/{libId}/videos/fetch \
-H "AccessKey: $STREAM_API_KEY" -H "Content-Type: application/json" \
-d '{"url":"https://example.com/video.mp4"}'
# Embed: <iframe src="https://iframe.mediadelivery.net/embed/{libId}/{videoId}" ...># Create DNS zone
curl -X POST https://api.bunny.net/dnszone \
-H "AccessKey: $BUNNY_API_KEY" -H "Content-Type: application/json" \
-d '{"Domain":"example.com"}'
# Add record
curl -X PUT https://api.bunny.net/dnszone/{zoneId}/records \
-H "AccessKey: $BUNNY_API_KEY" -H "Content-Type: application/json" \
-d '{"Type":0,"Name":"www","Value":"1.2.3.4","Ttl":300}'
# Type: 0=A, 1=AAAA, 2=CNAME, 3=TXT, 4=MX, 5=Redirect, 6=Flatten, 7=PullZone, 8=SRV, 9=CAA, 10=PTR, 11=Script, 12=NS# Create edge script
curl -X POST https://api.bunny.net/compute/script \
-H "AccessKey: $BUNNY_API_KEY" -H "Content-Type: application/json" \
-d '{"Name":"my-script","ScriptType":0}'
# ScriptType: 0=Standalone, 1=Middleware
# Deploy code
curl -X POST https://api.bunny.net/compute/script/{id}/code \
-H "AccessKey: $BUNNY_API_KEY" -H "Content-Type: application/json" \
-d '{"Code":"export default { async fetch(request) { return new Response(\"Hello\"); }}"}'
# Publish release
curl -X POST https://api.bunny.net/compute/script/{id}/publish \
-H "AccessKey: $BUNNY_API_KEY"# Create application
curl -X POST https://api.bunny.net/compute/container \
-H "AccessKey: $BUNNY_API_KEY" -H "Content-Type: application/json" \
-d '{"Name":"my-app","Containers":[{"Image":"nginx:latest","CpuLimit":500,"MemoryLimit":256}]}'
# Deploy
curl -X POST https://api.bunny.net/compute/container/{id}/deploy \
-H "AccessKey: $BUNNY_API_KEY"references/bunny-core-api-reference.mdreferences/bunny-storage-and-stream-reference.mdreferences/bunny-edge-scripting-and-shield-reference.mdreferences/bunny-optimizer-containers-database-reference.mdreferences/bunny-integrations-and-sdks-reference.mdWebFetch https://docs.bunny.net/{service}/{topic}.mdhttps://docs.bunny.net/llms.txtBUNNY_API_KEY=your-account-api-key
BUNNY_STORAGE_PASSWORD=your-storage-zone-password
BUNNY_STORAGE_ZONE=your-storage-zone-name
BUNNY_STORAGE_REGION=storage # or uk, ny, la, sg, se, br, jh, syd
BUNNY_STREAM_API_KEY=your-stream-library-api-key
BUNNY_STREAM_LIBRARY_ID=your-library-id