Skip to content

What is DigitalOcean Spaces?

DigitalOcean Spaces is the S3-compatible object storage built into DigitalOcean's developer-focused cloud platform — the same DigitalOcean that runs over 600,000 customers' Droplets, App Platform apps, and Managed Databases. Spaces follows DigitalOcean's signature pricing approach: one flat $5/month subscription includes 250 GiB of storage, 1 TiB of outbound transfer, and the Spaces CDN at no extra cost. Beyond the included quota, additional storage runs $0.02/GiB and additional outbound transfer is $0.01/GiB — making Spaces particularly attractive for small-to-medium workloads where the bundled CDN matters.

Where Spaces fits is the gap between consumer cloud (Dropbox, Google Drive) and serious object storage (S3, Wasabi, B2, R2). Solo developers and small teams running a static site, a SaaS file store, or a media archive get bucket storage + global CDN for $5/month flat — no per-request fees, no surprise egress within the 1 TiB allowance. The ~150 requests/second rate cap is the main consideration for high-throughput migrations: CloudsLinker paces multipart uploads accordingly. Above 150 RPS sustained, DigitalOcean asks you to file a support ticket. Inbound bandwidth never counts against your transfer quota — making Spaces an easy migration destination from any other cloud.

Key features of DigitalOcean Spaces

Why connect DigitalOcean Spaces to CloudsLinker

CloudsLinker connects to DigitalOcean Spaces with standard S3-style Access Key + Secret + region-specific endpoint (e.g. nyc3.digitaloceanspaces.com, fra1.digitaloceanspaces.com, sgp1.digitaloceanspaces.com). Once connected, transfers run server-to-server using the S3 multipart upload API. The same connector works for Spaces as source, destination, or both sides of a cross-region replication. CloudsLinker respects DigitalOcean's recommended request rate (≤ 150 RPS per Space) automatically and handles the multipart upload size constraints quietly.

What you can do with DigitalOcean Spaces on CloudsLinker

S3-compatible multipart copies

S3-compatible multipart copies

Migrate from AWS S3, Wasabi, B2 or R2 into Spaces at full multipart speed. Inbound transfer to Spaces never counts against the 1 TiB transfer allowance.

No bandwidth from your side

No bandwidth from your side

Spaces transfers run on CloudsLinker's servers. Your home or office connection plays no role in throughput.

Scheduled & incremental sync

Scheduled & incremental sync

Hourly / daily / weekly schedules. Useful for keeping a Spaces bucket as a CDN-fronted origin while replicating to a separate S3 backup.

Filter by prefix, size, modified date

Filter by prefix, size, modified date

Migrate only <code>/assets/2026/</code>, skip files > 1 GB, or sync only this week's writes.

Common DigitalOcean Spaces transfer scenarios

Static site origin: migrate AWS S3 + CloudFront → Spaces + free CDN

If your static site or media bucket on S3 + CloudFront serves under 1 TiB/month of egress, switching to DigitalOcean Spaces saves money instantly — $5/month flat covers what would cost $30–60/month on AWS. CloudsLinker copies the bucket via multipart-parallel; CDN-enable on the Spaces side, point your domain at the Spaces CDN URL, and you're done.

Off-site DR: AWS S3 / Wasabi / B2 → Spaces

Keep your primary on AWS or Wasabi, your DR replica on Spaces. Inbound to Spaces is always free, so the ongoing replication cost is just storage ($0.02/GiB beyond 250 GiB). For sub-1-TiB workloads, $5/month covers everything.

Migrate Spaces → Cloudflare R2 if access patterns shifted

Spaces' 1 TiB free transfer is generous but still capped — at high volumes ($0.01/GiB beyond), R2's true zero-egress wins. CloudsLinker copies the bucket into R2 in one job, with multipart parallel upload.

Backup target for DigitalOcean App Platform / Droplet workloads

Apps running on DigitalOcean Droplets often want a Spaces bucket as their durable object store. CloudsLinker schedules incremental copies from external sources (S3, Google Drive, Box) into a Spaces bucket on a nightly cadence.

Cross-region replication between Spaces datacenters

Mirror NYC3 → FRA1 for European users, or NYC3 → SGP1 for APAC. Each region is a separate connection in CloudsLinker — schedule a delta sync between them with conflict rules.

