Storage API & FTP
Besides the S3-compatible API, every storage zone is reachable over a simple HTTP API and over FTP. Both use the same credentials and act on the same objects.
Find your credentials under Storage → your zone → Storage access.
Hostnames
As with S3, the hostname is region-specific. Note these differ from the S3 endpoints — they are not interchangeable.
| Region | Code | Hostname |
|---|---|---|
| Frankfurt, DE | DE | storage.bunnycdn.com |
| London, UK | UK | uk.storage.bunnycdn.com |
| Stockholm, SE | SE | se.storage.bunnycdn.com |
| New York, US | NY | ny.storage.bunnycdn.com |
| Los Angeles, US | LA | la.storage.bunnycdn.com |
| Singapore, SG | SG | sg.storage.bunnycdn.com |
| Sydney, AU | SYD | syd.storage.bunnycdn.com |
| São Paulo, BR | BR | br.storage.bunnycdn.com |
| Johannesburg, ZA | JH | jh.storage.bunnycdn.com |
HTTP Storage API
Authenticate with an AccessKey header set to your storage zone password. Paths are /{zone-name}/{path}.
curl --request PUT \
--url https://storage.bunnycdn.com/your-storage-zone-name/media/video.mp4 \
--header "AccessKey: your-storage-zone-password" \
--header "Content-Type: application/octet-stream" \
--data-binary @video.mp4curl --request GET \
--url https://storage.bunnycdn.com/your-storage-zone-name/media/ \
--header "AccessKey: your-storage-zone-password" \
--header "Accept: application/json"# Download
curl --request GET \
--url https://storage.bunnycdn.com/your-storage-zone-name/media/video.mp4 \
--header "AccessKey: your-storage-zone-password" \
--output video.mp4
# Delete
curl --request DELETE \
--url https://storage.bunnycdn.com/your-storage-zone-name/media/video.mp4 \
--header "AccessKey: your-storage-zone-password"Use the read-only password for anything that only reads. A 401 means the key is wrong or has been rotated; a 404 on upload usually means the zone name in the path does not match the hostname's region.
FTP
Connect with any FTP client, FileZilla included. The connection details are in the Storage access panel:
| Setting | Value |
|---|---|
| Host | Your region's hostname from the table above |
| Username | Storage zone name |
| Password | Storage zone password |
| Port | 21 |
| Mode | Passive |
Which should I use?
Prefer the S3 API for new integrations — the tooling is better and you are not locked into a bespoke client. The HTTP API is a good fit for simple scripted uploads where pulling in an SDK is overkill, and FTP is mostly there for existing tools that already speak it.