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

sneakerdb-client

v2.2.0

Published

A TypeScript client for interacting with The Sneaker Database API on RapidAPI.

Downloads

47

Readme

SneakerDB Client

Maintainability Code Coverage codecov Build on Main License Last Commit dependencies

Node.js client for interacting with the Sneaker Database API.

See AGENTS.md for repository guidelines covering structure, workflows, and contributor conventions.

Installation

npm install sneakerdb-client

Usage

const { TheSneakerDatabaseClient } = require('sneakerdb-client');

// Create a client instance with your API key
const client = new TheSneakerDatabaseClient({ rapidApiKey: 'your-api-key' });

// Example: Get sneakers
client.getSneakers({ limit: 15 }).then(result => {
  if (result.success) {
    console.log(result.response);
  }
});

// Example: Filter and sort
client.getSneakers({
  brand: 'Jordan',
  filters: { field: 'releaseYear', operator: 'gte', value: 2019 }, // filterable fields: releaseDate, releaseYear, retailPrice, estimatedMarketValue
  sort: { field: 'retailPrice', order: 'desc' }, // allowed fields: name, silhouette, retailPrice, releaseDate, releaseYear
}).then(result => {
  if (result.success) {
    console.log(result.response);
  }
});

// Note: The Sneaker Database API currently accepts a single filter expression per request.
// Supported filter fields: releaseDate, releaseYear, retailPrice, estimatedMarketValue.
// Passing multiple filters or unsupported fields will cause the client (or API) to throw an "Invalid query parameter filters" error.

Development

Run local tooling with Bun:

bun run build        # bun build + tsc --emitDeclarationOnly
bun lint             # Biome lint
bun lint:fix         # auto-fix with Biome
bun test             # Bun:test runner
bun test --coverage
# Run live RapidAPI checks (requires RAPID_API_KEY and RUN_E2E=true)
RUN_E2E=true RAPID_API_KEY=... bun test src/TheSneakerDatabaseClient.e2e.test.ts

Release builds run bun run build, which cleans dist/, bundles src/index.ts with bun build, and emits type declarations via tsc --emitDeclarationOnly.

Automated releases

  • The .github/workflows/release.yml workflow runs on every push to main (including Dependabot auto-merges) and executes tests, build, and semantic-release (using Node 22+ as required by v25).
  • semantic-release determines the next version from Conventional Commit history, updates CHANGELOG.md, tags the repo, publishes to npm, and opens a GitHub Release.
  • Enable npm Trusted Publishing for this repo (package settings → Publishing → GitHub Actions). No NPM_TOKEN secret is required—GitHub issues an OIDC token that npm trusts.
  • GITHUB_TOKEN is provided automatically in CI. For local debugging, set GITHUB_TOKEN and run bun run release -- --dry-run.

Automated maintenance

  • Dependabot runs weekly for npm dependencies and GitHub Actions.
  • Successful Dependabot PRs are auto-merged once "Node.js CI with Codecov" passes, keeping tooling up to date.

Static analysis & coverage

  • Code Climate Quality integrations have been removed ahead of the July 18, 2025 sunset. Configure Qlty (via the qlty CLI and workspace gates) to restore maintainability/diff coverage checks once your workspace is provisioned.
  • Until Qlty coverage uploads are wired in, Codecov remains the source of truth for coverage signals in CI.

API

There are 4 methods available on the client instance:

  • getSneakers: gets a list of sneakers based on the provided options.
  • getSneakerById: gets a sneaker by its TheSneakerDatabase ID.
  • getBrands: Gets the list of brands
  • getGenders: get the list of genders
  • search: search for sneakers based on the provided options.

For more information on the available options, please refer to the API documentation.

License

This project is licensed under the MIT License - see the LICENSE file for details.