Getting Started with Pinata

Whether you’re brand new to IPFS or a seasoned developer, Pinata makes it simple to store and retrieve content with speed and security. All you need to kick off your journey is a free Pinata account!

1. Get API key and Gateway URL

Inside the Pinata App select “API Keys” from the sidebar, then click “New Key” in the top right. We would recommend starting with Admin privileges and unlimited uses to start. You will receive a pinata_api_key, pinata_api_secret, and a JWT. The JWT is the most common authentication method and what we’ll be using below.

Next you will want to grab your Dedicated Gateway domain by clicking the Gateways tab in the sidebar. You should see it listed in the format fun-llama-300.mypinata.cloud and you will want to copy it exactly like that.

2. Install and Setup SDK

In the root of your project run the install command with your package manager of choice.

Import and initialize the SDK in your codebase with the API key and Gateway from the previous step

import { PinataSDK } from "pinata-web3";

const pinata = new PinataSDK({
  pinataJwt: "PINATA_JWT",
  pinataGateway: "example-gateway.mypinata.cloud",
});
The PINATA_JWT is a secret key, be sure to initialize the SDK in a secure environment and practice basic variable security practices. If you need to upload from a client environment, consider using signed JWTs

2. Upload a File

Use the upload method to upload a File object.

You should get a response object like the one below

{
  IpfsHash: "bafkreibm6jg3ux5qumhcn2b3flc3tyu6dmlb4xa7u5bf44yegnrjhc4yeq",
  PinSize: 20,
  Timestamp: "2024-02-03T18:42:14.989Z"
}

The IpfsHash is more commonly recognized as the CID, both a hash verifying the content’s authenticity but also it serves as the address to the file.

3. Retrieve a File from IPFS

Use the CID or IpfsHash from the upload to fetch a file

What’s Next?

Ready to see more of what Pinata has to offer? Here are some additional features and concepts to help you get the most out of our platform: