IPFS Content Gateway
Store and retrieve files on the InterPlanetary File System (IPFS) -- a decentralized, content-addressed storage network. Upload files up to 10MB, retrieve content by CID, and list your upload history.
Actions
retrieve
Fetch content from IPFS by its Content Identifier (CID). Supports both CIDv0 (Qm...) and CIDv1 (bafy...) formats. Multiple gateways are tried automatically for reliability.
Required fields:
action—"retrieve"cid— The IPFS Content Identifier to retrieve
Example:
{
"action": "retrieve",
"cid": "QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG"
}
Response includes: content (text preview up to 10,000 chars or binary indicator), content_type, content_length, gateway_url, and ipfs_url.
upload
Upload a file to IPFS. The file is pinned so it remains available on the network. Maximum file size is 10MB.
Required fields:
action—"upload"content— Base64-encoded file contentfilename— Original filename with extension (e.g.,"report.pdf")
Optional fields:
pinning_api_key— Your own pinning service API key for unlimited uploadspinning_service— Which service your API key is for. Required whenpinning_api_keyis provided. One of:"pinata","web3storage","nftstorage"
Example (using shared service):
{
"action": "upload",
"content": "SGVsbG8gV29ybGQh",
"filename": "hello.txt"
}
Example (using your own Pinata key):
{
"action": "upload",
"content": "SGVsbG8gV29ybGQh",
"filename": "hello.txt",
"pinning_api_key": "your-pinata-jwt-token",
"pinning_service": "pinata"
}
Response includes: cid, filename, file_size_bytes, file_size_mb, ipfs_url, and multiple gateway_urls for accessing the content.
list
List all files you have previously uploaded through this tool, sorted by most recent first.
Required fields:
action—"list"
Example:
{
"action": "list"
}
Response includes: array of uploads (each with cid, filename, file_size, upload_date, ipfs_url, gateway_url), plus totals for upload count and combined size.
Common Workflows
Store a document permanently
- Base64-encode your file content
- Use
uploadwith the encoded content and filename - Save the returned CID -- this is the permanent address of your content
Retrieve previously stored content
- Use
retrievewith the CID you received from an upload or found elsewhere - Text content is returned directly; binary content is identified by type
Review your upload history
- Use
listto see all files you have uploaded - Each entry includes the CID and gateway URL for easy access
Important Notes
- File size limit: 10MB maximum per upload
- Content encoding: Files must be base64-encoded before uploading
- CID formats: Both CIDv0 (
Qm...) and CIDv1 (bafy...) are supported for retrieval - Persistence: Uploaded content is pinned to IPFS, meaning it will remain available as long as the pinning service maintains it
- Gateway fallback: Retrieval automatically tries multiple gateways if the first one fails
- Own credentials: For heavy usage, provide your own API key from Pinata, Web3.Storage, or NFT.Storage to avoid shared service limits







