Skip to main content
The AWS SDK for JavaScript v3 is split into individual npm packages — one per AWS service plus separate packages for utilities, credential providers, and higher-level libraries. Install only the packages your application needs.

Service clients

Service clients live under the @aws-sdk/client-* namespace. Each package maps one-to-one to an AWS service.
Install individual service clients with your package manager:
npm install @aws-sdk/client-s3
npm install @aws-sdk/client-dynamodb
npm install @aws-sdk/client-lambda
npm install @aws-sdk/client-sts
You can install multiple packages in one command:
npm install @aws-sdk/client-s3 @aws-sdk/client-dynamodb

Version pinning

All @aws-sdk/client-* packages are released together and share the same version number. Keep all SDK packages at the same version to avoid subtle incompatibilities between client and utility packages.
Using mismatched versions — for example, @aws-sdk/client-s3 at 3.600.0 alongside @aws-sdk/client-dynamodb at 3.580.0 — can cause runtime errors. Pin all @aws-sdk/* packages to the same version and update them together.
In package.json, lock to an exact version or a tight range:
package.json
{
  "dependencies": {
    "@aws-sdk/client-s3": "3.600.0",
    "@aws-sdk/client-dynamodb": "3.600.0",
    "@aws-sdk/credential-providers": "3.600.0"
  }
}

Credential providers

The @aws-sdk/credential-providers package bundles all built-in credential provider factories into one convenient package.
npm install @aws-sdk/credential-providers
import { fromIni, fromEnv, fromSSO } from "@aws-sdk/credential-providers";
import { S3Client } from "@aws-sdk/client-s3";

const client = new S3Client({
  region: "us-east-1",
  credentials: fromIni({ profile: "my-profile" }),
});
See Authentication for the full list of credential providers and configuration options.

Higher-level libraries

Higher-level libraries wrap generated service clients to simplify common patterns. They live under the @aws-sdk/lib-* namespace.

DynamoDB Document Client

@aws-sdk/lib-dynamodb lets you work with native JavaScript types (strings, numbers, arrays) instead of DynamoDB AttributeValue shapes.
npm install @aws-sdk/lib-dynamodb @aws-sdk/client-dynamodb

S3 multipart upload

@aws-sdk/lib-storage exposes an Upload class that handles parallel multipart uploads automatically, including retry logic per part.
npm install @aws-sdk/lib-storage @aws-sdk/client-s3

S3 request presigner

@aws-sdk/s3-request-presigner generates pre-signed URLs for S3 objects without requiring the caller to have AWS credentials.
npm install @aws-sdk/s3-request-presigner @aws-sdk/client-s3

AWS Common Runtime (CRT)

Some SDK features require the AWS Common Runtime (CRT) as an optional dependency. You only need to install this if you use one of the following:
  • Amazon S3 Multi-Region Access Points
  • Amazon S3 Object Integrity (CRC checksums via CRT for better performance)
  • Amazon CloudFront KeyValueStore
npm install @aws-sdk/signature-v4-crt
After installing, load the package with an import statement. No explicit API calls are needed — the package registers itself automatically.
// CommonJS
require("@aws-sdk/signature-v4-crt");

// ESM / TypeScript
import "@aws-sdk/signature-v4-crt";
If you need SigV4a support in the browser (where the CRT binary is not available), install @aws-sdk/signature-v4a instead. This is a pure JavaScript implementation. If both packages are present, the SDK prefers the CRT version for performance.
If the CRT package is missing when you call an operation that requires it, you will see an error like:
Cannot find module '@aws-sdk/signature-v4-crt'
...
Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly.

Installing from source

All packages are published to npm and that is the recommended installation method. If you need to test unreleased changes, you can build from the GitHub repository:
git clone https://github.com/aws/aws-sdk-js-v3.git
cd aws-sdk-js-v3
yarn && yarn test:all
Then pack and install a specific client:
cd clients/client-dynamodb
yarn pack .
# Move the archive to your project and install it
cd /path/to/your/project
npm install /path/to/aws-sdk-client-dynamodb-v3.0.0.tgz
See CONTRIBUTING.md on GitHub for full setup instructions.

Next steps

Quick start

Make your first AWS API call with the DynamoDB client.

Authentication

Configure credentials for your environment.

Build docs developers (and LLMs) love