Docs

Bunny Edge Storage

5 min readUpdated June 28, 2026

Bunny Edge Storage is a global edge storage network from Bunny.net. Unlike S3-compatible providers, Bunny Edge Storage uses its own native API. WP Media Cloud integrates with it directly, giving you full access to Bunny’s storage zones, CDN delivery, and token authentication for WooCommerce secure downloads.

Before you start#

You will need:

  • A Bunny.net account. Create one at bunny.net.
  • A Bunny Edge Storage zone with at least one storage region configured.
  • Your Bunny.net API key (account-level, found in your account settings).
  • Your storage zone name and password.
  • Optionally, a Bunny CDN pull zone pointed at your storage zone for CDN delivery.

Step 1: Create a storage zone in Bunny#

Log in to your Bunny dashboard and go to Storage. Click Add Storage Zone. Give the zone a name — this will be part of your file URLs so use something clean and lowercase. Select a primary storage region closest to your server or your main audience. Click Add Storage Zone to create it.

Once the zone is created, go to its FTP & API Access tab and note the following:

  • Storage Zone Name — the name you gave the zone
  • Password — the storage zone password, used to authenticate API requests
  • Hostname — the endpoint hostname for your zone’s primary region (e.g. storage.bunnycdn.com or a regional variant such as uk.storage.bunnycdn.com)

Step 2: Find your Bunny API key#

In your Bunny dashboard, click your account name in the top right and go to Account Settings. Scroll to the API section and copy your API key. This is an account-level key used to list storage zones and manage settings. Keep it secure.

Step 3: Connect Bunny Edge Storage in WP Media Cloud#

You have two options for connecting Bunny to WP Media Cloud. Use whichever suits your setup.

Option A: Setup wizard

Go to WP Media Cloud > Setup Wizard. The wizard walks you through provider selection, credential entry, and pull zone configuration. It can auto-detect your existing Bunny storage zones so you do not need to copy and paste every field manually. This is the recommended option for most users.

Option B: wp-config.php constants

Add the following constants above the /* That's all, stop editing! */ line in wp-config.php:

define( 'WPMC_PROVIDER',                'bunny' );
define( 'WPMC_BUNNY_API_KEY',           'your-bunny-api-key' );
define( 'WPMC_BUNNY_STORAGE_ZONE',      'your-storage-zone-name' );
define( 'WPMC_BUNNY_STORAGE_PASSWORD',  'your-storage-zone-password' );
define( 'WPMC_BUNNY_STORAGE_REGION',    'de' );
define( 'WPMC_BUNNY_PULL_ZONE_ID',      123456 );
define( 'WPMC_BUNNY_PULL_ZONE_HOSTNAME','yourzone.b-cdn.net' );

Once the constants are in place, go to WP Media Cloud > Settings > Storage and confirm the plugin has loaded them. Constants defined in wp-config.php override any values saved in the settings panel and are recommended for production sites and version-controlled codebases where credentials should not be editable through the WordPress admin.

Set WPMC_BUNNY_STORAGE_REGION to the region code for your storage zone’s primary region. Common values are de (Falkenstein), uk (London), ny (New York), la (Los Angeles), sg (Singapore), and se (Stockholm). The correct code is shown in your Bunny dashboard under the storage zone’s FTP & API Access tab.

Step 4: Test the connection#

Click Test Connection. WP Media Cloud will upload a small test file to your storage zone and confirm it can be read back. A green success message confirms the connection is working. If the test fails, check your storage zone password and endpoint hostname. The password is not the same as your account API key.

Bunny Edge Storage can serve files directly from the storage endpoint, but using a Bunny CDN pull zone gives you edge caching across Bunny’s global network. To set up a pull zone:

  1. In the Bunny dashboard, go to CDN and click Add Pull Zone.
  2. Give the pull zone a name and set the origin URL to your storage zone’s endpoint (e.g. https://[zone-name].b-cdn.net or your storage zone’s direct URL).
  3. Copy the pull zone hostname (e.g. yourzone.b-cdn.net or a custom domain if you have one configured).
  4. In WP Media Cloud, go to Settings > CDN, select Bunny CDN, and enter the pull zone hostname.
  5. Save settings.

All media URLs will now point to the Bunny CDN pull zone rather than directly to the storage endpoint.

Step 6: Enable WooCommerce secure downloads (optional)#

If you sell downloadable products through WooCommerce, you can enable signed URL downloads using Bunny’s token authentication. See WooCommerce Secure Downloads for setup instructions.

Troubleshooting#

Connection test returns 401 Unauthorized
The storage zone password is incorrect. Go to the FTP & API Access tab of your storage zone in the Bunny dashboard and copy the password again. It is not the same as your account API key.

Connection test returns 404 Not Found
The storage zone name is incorrect or the endpoint hostname does not match the zone’s primary region. Check both in the FTP & API Access tab.

Files upload successfully but URLs return 404
Your CDN pull zone origin URL is not correctly pointed at your storage zone. Check the pull zone configuration in the Bunny dashboard and confirm the origin URL matches your storage zone endpoint.

Images load slowly on first request
This is expected CDN cold-cache behaviour. The first request to a CDN edge node that hasn’t cached the file yet must travel to origin storage. Subsequent requests are served from the edge cache. See How WP Media Cloud works for more detail.

Wrong region endpoint
Bunny uses different hostnames per storage region. If you selected a regional zone (UK, DE, NY, LA, SG, and others), ensure your endpoint hostname matches the region. The correct hostname is shown in the FTP & API Access tab of your storage zone.

This website uses cookies to enhance your browsing experience and ensure the site functions properly. By continuing to use this site, you acknowledge and accept our use of cookies.

Accept All Accept Required Only