/Amplitude-Node

Server-side Node.js SDK for Amplitude

Primary LanguageTypeScriptMIT LicenseMIT


npm version

Announcement 📣

Amplitude is introducing a new TypeScript SDK for Node.js. This new SDK provides improved developer experience, helps users instrument data more seamlessly and provide more control over data being instrumented using custom plugins.

To learn more about the new SDK, here are some useful links:

Official Amplitude SDK for Node.js

This is Amplitude Node.js SDK written in Typescript, the 1st backend SDK for Amplitude. At this moment, we keep it minimal and simple because we want to give more thoughts over different customers' needs. Modularization and flexiblity will be the main priorities for this SDK. We would like to hear your ideas as well on how you plan on using this library!

Amplitude and Ampli SDK

Ampli SDK is autogenerated library based on your pre-defined tracking plan. The Ampli SDK, is a lightweight wrapper over the Amplitude SDK that provides type-safety, supports linting, and enables features like input validation. The code replicates the spec in the Tracking Plan and enforces its rules and requirements. This repository is about Amplitude SDK. To learn more about Ampli SDK, please refer to the Ampli Node and examples.

Installation and Quick Start

Please visit our 💯Developer Center for instructions on installing and using our the SDK.

Check Out the Sub-Packages

In order of what might be good to read to get acquainted with the Node SDK:

  • (@amplitude/node): The core Node SDK and a starting place for logging events in Node.js.
  • (@amplitude/types): Contains our helper types and enums(What an event looks like, what to expect the response to look like). A resource for interfacing with the Node SDK.
  • (@amplitude/identify): A builder-type class that helps interface with the Identify API and the Node SDK. Use it to compose Identify events for both users and groups.
  • (@amplitude/identity): A helper class to store the "identity" (device + user ID) of a certain event or client.
  • (@amplitude/utils): A list of shared (mostly) polymorphic utilities across our javascript-based SDK's.
  • ("@amplitude/eslint-config-typescript`): The ESLint configuration shared across our repositories.

Need Help?

If you have any problems or issues over our SDK, feel free to create a github issue or submit a request on Amplitude Help.