AWS S3 Mock Server

S3-compatible mock server for dev and CI. Zero AWS setup.

Beeceptor’s S3 Community Mock Server is a fully S3-compatible, stateless mock endpoint designed for developers, testers, and CI environments. It supports all major S3 operations—such as bucket creation, object uploads/downloads, listing, deletions, multipart uploads, and policy management—using standard AWS SDKs in Node.js, Python, Java, and more. - No AWS account, credentials, or infrastructure setup is required. - The server accepts any dummy credentials and operates in a fixed `mock` region.- - Bucket-style endpoints are used and path-style addressing is supported via forcePathStyle. Example Resouce URL: https://s3-mock-bucket.mock.beeceptor.com/sample.txt Environment Variables: export AWS_ACCESS_KEY_ID=test-key export AWS_SECRET_ACCESS_KEY=test-secret export AWS_REGION=mock export AWS_S3_BUCKET=s3-mock-bucket

The hosted mock server empowers you to effortlessly simulate various AWS S3 APIs, and doesn't need any authentication/api-key. The setup is straightforward, you can configure the base URL in your code/SDK. You can also control the base URL using environment variables or a feature flag. You don't need any additional dependencies, and you can run the same code in both sandbox and production environments.

Use cases:

Integration testing, CI pipeline validation, contract testing, prototyping, and running demos or training sessions, without incurring AWS costs or risking real data. The server can return dynamic, realistic XML responses but does not persist data across requests. This is ideal for teams building S3-integrated applications who want fast, isolated, and low-friction testing environments.

AWS S3 mock server is up and running!

We have set up the mock routes to ensure a smooth adoption. Copy the URL below and set it as the API base URL in your code, and instantly harness the full potential of mocked AWS S3 APIs.

https://s3-mock-bucket.mock.beeceptor.com



Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/xml"
}
<?xml version="1.0" encoding="UTF-8"?>
<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Owner>
    <ID>{{faker 'string.uuid'}}</ID>
    <DisplayName>{{faker 'internet.userName'}}</DisplayName>
  </Owner>
  <Buckets>
    <Bucket>
      <Name>{{faker 'word.noun'}}</Name>
      <CreationDate>2025-05-01T12:00:00.000Z</CreationDate>
    </Bucket>
    <Bucket>
      <Name>{{faker 'word.noun'}}</Name>
      <CreationDate>2025-05-01T12:00:00.000Z</CreationDate>
    </Bucket>
    <Bucket>
      <Name>{{faker 'word.noun'}}</Name>
      <CreationDate>2025-05-01T12:00:00.000Z</CreationDate>
    </Bucket>
  </Buckets>
</ListAllMyBucketsResult>
Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/xml"
}
N/A
Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/xml"
}
N/A
Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/xml"
}
<Person>
  <Id>60d6d055-7cfc-42c9-911f-50c170a7d618</Id>
  <Name>Edwin Jenkins</Name>
  <Email>Selina_Tillman@yahoo.com</Email>
  <Phone>862-903-6677 x24342</Phone>
</Person>
Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/xml"
}
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>bucket</Name>
  <Prefix/>
  <KeyCount>{{faker 'number.int' '10'}}</KeyCount>
  <MaxKeys>1000</MaxKeys>
  <IsTruncated>false</IsTruncated>

  {{#repeat 10}}
  <Contents>
    <Key>{{faker 'system.fileName' ext='jpg'}}</Key>
         <LastModified>2025-05-01T12:00:00.000Z</LastModified>
    <ETag>"{{faker 'string.hexadecimal' length=32 casing='lower' prefix=''}}"</ETag>
    <Size>{{faker 'number.int' min=10000 max=5000000}}</Size>
    <StorageClass>STANDARD</StorageClass>
    <Owner>
      <ID>{{faker 'string.hexadecimal' length=24 casing='lower' prefix=''}}{{faker 'string.hexadecimal' length=8 casing='lower' prefix=''}}</ID>
      <DisplayName>{{faker 'internet.email'}}</DisplayName>
    </Owner>
  </Contents>
  {{/repeat}}

</ListBucketResult>
Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/xml"
}
N/A
Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/xml"
}
<CopyObjectResult>
  <ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag>
  <LastModified>2021-01-01T12:00:00.000Z</LastModified>
</CopyObjectResult>
Request Headers:
N/A
N/A
Response Headers:
{
  "x-amz-request-id": "32FE2CEB32F5EE25",
  "Content-Type": "image/png"
}
N/A
Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/xml"
}
N/A
Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/xml"
}
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Owner>
    <ID>owner-canonical-user-id</ID>
    <DisplayName>owner-display-name</DisplayName>
  </Owner>
  <AccessControlList>
    <Grant>
      <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
        <ID>owner-canonical-user-id</ID>
        <DisplayName>owner-display-name</DisplayName>
      </Grantee>
      <Permission>FULL_CONTROL</Permission>
    </Grant>
    <Grant>
      <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group">
        <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI>
      </Grantee>
      <Permission>READ</Permission>
    </Grant>
  </AccessControlList>
</AccessControlPolicy>
Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/xml"
}
<LocationConstraint xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  us-west-2
</LocationConstraint>
Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/xml"
}
<InitiateMultipartUploadResult>
  <Bucket>atharva</Bucket>
  <Key>package.json</Key>
  <UploadId>example-upload-id</UploadId>
</InitiateMultipartUploadResult>
Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/json"
}
{
  "status": "Success!"
}
Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/xml"
}
N/A
Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/xml"
}
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Location>https://bucket.amazonaws.com/beeceptor.txt</Location>
    <Bucket>Beeceptor</Bucket>
    <Key>/beeceptor.txt</Key>
    <ETag>"abc123def456-1"</ETag>
</CompleteMultipartUploadResult>
Request Headers:
N/A
N/A
Response Headers:
{
  "Content-Type": "application/xml"
}
N/A
Service Homepage: aws.amazon.com/s3/
blobstorages3-awssimple storage service