AWS S3 has a great, but little known functionality: You can request metadata about the content of the bucket in XML. This makes it a great storage space for all kinds of batch oriented applications. No need for a self-written API.

Requesting the metadata is easy, it's just a GET request to the root of the buckets' URL: http://[bucket_name]

The response will look like this:


The premise for this to work is that your bucket has to be configured correctly - your users will need to be able to list the bucket and to get objects from it. This is the appropriate AWS policy:

  "Version": "2012-10-17",
  "Statement": [
      "Sid": "PublicReadGetObject",
      "Effect": "Allow",
      "Principal": "*",
      "Action": [
      "Resource": [
        "arn:aws:s3:::{{ bucket_name }}",
        "arn:aws:s3:::{{ bucket_name }}/*"

Furthermore your bucket needs to be configured to "host a website". This is a property that you can set in the AWS S3 console.