How to connect DigitalOcean Spaces to CloudsLinker

DigitalOcean Spaces uses S3-style Access Key + Secret Key, plus a region-specific endpoint URL.

Before you start

Create a dedicated Spaces Access Key for CloudsLinker — never reuse a key shared with other tools:

  1. Sign in to the DigitalOcean control panel at https://cloud.digitalocean.com.
  2. Go to API in the left navigation → Spaces Keys tab.
  3. Click Generate New Key.
  4. Enter a name (e.g. cloudslinker-migrate).
  5. DigitalOcean shows the Access Key and Secret Key once. Copy both immediately.

Connection steps

  1. In CloudsLinker, click Add Cloud → choose DigitalOcean Spaces.
  2. Enter a display name (e.g. “Spaces NYC3 — production”).
  3. Paste the Access Key and Secret Key from step 5 above.
  4. Enter the Endpoint URL matching your Space’s region:
    • nyc3.digitaloceanspaces.com (New York 3)
    • ams3.digitaloceanspaces.com (Amsterdam 3)
    • sgp1.digitaloceanspaces.com (Singapore 1)
    • fra1.digitaloceanspaces.com (Frankfurt 1)
    • sfo3.digitaloceanspaces.com (San Francisco 3)
    • blr1.digitaloceanspaces.com (Bangalore 1)
    • syd1.digitaloceanspaces.com (Sydney 1)
    • tor1.digitaloceanspaces.com (Toronto 1)
  5. Click Confirm — CloudsLinker validates with ListBuckets and shows the connection ready.

Revoke access

To revoke CloudsLinker’s key later: DigitalOcean control panel → API → Spaces Keys → find the key → Delete. Or rotate by generating a new key first and updating CloudsLinker before deleting the old one.

DigitalOcean Spaces upload & download limits you should know

Spaces is S3-compatible with one important DigitalOcean-specific constraint: a soft request rate cap that requires a support ticket to exceed:

  • Maximum object size: 5 TB via multipart upload.
  • Maximum single PUT: 5 GB. Beyond that, multipart is required.
  • Multipart parts: 5 MB minimum, 5 GB maximum, up to 10,000 parts.
  • CDN-presigned multipart payload cap: 7.91 MiB. Doesn’t apply to direct origin uploads (which CloudsLinker uses).
  • Recommended request rate: ~150 requests/second per Space. Above this, open a support ticket. Cold Storage buckets have higher per-bucket caps (450 write, 250 read, 25 list per second).
  • Storage pricing: $5/month base subscription → 250 GiB pooled storage + 1 TiB pooled outbound transfer + free CDN. Beyond base: $0.02/GiB storage, $0.01/GiB outbound transfer.
  • Inbound bandwidth: always free. Never counts against the transfer allowance.
  • Multipart cleanup: 30 days. Incomplete multipart uploads auto-deleted to prevent storage leaks.
  • API rate limits beyond 150 RPS: Spaces returns standard S3 throttle responses; CloudsLinker handles back-off.
  • Object Lock: not currently supported. Use Wasabi / B2 / S3 with Object Lock for immutable backups.
  • Bucket / object count: practically unlimited within plan.

Sources: DigitalOcean Spaces Pricing, Spaces Limits, Spaces Performance Best Practices, Spaces S3 Compatibility.

DigitalOcean Spaces + CloudsLinker — Frequently Asked Questions

Does the $5/month subscription cover multiple Spaces buckets?

Yes. The base subscription gives you a pooled 250 GiB storage + 1 TiB outbound transfer that all your Spaces buckets share, regardless of how many you create. Billing starts when you create the first bucket and ends when you destroy all of them.

What's the maximum object size on Spaces?

S3-equivalent: 5 TB per object via multipart upload. Single PUT is capped at 5 GB. CloudsLinker switches to multipart automatically above 100 MB. Note: multipart uploads sent through the CDN with presigned URLs have a 7.91 MiB payload cap, but CloudsLinker uses the direct origin endpoint, not CDN-presigned URLs.

How do the request rate limits work?

