Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including faastjs with all npm packages installed. Try it out:

require("@types/node/package.json"); // @types/node is a peer dependency. var faastjs = require("faastjs")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

faastjs v4.0.6

Serverless batch computing made simple.


License CircleCI codecov Codacy Badgesemantic-release FOSSA Status

Faast.js makes regular functions callable as serverless functions on AWS Lambda and Google Cloud. It handles the details of uploading your code, creating cloud infrastructure, and cleaning up. Scale up your functions to a thousand cores in seconds :rocket:

Faast.js is a pure library with no service dependencies, operational overhead, or unnecessary complexity.


Faast.js requires node version 8+.

$ npm install faastjs


First write the functions you want to run in a serverless function. Make sure to export them:

// functions.ts
export function hello(name: string) {
    return "hello " + name;

Use faast.js to turn this into a serverless function:

// main.ts
import { faast } from "faastjs";
import * as funcs from "./functions";

(async () => {
    const m = await faast("aws", funcs);
    const { hello } = m.functions;
    const result = await hello("world!");
    await m.cleanup();

Make 1000 concurrent calls if you like:

const promises: string[] = [];
for (let i = 0; i < 1000; i++) {
    promises.push(hello(`world ${i}!`));
await Promise.all(promises);

How much did that cost...?

const cost = await m.costSnapshot();

Relax. It's just half a penny:



  • Frictionless. Faast.js takes care of packaging your code, setting up IAM roles, and other infrastructure complexity. Run your code on a thousand cores in seconds. All you need is an AWS or GCP account.
  • Scalable. Use serverless functions to scale your batch jobs up to thousands of cores.
  • Cost-effective. Understand and optimize your workload costs in real time. Pay only for compute time actually used.
  • Ephemeral. No clusters or services to manage. Faast.js creates the infrastructure it uses on the fly and cleans up when it's done.
  • Productive. First class support for TypeScript and JavaScript. Type safety, documentation, and extensive testing are part of our DNA.
  • Multi-cloud: Built-in support for AWS Lambda and Google Cloud Functions, as well as local processing mode when you don't have network access. Switch with one line of code.

Ready to learn more?

Check out our getting started documentation.

Work through some examples

Review the detailed API documentation.

Join our slack channel. Already joined? sign in.

Follow us on twitter.


See contributing.


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free