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

opensensemap-client

v1.8.1

Published

The library allows and improves type-based working with the openSenseMap API

Readme

openSenseMap Client

Based on API version: v11.3.0

NPM

Install

npm install opensensemap-client
pnpm install opensensemap-client
yarn add opensensemap-client

Usage

Usage in TypeScript (with ES Modules):

import * as client from 'opensensemap-client';

async function start() {
  // Get information about a senseBox
  const r = await client.getBox('57000b8745fd40c8196ad04c').catch((e) => console.error(e));

  console.log(JSON.stringify(r));

  // Post new sensor data
  const data: client.PostNewMeasurementsParamData = [];
  const authToken = 'Your senseBox token';

  data.push({
    sensor: 'Your sensorId',
    value: 'Your data'
  });

  client.postNewMeasurements('Your senseBoxId', data, authToken).catch(console.error);
}

start();

Listed functions according to API documentation of openSenseMap

API Functions Reference

Boxes

| Function | Description | OpenSenseMap API Documentation | | ------------------------------------------------------------------------------------------------------- | ------------------------------------ | ------------------------------------------------------------------- | | getBox() | Get one senseBox | API Doc | | getBoxes() | Get all senseBoxes | API Doc | | postNewBox() | Post new senseBox | API Doc | | updateBox() | Update a senseBox | API Doc | | deleteBox() | Mark a senseBox for deletion | API Doc | | getAllTags() | Get all senseBox tags | API Doc | | claimBox() | Claim a senseBox marked for transfer | API Doc | | getSketch() | Download the Arduino script | API Doc | | getBoxLocations() | Get locations of a senseBox | API Doc | | getTransfer() | Get transfer information | API Doc | | createTransfer() | Mark a senseBox for transfer | API Doc | | removeTransfer() | Revoke transfer token | API Doc | | updateTransfer() | Update a transfer token | API Doc |

Measurements

| Function | Description | OpenSenseMap API Documentation | | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | --------------------------------------------------------------------------------------- | | postNewMeasurement() | Post new measurement | API Doc | | getData() | Get latest measurements for a sensor | API Doc | | deleteMeasurements() | Delete measurements of a sensor | API Doc | | getDataByGroupTag() | Get measurements for a grouptag | API Doc | | getDataMulti() | Get measurements for a phenomenon | API Doc | | getLatestMeasurements() | Get latest measurements of a senseBox | API Doc | | getLatestMeasurementOfSensor() | Get latest measurements of a sensor | API Doc | | postNewMeasurements() | Post multiple new measurements | API Doc |

Users

| Function | Description | OpenSenseMap API Documentation | | ----------------------------------------------------------------------------------------------------------------------- | ------------------------- | ----------------------------------------------------------------------------- | | register() | Register new user | API Doc | | deleteUser() | Delete user and all boxes | API Doc | | getUser() | Get user details | API Doc | | refreshAuth() | Refresh Authorization | API Doc | | signIn() | Sign in | API Doc | | signOut() | Sign out | API Doc | | updateUser() | Update user details | API Doc | | confirmEmail() | Confirm email address | API Doc | | getUserBox() | Get specific box of user | API Doc | | getUserBoxes() | List all boxes of user | API Doc | | resendEmailConfirmation() | Resend email confirmation | API Doc | | requestPasswordReset() | Request password reset | API Doc | | passwordReset() | Reset password | API Doc |

Other Functions

| Function | Description | OpenSenseMap API Documentation | | --------------------------------------------------------------------------------------------------- | ------------------------------ | ------------------------------------------------------------------------ | | calculateIdw() | Get IDW Interpolation | API Doc | | getStatistics() | Get database statistics | API Doc | | printRoutes() | Print all routes | API Doc | | descriptive() | Compute descriptive statistics | API Doc |

You can find more information in the full documentation 📖.

OpenSenseMap API documentation

This library was created with a lot of work, reading the code from the OpenSenseMap-API by hand. In addition, this library provides an Insomnia file for debugging purposes.

📄 Insomnia file

Import this file into Insomnia, install the plugins customtimestamp and save-variables and configure the environments if you needed. You are ready!


Author

👤 Julian Wowra [email protected]

🤝 Contributing

Contributions, issues and feature requests are welcome!Feel free to check issues page. You can also take a look at the contributing guide.