Pull down the most recent item in an Amazon S3 bucket.
CoffeeScript JavaScript
Switch branches/tags
Latest commit 87364dc Aug 7, 2015 @bobzoller bobzoller 1.1.0
Failed to load latest commit information.
bin Update the s3-latest cmd line until May 12, 2015
lib adds support for a glob parameter Aug 7, 2015
src adds support for a glob parameter Aug 7, 2015
.gitignore No more npm-debug.log Nov 13, 2013
README.md Add npm badge! Dec 6, 2013
package.json 1.1.0 Aug 7, 2015




A teeny tiny utility that retrieves the latest item in an Amazon S3 bucket. Designed as a great way to get the most recent backup of something. There are probably other uses.

Using from the command line

  1. Put AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY in your environment.
  2. npm install -g s3-latest
  3. s3-latest --bucket bucketname --before 2013-12-12 | tar -xzv

Using from node.js

var S3Latest = require('s3-latest');
var configuration = {
  bucket: 'bucketName',
  before: new Date("Mon, 02 Dec 2013 00:00:00 GMT")

// option 1:

// option 2:
S3Latest(configuration, function(err, backup) {
  var fs = require('fs');
  if(err) return console.error(err.toString());


These can be passed in as command line options or as keys to the configuration object.

  • --bucket: S3 bucket name
  • --prefix: String to search for files with. Needs to be at the beginning of the key. Usually used for s3 folder names.
  • --before: A date (or a moment.js-compatible string representation of a date). Returns the latest object in the bucket after this date.

S3 Object details

When using the api with option 2 (see above), you can access the following information about the latest S3 object:

  • Owner: {ID: '<< AWS IAM User id>>', DisplayName: '<< AWS IAM Display Name >>'}
  • Size: size of the object in bytes
  • ETag: version information
  • LastModified: timestamp
  • Key: S3 Key