> ## Documentation Index
> Fetch the complete documentation index at: https://www.octoparse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Amazon S3 integration

> Upload Octoparse export files to Amazon S3 — IAM permissions, Access Key setup, file naming and overwrite behavior.

Upload scraped data directly to an Amazon S3 bucket. Multiple file formats are supported.

## Prerequisites

* Octoparse Professional plan or above
* An AWS account with the target S3 bucket already created
* An IAM user with `s3:PutObject` permission on the target bucket

***

## Configure IAM permissions

Octoparse uses an Access Key to write to S3 — create a dedicated IAM user and grant only the minimum required permissions.

Minimum-permission policy example:

```json theme={null}
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:PutObject"],
      "Resource": "arn:aws:s3:::your-bucket-name/*"
    }
  ]
}
```

After creating the IAM user, generate an Access Key in **Security credentials** and save the Access Key ID and Secret Access Key.

***

## Configure the export

Fill in the export settings in the following order:

**Configuration name**

Give the config a name so you can reuse it later. The dropdown lets you pick an existing config or type a new name to create one.

**Connection details**

| Field             | Description                                       |
| ----------------- | ------------------------------------------------- |
| Authentication    | Authentication method — currently only Access key |
| Access key ID     | The IAM user's Access Key ID                      |
| Secret access key | The IAM user's Secret Access Key                  |
| Service area      | AWS region (pick from the dropdown)               |
| Bucket            | Target bucket name                                |

> **Security:** the Access Key has write permission on the target bucket. Don't share it or commit it to a code repository, and rotate it periodically.

**Export data as**

Pick the upload file format: Excel, CSV, HTML, JSON, or XML.

**File naming settings**

| Option                                | Description                                                |
| ------------------------------------- | ---------------------------------------------------------- |
| Same as task name                     | Filename matches the task name; repeated exports overwrite |
| Append current timestamp to task name | Each export creates a new file, keeping history            |
| Use a custom name                     | Specify the filename manually                              |

**When a file with the same name already exists**

| Option                                   | Description                                          |
| ---------------------------------------- | ---------------------------------------------------- |
| Create a new file with current timestamp | Keeps the original; new file gets a timestamp suffix |
| Replace the existing file                | Overwrites the original                              |
| Append new data to the existing file     | Appends to the existing file (CSV / Excel only)      |

Click **Confirm** to save the config and start the export.

***

## Common errors

| Error              | Cause                                    | Fix                                          |
| ------------------ | ---------------------------------------- | -------------------------------------------- |
| `InvalidKeySecret` | Wrong Access Key ID or Secret Access Key | Re-verify credentials                        |
| `NoSuchBucket`     | Bucket name wrong or doesn't exist       | Confirm the bucket name                      |
| `PermissionDenied` | Insufficient IAM permissions             | Check the IAM policy includes `s3:PutObject` |
| `IllegalLocation`  | Bucket region doesn't match Service area | Select the bucket's actual region            |
| `FormatError`      | Configuration malformed                  | Verify every field is filled in              |
