- Read CSV, JSON, and other data files from S3 buckets
- Upload files to S3 buckets (when write access is enabled)
- List and browse objects in a bucket with prefix filtering
- Integrate external data sources into your Lovable app
- Access batch data exports from enterprise data pipelines
Common use cases and example apps
How AWS S3 connections work
Each AWS S3 connection is tied to a single S3 bucket. When you connect AWS S3, you provide IAM credentials with access to that bucket. By default, connections are read-only, but you can enable read-write access to allow file uploads. Within your Lovable workspace:- You can create multiple AWS S3 connections.
- Each connection targets a specific bucket and AWS region.
- Each connection uses its own IAM credentials.
- Multiple projects within a single workspace can use the same connection.
By default, each AWS S3 connection has read-only access. To enable file uploads, set the Access type to Read & write when creating or editing the connection. Even with write access enabled, the connector does not support deleting objects.
How to connect AWS S3
Workspace admins and owners can connect AWS S3. When a connection is created, the S3 bucket becomes available across all projects in the workspace.Prerequisites
Before connecting AWS S3, make sure you have:- An AWS account with access to the S3 bucket you want to connect
- An IAM user with the appropriate S3 permissions (see below)
- The bucket name and AWS region
- Lovable workspace admin or owner role
Step 1: Create an IAM user with S3 access
Before setting up the connection in Lovable, create an IAM user in AWS with the minimum permissions needed.1
Open the AWS IAM console
Go to the AWS IAM console and create a new IAM user, or use an existing one, for Lovable to use.
2
Attach an S3 policy
Create and attach an inline policy, or managed policy, with the following permissions. Replace For read and write access (includes upload):
YOUR-BUCKET-NAME with your actual bucket name.For read-only access:3
Generate access keys
In the IAM user’s Security credentials tab, create an access key. Save both the Access Key ID and Secret Access Key, since you’ll need them in the next step.
Step 2: Connect AWS S3 to Lovable
1
Navigate to the AWS S3 connector
Open Connectors → App connectors and select AWS S3.
2
Add a new connection
Click Add connection.
3
Name the connection
In Display name, enter a name for the connection, for example
S3 (Production Data).4
Configure the connection
Fill in the required fields:
- Bucket name: the name of the S3 bucket (for example,
my-data-bucket) - AWS region: the region where the bucket is located (for example,
us-east-1) - Access key ID: the IAM access key ID from the previous step
- Secret access key: the IAM secret access key from the previous step
- Access type: choose Read only (default) or Read & write. Read & write enables file uploads via signed URLs. Make sure the IAM policy includes
s3:PutObjectif you enable this.
5
Connect
Click Connect. Lovable verifies the credentials by checking access to the bucket. If verification succeeds, the connection is ready to use.
CORS configuration for signed URLs
File downloads and uploads use signed URLs, where the browser accesses S3 directly. For this to work, your S3 bucket must have a CORS (Cross-Origin Resource Sharing) policy that allows requests from your app’s origin. Without it, the browser will block the request. To configure CORS on your bucket:- Open the S3 console and select your bucket.
- Go to Permissions → Cross-origin resource sharing (CORS).
- Add a CORS configuration. Replace
https://your-app-id.lovable.appwith your app’s actual URL:
Limitations
The AWS S3 connector does not support:- Deleting objects in the bucket
- Connecting to S3-compatible services other than AWS S3, such as MinIO or DigitalOcean Spaces
- Per-user AWS login where each end user connects their own AWS account
- Real-time event notifications or S3 event triggers
How to unlink projects from a connection
Editors and above can remove specific projects from a connection without deleting the connection entirely. The connection will remain available for other projects. To unlink projects:1
Open Connectors
Open Connectors, then go to App connectors, and select .
2
Open the connection
Open the connection you want to manage.
3
Select projects
Under Linked projects, check the projects you want to unlink.
4
Confirm
Click Unlink projects and confirm.
How to delete a connection
Workspace admins and owners can delete connections. Other members can delete a connection if they created it, or if they have been explicitly granted access to it. Before deleting, review the Linked projects section to see which projects are currently using the connection. To delete a connection:1
Open Connectors
Open Connectors, then go to App connectors, and select .
2
Open the connection
Open the connection you want to remove.
3
Review linked projects
Review the Linked projects section.
4
Delete
Under Delete this connection, click Delete and confirm.