Need help with serverless-http?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

1.3K Stars 131 Forks Other 287 Commits 37 Opened issues


Use your existing middleware framework (e.g. Express, Koa) in AWS Lambda ğŸŽ‰

Services available


Need anything else?

Contributors list


Build Status


The 2.0 release moves to async/await and requires Node 8+.

All frameworks have been updated to their latest versions.


This module allows you to 'wrap' your API for serverless use. No HTTP server, no ports or sockets. Just your code in the same execution pipeline you are already familiar with.


Supported Frameworks

(* Experimental)

  • Connect
  • Express
  • Koa
  • Restana
  • Sails *
  • Hapi *
  • Fastify *
  • Restify *
  • Polka *
  • Loopback *

Supported Providers

  • AWS


Please check the


Usage example using the Koa framework

const serverless = require('serverless-http');
const Koa = require('koa'); // or any supported framework

const app = new Koa();

app.use(/* register your middleware as normal */);

// this is it! module.exports.handler = serverless(app);

// or as a promise const handler = serverless(app); module.exports.handler = async (event, context) => { // you can do other things here const result = await handler(event, context); // and here return result; };

Other examples

json-server-less-λ - using serverless-http with json-server and serverless framework in AWS


Your code is running in a serverless environment. You cannot rely on your server being 'up' in the sense that you can/should not use in-memory sessions, web sockets, etc. You are also subject to provider specific restrictions on request/response size, duration, etc.

Think of this as a familiar way of expressing your app logic, not trying to make serverless do something it cannot.


Pull requests are welcome! Especially test scenarios for different situations and configurations.

Further Reading

Here are some more detailed examples and advanced configuration options as well as provider-specific documentation

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.