npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

sammler-sdk

v1.1.2

Published

TypeScript/JavaScript SDK for interacting with Sammler GraphQL API

Downloads

17

Readme

Sammler TypeScript/JavaScript SDK

The official TypeScript/JavaScript SDK for interacting with the Sammler GraphQL API.

This SDK is fully typed, async-first, and powered by graphql-request. It allows developer-tier Sammler users to programmatically manage, query, and update their personal collections.

Features

  • TypeScript Native: Full auto-complete and type safety for all queries, responses, and parameters.
  • Promise-Based: Async-first API matching modern JavaScript/TypeScript standards.
  • Flexible Configuration: Supports custom GraphQL endpoints and custom headers for flexible integration.

Installation

Install the package via npm (or your preferred package manager):

npm install sammler-sdk

Or via yarn:

yarn add sammler-sdk

Or via pnpm:

pnpm add sammler-sdk

Quick Start

To use the SDK, you need a Sammler API Key. Once you have it, you can initialize the client and make requests:

import { SammlerClient } from 'sammler-sdk';

const client = new SammlerClient({
  apiKey: 'your_sammler_api_key'
});

async function main() {
  try {
    // Retrieve all collections
    const collections = await client.getCollections();
    
    console.log(`Found ${collections.length} collection(s):`);
    for (const collection of collections) {
      console.log(`- ${collection.name}: ${collection.description || 'No description'}`);
    }
  } catch (error) {
    console.error('Failed to fetch collections:', error);
  }
}

main();

Available SDK Methods

The SammlerClient exposes high-level async methods matching the Sammler API:

  • getCurrentUser(): Retrieve the authenticated developer user's profile info (ID, name, email, tier, etc.).
  • getCollections(): Retrieve all collections belonging to the authenticated user.
  • getCollection(id: string): Retrieve a specific collection by its ID, including all items inside it. Returns null if not found.
  • getItems(): Retrieve all collection items across all collections.
  • getItem(id: string): Retrieve a single item by its ID, including details about its parent collection. Returns null if not found.

Raw SDK and Client Access

If you need direct access to the underlying raw operations or GraphQL client:

  • client.rawSdk: Access the raw generated SDK queries/methods.
  • client.graphQLClient: Access the underlying GraphQLClient instance (e.g. to update headers dynamically).

Code Generation & Development

If you want to modify queries or develop/contribute to the SDK:

  1. Clone the repository and install dependencies:
    cd typescript
    npm install
  2. Update queries in graphql/operations.graphql and run codegen:
    npm run codegen
  3. Build the package:
    npm run build