You can now create and connect Amazon S3 resources through the Vercel Marketplace without leaving your Vercel project dashboard.
The Amazon S3 Marketplace integration automatically adds connection details as environment variables and lets you manage resources alongside your application infrastructure, with links to AWS for deeper configuration. Authentication uses short-lived OIDC credentials without storing static AWS keys.
Amazon S3 is also available in v0, which provisions resources, configures connections, and generates code from your prompt.
import { createS3 } from '@vercel/aws';const os = createS3();An S3 client authenticated through Vercel OIDC, with no static AWS keys.
import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";import { awsCredentialsProvider } from "@vercel/functions/oidc";const s3 = new S3Client({region: process.env.AWS_REGION,credentials: awsCredentialsProvider({roleArn: process.env.AWS_ROLE_ARN,}),});export async function POST(request) {const formData = await request.formData();const file = formData.get("file");await s3.send(new PutObjectCommand({Bucket: process.env.S3_BUCKET_NAME,Key: file.name,Body: Buffer.from(await file.arrayBuffer()),ContentType: file.type,;Create S3 storage object upload function
Vercel Blob provides public and private storage for application file uploads, with built-in caching and CDN delivery close to your end users. Choose the Amazon S3 integration for existing AWS workflows, analytics on managed Iceberg tables with S3 Tables, or vector storage and search with S3 Vectors.
Get started in the Vercel Marketplace. Create a new AWS account through Vercel to receive $100 USD in credits, valid for six months, or link an existing account and manage your plan and usage from your Vercel dashboard. Linked accounts support only new buckets created through Vercel. Read the AWS announcement for examples and setup details.