Overview

Storj is a decentralized cloud storage platform that splits, encrypts, and distributes files across thousands of independent nodes worldwide. Unlike traditional cloud storage, no single server holds your complete file, which gives you stronger privacy and data resilience. Use the Storj API to upload objects, manage buckets, generate presigned download URLs, and control access credentials.

💡

Beginner Tip

Storj offers an S3-compatible gateway (link.storjshare.io) so you can test uploads with the same curl commands you would use against AWS S3 — just swap the endpoint URL and use your Storj Access Grant as the credential.

Available Data

Storj data via REST API
JSON-formatted response data
Requires API key authentication

Example Response

JSON Response
{
  "file_id": "f_abc123",
  "filename": "document.pdf",
  "size_bytes": 1048576,
  "mime_type": "application/pdf",
  "download_url": "https://example.com/files/f_abc123",
  "created_at": "2025-01-15T10:00:00Z"
}

Field Reference

id Unique identifier for the project (UUID format).
name Human-readable project name you assigned in the console.
created_at Timestamp when the project was created.
storage_used Total bytes currently stored across all buckets in this project.
bandwidth_used Egress bandwidth consumed in the current billing period, in bytes.

Implementation Example

const url = "https://docs.storj.io/dcs/";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "X-API-Key": "YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

401 Unauthorized Missing or incorrect API key / Access Grant in the Authorization header.
Generate an Access Grant in the Storj web console and pass it as the Bearer token: `Authorization: Bearer <access-grant>`.
No such bucket (404) The bucket name in your request does not exist in your project.
Create the bucket first via the dashboard or the `storj mb sj://bucket-name` CLI command before making API calls against it.
Upload hangs or times out Large files uploaded without multipart chunking can exceed connection limits.
Use Storj's multipart upload API for files over 64 MB, or switch to the CLI/SDK which handles chunking automatically.

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 10/20
🔒 Security 15/15
🛠 Developer XP 12/20
✓ Reliability 10/15

Partially tested on Apr 5, 2026

Technical Specifications

Auth API Key
HTTPS REQUIRED
CORS UNKNOWN
Difficulty Intermediate
Verified: 2026-04-07

Similar APIs

View All →