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
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.
?x-id=ListBuckets
N/A
N/A
{ "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>
?x-id=CreateBucket
N/A
N/A
{ "Content-Type": "application/xml" }
N/A
?x-id=DeleteBucket
N/A
N/A
{ "Content-Type": "application/xml" }
N/A
?x-id=GetObject
N/A
N/A
{ "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>
.*([?&]x-id=ListObjects(V2)?|[?&]list-type=2).*
N/A
N/A
{ "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>
?x-id=PutObject
N/A
N/A
{ "Content-Type": "application/xml" }
N/A
?x-id=CopyObject
N/A
N/A
{ "Content-Type": "application/xml" }
<CopyObjectResult> <ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag> <LastModified>2021-01-01T12:00:00.000Z</LastModified> </CopyObjectResult>
?x-id=DeleteObject
N/A
N/A
{ "x-amz-request-id": "32FE2CEB32F5EE25", "Content-Type": "image/png" }
N/A
?acl=
N/A
N/A
{ "Content-Type": "application/xml" }
N/A
?acl=
N/A
N/A
{ "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>
?location
N/A
N/A
{ "Content-Type": "application/xml" }
<LocationConstraint xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> us-west-2 </LocationConstraint>
?uploads=
N/A
N/A
{ "Content-Type": "application/xml" }
<InitiateMultipartUploadResult> <Bucket>atharva</Bucket> <Key>package.json</Key> <UploadId>example-upload-id</UploadId> </InitiateMultipartUploadResult>
/?partNumber=\d+&uploadId=[^&]+&x-id=UploadPart$
N/A
N/A
{ "Content-Type": "application/json" }
{ "status": "Success!" }
?object-lock=
N/A
N/A
{ "Content-Type": "application/xml" }
N/A
?uploadId=
N/A
N/A
{ "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>
?cors=
N/A
N/A
{ "Content-Type": "application/xml" }
N/A