Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Migrate from Pinata

Same API calls, better privacy.

API Mapping

Pinata 1.xPinnerPinata 2.xPinner
pinata.uploadadapter.uploadpinata.uploadadapter.upload
pinata.pinListadapter.pin.listpinata.pinListadapter.pin.list
pinata.unpinadapter.pin.removepinata.unpinadapter.pin.remove

Upload Public File

const result = await pinata.upload.public.file(file);

List Pins

const result = await pinata.pinList({ status: "pinned" });

Delete Pin

const result = await pinata.unpin(cid);

Test migration now

export PINNER_API_KEY="your_api_key"
npm install @lumeweb/pinner
import { pinataAdapter } from "@lumeweb/pinner";
 
const adapter = pinataAdapter({ jwt: process.env.PINNER_API_KEY });
 
// Quick test
const test = await adapter.upload.public.json({ test: true }).execute();
console.log("CID:", test.cid);

Unsupported features?

See the Adapter Limitations table for feature compatibility.


Get Pinner API key → signup  Full adapter reference →