Skip to content

Archivos

Sube, lista y recupera archivos en IPFS.

Files page showing uploaded and pinned files

Subir Archivo

POST /upload/new

Sube cualquier archivo a IPFS. El archivo se fija y se devuelve un CID permanente.

Cuerpo de la solicitud

ParámetroTipoRequeridoDescripción
contentstring | objectObjeto/arreglo JSON, o datos de archivo codificados en base64 (imágenes, PDFs, HTML o cualquier tipo de archivo).
descriptionstringNoDescripción corta del contenido subido.
metadataobjectNoPares clave-valor personalizados para adjuntar al archivo. Máximo 10 claves. Las claves deben ser alfanuméricas o guion bajo, de 1 a 64 caracteres. Los valores deben ser cadenas, máximo 256 caracteres cada uno. El tamaño total de los metadatos no debe exceder 4 KB.

Ejemplo de solicitud

bash
curl -X POST https://api.ipfs.ninja/upload/new \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "content": { "name": "example", "value": 42 },
    "description": "Test upload",
    "metadata": {
      "project": "my-app",
      "environment": "production"
    }
  }'

Subir una imagen (base64)

javascript
const fs = require("fs");
const image = fs.readFileSync("photo.png").toString("base64");

const response = await fetch("https://api.ipfs.ninja/upload/new", {
  method: "POST",
  headers: {
    "X-Api-Key": "bws_your_api_key_here",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    content: image,
    description: "Profile photo"
  })
});

Respuesta 200 OK

json
{
  "cid": "QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
  "sizeMB": 0.042,
  "uris": {
    "ipfs": "ipfs://QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
    "url": "https://ipfs.ninja/ipfs/QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN"
  }
}

Listar Archivos

GET /upload/list

Recupera una lista de tus archivos IPFS subidos dentro de un rango de tiempo.

Parámetros de consulta

ParámetroTipoRequeridoDescripción
fromnumberInicio del rango de tiempo, marca de tiempo Unix en milisegundos.
tonumberFin del rango de tiempo, marca de tiempo Unix en milisegundos.

Ejemplo de solicitud

bash
curl "https://api.ipfs.ninja/upload/list?from=1704067200000&to=1735689600000" \
  -H "X-Api-Key: bws_your_api_key_here"

Respuesta 200 OK

json
[
  {
    "cid": "QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
    "fileName": "Test upload",
    "fileType": "json",
    "sizeMB": 0.001,
    "createdAt": 1711036800000,
    "metadata": {
      "project": "my-app",
      "environment": "production"
    },
    "uris": {
      "ipfs": "ipfs://QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
      "url": "https://ipfs.ninja/ipfs/QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN"
    }
  }
]

Obtener Archivo

GET /file/:cid

Recupera los metadatos de un archivo subido específico por su CID.

Parámetros de ruta

ParámetroTipoRequeridoDescripción
cidstringEl identificador de contenido IPFS del archivo.

Ejemplo de solicitud

bash
curl https://api.ipfs.ninja/file/QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN \
  -H "X-Api-Key: bws_your_api_key_here"

Respuesta 200 OK

json
{
  "cid": "QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
  "fileName": "Test upload",
  "fileType": "json",
  "sizeMB": 0.001,
  "createdAt": 1711036800000,
  "uris": {
    "ipfs": "ipfs://QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
    "url": "https://ipfs.ninja/ipfs/QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN"
  }
}