A Common Lisp Amazon S3 client interface package

Upstream URL


Sven Van Caekenberghe <>


Sven Van Caekenberghe <>


Lesser Lisp General Public License (LLGPL)


CL-S3 is a Common Lisp library that implements a client interface to the Amazon S3 Web Service.

More specifically, CL-S3

  • uses the Amazon S3 REST interface
  • does proper authorization
  • implements all S3 API calls with all options
  • parses the XML returned by some of the API
  • converts S3 error responses to proper Common Lisp condition objects
  • allows custom meta header (including canned access policies) and query parameters
  • does proper keep-alive processing (courtesy S-HTTP-CLIENT)
  • is portable over Common Lisp implementations (courtesy of S-SYSDEPS)
  • can optionally validate get and put object calls using MD5 hashing
  • contains 2 example higher level functions converting XML to simpler data
  • contains 2 example higher level functions for uploading and downloading files to and from S3
  • is properly packaged and has a documented public API
  • should be installed using ASDF

CL-S3 was written by Sven Van Caekenberghe and is available under an LLGPL license.

Please read the full Amazon S3 documentation and study the Common Lisp source code before contacting me with ;-)

There is an interesting post on Nicky Peeters' Blog showing how to get started using CL-S3.

Dependencies (5)

  • ironclad
  • s-base64
  • s-http-client
  • s-utils
  • s-xml

Dependents (0)

    • GitHub
    • Quicklisp