DigitalOcean's performance docs recommend keeping requests under ~150 per second per Space. Sustained workloads above this require opening a support ticket. CloudsLinker paces multipart uploads to stay within the guidance — typical migrations into Spaces run at 30–50 GB/hour per connection, well under the rate cap.

Are my DigitalOcean keys safe with CloudsLinker?

Yes. Spaces Access Key and Secret are encrypted at rest with AES-256 and decrypted only inside the active transfer worker. We recommend creating a Spaces key dedicated to CloudsLinker rather than reusing one with project-wide permissions.

Does CloudsLinker support DigitalOcean's Spaces CDN?

CloudsLinker writes objects to the Spaces origin endpoint. Once an object lands, you can manually CDN-enable the entire bucket from the DigitalOcean console — the CDN serves cached copies of your bucket objects globally at no extra cost.

What happens to incomplete multipart uploads if a job fails?

DigitalOcean auto-deletes incomplete multipart uploads after 30 days, preventing storage charges from interrupted jobs. CloudsLinker also explicitly aborts multipart uploads on job cancellation to free space immediately.

Does Spaces support Object Lock for ransomware-resistant backups?

Spaces does not currently support S3 Object Lock with WORM retention. For immutable backups, choose Wasabi, Backblaze B2, or AWS S3 with Object Lock as the destination instead.

Are inbound transfers (uploads) really free?

Yes — inbound bandwidth never counts against the 1 TiB transfer allowance. This makes Spaces an unusually friendly migration destination: you can seed a 5 TB bucket from another cloud and only pay for the storage above 250 GiB, never for the transfer in.

How does Spaces compare to Wasabi or B2 at scale?

For workloads under 1 TB and under 1 TiB egress/month, Spaces ($5/mo flat) is cheaper. Beyond that, Wasabi ($6.99/TB) or B2 ($6/TB) are cheaper per-TB at scale. Spaces wins on small-team simplicity (flat pricing, included CDN, no surprise bills); Wasabi/B2 win on raw $/TB at multi-TB scale.

Is this an official DigitalOcean partnership?

No. CloudsLinker is a third-party tool that uses Spaces' S3-compatible API under your Spaces Access Key. Revoke access by deleting the Spaces key from the DigitalOcean control panel → API → Spaces Keys → revoke.

Conclusion

DigitalOcean Spaces solves the tedious 'I just need a bucket with a CDN' problem with one $5 subscription, free inbound, and no surprise bills under typical small-to-medium workload volumes. CloudsLinker connects via standard S3 keys + region endpoint and handles the rate cap, multipart upload, and cross-region replication automatically. Connect once and run migrations or backups in minutes.

Online storage services supported by CloudsLinker

Transfer data between over 49 cloud services with CloudsLinker

OneDrive

OneDrive

Google Drive

Google Drive

Google Photos

Google Photos

Shared Drive

Shared Drive

OneDrive for Business

OneDrive for Business

Dropbox

Dropbox

Box

Box

Mega

Mega

pCloud

pCloud

Yandex

Yandex

ProtonDrive

ProtonDrive

AWS

AWS

GCS

GCS

iDrive

iDrive

Storj

Storj

DigitalOcean

DigitalOcean

Wasabi

Wasabi

1fichier

1fichier

PikPak

PikPak

TeleBox

TeleBox

OpenDrive

OpenDrive

Backblaze B2

Backblaze B2

Fastmail file

Fastmail file

SharePoint

SharePoint

Nextcloud

Nextcloud

ownCloud

ownCloud

Premiumize me

Premiumize me

HiDrive

HiDrive

Put.io

Put.io

Sugar Sync

Sugar Sync

Jottacloud

Jottacloud

Seafile

Seafile

Ftp

Ftp

SFtp

SFtp

NAS

NAS

WebDav

WebDav

4shared

4shared

Icedrive

Icedrive

Cloudflare R2

Cloudflare R2

Scaleway

Scaleway

Doi

Doi

iCloud Drive

iCloud Drive

iCloud Photos

iCloud Photos

FileLU

FileLU

Zoho WorkDrive

Zoho WorkDrive

Telia Cloud / Sky

Telia Cloud / Sky

Drime

Drime

Filen

Filen

TeraBox

TeraBox

Didn't find your cloud service? Contact: [email protected]