Bunny.net website screenshot

Bunny.net

Bunny.net is a content-delivery and edge platform offering a global CDN, edge storage, video streaming, DNS, image optimisation, edge scripting, and WAF / security shielding. The Bunny.net Core Platform REST API at api.bunny.net manages account-level resources - Pull Zones, Storage Zones, DNS Zones, Stream video libraries, statistics, billing, purge, API keys, and reference data (countries, regions). Product-specific data-plane APIs sit on dedicated hosts: Edge Storage at storage.bunnycdn.com, Stream uploads at video.bunnycdn.com, Shield (WAF), Optimizer, and the Scripting / Magic Containers edge-compute API. All APIs use the AccessKey header for authentication, with API keys issued from the bunny.net dashboard.

16 APIs 0 Features
CDNEdgeVideoStorageDNSWAFEdge ComputeImage Optimization

APIs

Bunny.net Core Platform API

REST API for managing account-level bunny.net resources - Pull Zones, Storage Zones, DNS Zones, Stream Video Libraries, statistics, billing, purge, API keys, and reference data ...

Bunny.net Pull Zones API

Endpoints for creating and configuring CDN Pull Zones - origin configuration, edge rules, hostnames, SSL certificates, cache settings, and security headers.

Bunny.net Storage Zones API

Endpoints for creating and managing edge Storage Zones, replication regions, and access keys used by the Edge Storage data-plane.

Bunny.net Edge Storage API

Object-storage data-plane API for uploading, downloading, listing, and deleting files inside a Storage Zone. Regional hosts are derived from the zone's primary region (e.g. ny.s...

Bunny.net DNS API

Endpoints for managing DNS zones and records on the Bunny.net DNS platform, including geo-steering and load-balancing record types.

Bunny.net Stream API

Video streaming API for managing Video Libraries, videos, collections, captions, chapters, transcoding profiles, and DRM. Upload and playback are served via dedicated video.bunn...

Bunny.net Stream Webhooks

