Prerequisites
- A Bright Data account with an active API token
- An AWS account with an S3 bucket
- IAM credentials with write access to the bucket
- Familiarity with the async request workflow
Step 1: Create an S3 bucket
If you already have a bucket, skip to Step 2. In the AWS S3 Console:- Click Create bucket
- Enter a bucket name (e.g.,
linkedin-scraper-data) - Select your preferred AWS region
- Keep default settings and click Create bucket
Step 2: Set up IAM permissions
Create an IAM role that grants Bright Data write access to your bucket.Create a policy
In the IAM Console, go to Policies and create a new policy with this JSON:linkedin-scraper-data with your actual bucket name.
Create a role for Bright Data
- Go to Roles > Create role
- Select AWS account as the trusted entity type
- Enter Bright Data’s AWS account ID:
422310177405 - Attach the policy you created above
- Name the role (e.g.,
BrightDataS3Delivery) - Note the role ARN (e.g.,
arn:aws:iam::123456789012:role/BrightDataS3Delivery)
Step 3: Configure delivery in Bright Data
- Navigate to your scraper configuration
- Click the Delivery settings tab
- Select Amazon S3 as the delivery destination
- Enter your credentials:
- Bucket name: Your S3 bucket name
- Role ARN: The IAM role ARN from Step 2
- Region: Your S3 bucket region
- Path prefix (optional): A folder path within the bucket (e.g.,
linkedin/profiles/)
- Select your preferred file format (JSON, NDJSON, or CSV)
- Click Save
Step 4: Trigger a collection
Trigger an async collection. Results are automatically delivered to your S3 bucket:Step 5: Verify delivery
Once the collection completes, check your S3 bucket for the delivered file:s_m1a2b3c4d5e6f7g8h.json).
Download and inspect it:
Troubleshooting
Files not appearing in S3?
Files not appearing in S3?
- Verify the IAM role ARN and external ID are correct
- Check that the bucket policy allows
s3:PutObjectfrom Bright Data’s account - Ensure the bucket region matches your configuration
- Review delivery status in the Bright Data dashboard under Logs
Access denied errors?
Access denied errors?
Verify the trust policy on your IAM role includes Bright Data’s account (
422310177405) and your external ID matches your Bright Data customer ID found in Account settings.Delivered file is empty or missing records?
Delivered file is empty or missing records?
Check the collection status in the Bright Data dashboard. If some URLs failed, the delivered file contains only successful results. Retry failed URLs in a separate request.
Next steps
Set up webhooks
Receive results at your HTTP endpoint.
All delivery options
Snowflake, Azure, GCS, SFTP, and more.