Skip to content

Arquivos

Faça upload, liste e recupere arquivos no IPFS.

Files page showing uploaded and pinned files

Fazer Upload de Arquivo

POST /upload/new

Faça upload de qualquer arquivo para o IPFS. O arquivo é fixadfixado é um CID permanente é retornretornado.

Corpo da requisição

ParâmetroTipoObrigatórioDescrição
contentstring | objectSimObjeto/array JSON, ou dados de arquivo codificados em base64 (imagens, PDFs, HTML ou qualquer tipo de arquivo).
descriptionstringNãoDescrição curta do conteúdo enviado.
metadataobjectNãoPares chave-valor personalizados para anexar ao arquivo. Máximo 10 chaves. As chaves devem ser alfanuméricas ou underscore, de 1 a 64 caracteres. Os valores devem ser strings, máximo 256 caracteres cada. O tamanho total dos metadados não deve exceder 4 KB.

Exemplo de requisição

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"
    }
  }'

Fazendo upload de uma imagem (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"
  })
});

Resposta 200 OK

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

Listar Arquivos

GET /upload/list

Recupere uma lista dos seus arquivos IPFS enviados dentro de um intervalo de tempo.

Parâmetros de consulta

ParâmetroTipoObrigatórioDescrição
fromnumberSimInicio do intervalo de tempo, timestamp Unix em milissegundos.
tonumberSimFim do intervalo de tempo, timestamp Unix em milissegundos.

Exemplo de requisição

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

Resposta 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"
    }
  }
]

Obter Arquivo

GET /file/:cid

Recupere os metadados de um arquivo enviado específico pelo seu CID.

Parâmetros de caminho

ParâmetroTipoObrigatórioDescrição
cidstringSimO identificador de conteúdo IPFS do arquivo.

Exemplo de requisição

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

Resposta 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"
  }
}