Signed HTTP POST webhooks delivered by Bunny Stream to the WebhookUrl configured on a Video Library whenever a video transitions to a new processing state (Queued, Processing, E...

Bunny.net Shield API

Security and WAF configuration API for Bunny Shield - managed rules, custom rules, bot detection, rate-limiting policies, and DDoS mitigation settings attached to Pull Zones.

Bunny.net Optimizer

Image and front-end optimisation service attached to Pull Zones - image resizing, format conversion (WebP/AVIF), quality controls, and automatic CSS/JS minification. Configured ...

Bunny.net Scripting / Edge Compute API

Edge-compute API for deploying and managing Bunny Edge Scripts - JavaScript/TypeScript functions that run on the Bunny.net edge network to mutate requests and responses, with as...

Bunny.net Purge API

Cache purge endpoints for invalidating cached content by URL, by Pull Zone, or by tag across the Bunny.net global edge network.

Bunny.net Statistics API

Endpoints returning bandwidth, request, status-code, and geographic traffic statistics for the account and per Pull Zone or Storage Zone.

Bunny.net Billing API

Billing endpoints for retrieving account balance, monthly usage and invoices, and applying promo codes.

Bunny.net API Keys API

Endpoints for managing API keys (AccessKey) issued for the account.

Bunny.net Countries API

Reference endpoint returning the list of countries Bunny.net supports for geo-targeting in Pull Zone and DNS rules.

Bunny.net Regions API

Reference endpoint returning the list of Bunny.net edge and storage regions for use in zone configuration.

Collections

GraphQL

Bunny.net GraphQL Schema

This is a conceptual GraphQL schema for the Bunny.net platform, representing the data model underlying Bunny.net's CDN, edge storage, video streaming, DNS, security (Shield/WAF)...

GRAPHQL

Pricing Plans

Bunny Net Plans Pricing

1 plans

PLANS

Rate Limits

Bunny Net Rate Limits

2 limits

RATE LIMITS

FinOps

Event Specifications

Bunny.net Stream Webhooks

AsyncAPI definition of the Bunny Stream webhook surface. Bunny Stream sends a signed HTTP POST callback to the `WebhookUrl` configured on a Video Library whenever the state of a...

ASYNCAPI

Resources

🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
👥
GitHub
GitHub
🟢
Status
Status
💰
Pricing
Pricing
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
LlmsText
LlmsText

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Bunny.net Core Platform API
  version: '1.0'
request:
  auth:
    type: apikey
    key: AccessKey
    value: '{{AccessKey}}'
    placement: header
items:
- info:
    name: PullZones
    type: folder
  items:
  - info:
      name: List pull zones
      type: http
    http:
      method: GET
      url: https://api.bunny.net/pullzone
      params:
      - name: page
        value: ''
        type: query
      - name: perPage
        value: ''
        type: query
      - name: includeCertificate
        value: ''
        type: query
    docs: List pull zones
  - info:
      name: Add a pull zone
      type: http
    http:
      method: POST
      url: https://api.bunny.net/pullzone
      body:
        type: json
        data: '{}'
    docs: Add a pull zone
  - info:
      name: Get pull zone
      type: http
    http:
      method: GET
      url: https://api.bunny.net/pullzone/:id
      params:
      - name: id
        value: ''
        type: path
    docs: Get pull zone
  - info:
      name: Update pull zone
      type: http
    http:
      method: POST
      url: https://api.bunny.net/pullzone/:id
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update pull zone
  - info:
      name: Delete pull zone
      type: http
    http:
      method: DELETE
      url: https://api.bunny.net/pullzone/:id
      params:
      - name: id
        value: ''
        type: path
    docs: Delete pull zone
  - info:
      name: Purge pull zone cache
      type: http
    http:
      method: POST
      url: https://api.bunny.net/pullzone/:id/purgeCache
      params:
      - name: id
        value: ''
        type: path
    docs: Purge pull zone cache
  - info:
      name: Add allowed referer
      type: http
    http:
      method: POST
      url: https://api.bunny.net/pullzone/:id/addAllowedReferer
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Add allowed referer
  - info:
      name: Remove allowed referer
      type: http
    http:
      method: POST
      url: https://api.bunny.net/pullzone/:id/removeAllowedReferer
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Remove allowed referer
  - info:
      name: Add blocked IP
      type: http
    http:
      method: POST
      url: https://api.bunny.net/pullzone/:id/addBlockedIP
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Add blocked IP
  - info:
      name: Remove blocked IP
      type: http
    http:
      method: POST
      url: https://api.bunny.net/pullzone/:id/removeBlockedIP
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Remove blocked IP
  - info:
      name: Add custom certificate
      type: http
    http:
      method: POST
      url: https://api.bunny.net/pullzone/:id/addCustomCertificate
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Add custom certificate
  - info:
      name: Add custom hostname
      type: http
    http:
      method: POST
      url: https://api.bunny.net/pullzone/:id/addCustomHostname
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Add custom hostname
  - info:
      name: Remove custom hostname
      type: http
    http:
      method: POST
      url: https://api.bunny.net/pullzone/:id/removeCustomHostname
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Remove custom hostname
  - info:
      name: Set force SSL on hostname
      type: http
    http:
      method: POST
      url: https://api.bunny.net/pullzone/:id/setForceSSL
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Set force SSL on hostname
  - info:
      name: Reset token authentication key
      type: http
    http:
      method: POST
      url: https://api.bunny.net/pullzone/:id/resetTokenKey
      params:
      - name: id
        value: ''
        type: path
    docs: Reset token authentication key
- info:
    name: StorageZones
    type: folder
  items:
  - info:
      name: List storage zones
      type: http
    http:
      method: GET
      url: https://api.bunny.net/storagezone
    docs: List storage zones
  - info:
      name: Add a storage zone
      type: http
    http:
      method: POST
      url: https://api.bunny.net/storagezone
      body:
        type: json
        data: '{}'
    docs: Add a storage zone
  - info:
      name: Get storage zone
      type: http
    http:
      method: GET
      url: https://api.bunny.net/storagezone/:id
      params:
      - name: id
        value: ''
        type: path
    docs: Get storage zone
  - info:
      name: Update storage zone
      type: http
    http:
      method: POST
      url: https://api.bunny.net/storagezone/:id
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update storage zone
  - info:
      name: Delete storage zone
      type: http
    http:
      method: DELETE
      url: https://api.bunny.net/storagezone/:id
      params:
      - name: id
        value: ''
        type: path
    docs: Delete storage zone
  - info:
      name: Reset storage zone password
      type: http
    http:
      method: POST
      url: https://api.bunny.net/storagezone/:id/resetPassword
      params:
      - name: id
        value: ''
        type: path
    docs: Reset storage zone password
  - info:
      name: Reset read-only password
      type: http
    http:
      method: POST
      url: https://api.bunny.net/storagezone/:id/resetReadOnlyPassword
      params:
      - name: id
        value: ''
        type: path
    docs: Reset read-only password
- info:
    name: DNSZones
    type: folder
  items:
  - info:
      name: List DNS zones
      type: http
    http:
      method: GET
      url: https://api.bunny.net/dnszone
    docs: List DNS zones
  - info:
      name: Add DNS zone
      type: http
    http:
      method: POST
      url: https://api.bunny.net/dnszone
      body:
        type: json
        data: '{}'
    docs: Add DNS zone
  - info:
      name: Get DNS zone
      type: http
    http:
      method: GET
      url: https://api.bunny.net/dnszone/:id
      params:
      - name: id
        value: ''
        type: path
    docs: Get DNS zone
  - info:
      name: Update DNS zone
      type: http
    http:
      method: POST
      url: https://api.bunny.net/dnszone/:id
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update DNS zone
  - info:
      name: Delete DNS zone
      type: http
    http:
      method: DELETE
      url: https://api.bunny.net/dnszone/:id
      params:
      - name: id
        value: ''
        type: path
    docs: Delete DNS zone
  - info:
      name: Add DNS record
      type: http
    http:
      method: POST
      url: https://api.bunny.net/dnszone/:id/records
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Add DNS record
  - info:
      name: Update DNS record
      type: http
    http:
      method: POST
      url: https://api.bunny.net/dnszone/:id/records/:recordId
      params:
      - name: id
        value: ''
        type: path
      - name: recordId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update DNS record
  - info:
      name: Delete DNS record
      type: http
    http:
      method: DELETE
      url: https://api.bunny.net/dnszone/:id/records/:recordId
      params:
      - name: id
        value: ''
        type: path
      - name: recordId
        value: ''
        type: path
    docs: Delete DNS record
  - info:
      name: Enable DNSSEC
      type: http
    http:
      method: POST
      url: https://api.bunny.net/dnszone/:id/enableDNSSEC
      params:
      - name: id
        value: ''
        type: path
    docs: Enable DNSSEC
  - info:
      name: Disable DNSSEC
      type: http
    http:
      method: POST
      url: https://api.bunny.net/dnszone/:id/disableDNSSEC
      params:
      - name: id
        value: ''
        type: path
    docs: Disable DNSSEC
- info:
    name: Stream
    type: folder
  items:
  - info:
      name: List video libraries
      type: http
    http:
      method: GET
      url: https://api.bunny.net/videolibrary
    docs: List video libraries
  - info:
      name: Add video library
      type: http
    http:
      method: POST
      url: https://api.bunny.net/videolibrary
      body:
        type: json
        data: '{}'
    docs: Add video library
  - info:
      name: Get video library
      type: http
    http:
      method: GET
      url: https://api.bunny.net/videolibrary/:id
      params:
      - name: id
        value: ''
        type: path
    docs: Get video library
  - info:
      name: Update video library
      type: http
    http:
      method: POST
      url: https://api.bunny.net/videolibrary/:id
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update video library
  - info:
      name: Delete video library
      type: http
    http:
      method: DELETE
      url: https://api.bunny.net/videolibrary/:id
      params:
      - name: id
        value: ''
        type: path
    docs: Delete video library
- info:
    name: Statistics
    type: folder
  items:
  - info:
      name: Get account statistics
      type: http
    http:
      method: GET
      url: https://api.bunny.net/statistics
      params:
      - name: dateFrom
        value: ''
        type: query
      - name: dateTo
        value: ''
        type: query
      - name: pullZone
        value: ''
        type: query
      - name: serverZoneId
        value: ''
        type: query
      - name: loadErrors
        value: ''
        type: query
      - name: hourly
        value: ''
        type: query
    docs: Get account statistics
  - info:
      name: Get optimizer statistics
      type: http
    http:
      method: GET
      url: https://api.bunny.net/statistics/optimizer
    docs: Get optimizer statistics
  - info:
      name: Get SafeHop statistics
      type: http
    http:
      method: GET
      url: https://api.bunny.net/statistics/safehop
    docs: Get SafeHop statistics
- info:
    name: Billing
    type: folder
  items:
  - info:
      name: Get billing details
      type: http
    http:
      method: GET
      url: https://api.bunny.net/billing
    docs: Get billing details
  - info:
      name: Get billing summary
      type: http
    http:
      method: GET
      url: https://api.bunny.net/billing/summary
    docs: Get billing summary
  - info:
      name: Get pending payment requests
      type: http
    http:
      method: GET
      url: https://api.bunny.net/billing/paymentRequests
    docs: Get pending payment requests
- info:
    name: Purge
    type: folder
  items:
  - info:
      name: Purge URL from CDN
      type: http
    http:
      method: POST
      url: https://api.bunny.net/purge
      params:
      - name: url
        value: ''
        type: query
      - name: async
        value: ''
        type: query
    docs: Purge URL from CDN
- info:
    name: APIKeys
    type: folder
  items:
  - info:
      name: List API keys
      type: http
    http:
      method: GET
      url: https://api.bunny.net/apikey
    docs: List API keys
- info:
    name: Countries
    type: folder
  items:
  - info:
      name: Get country list
      type: http
    http:
      method: GET
      url: https://api.bunny.net/countries
    docs: Get country list
- info:
    name: Regions
    type: folder
  items:
  - info:
      name: List regions
      type: http
    http:
      method: GET
      url: https://api.bunny.net/region
    docs: List regions
bundled: true