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 🙏

© 2025 – Pkg Stats / Ryan Hefner

node-jump

v1.1.2

Published

A node module for accessing Jump APIs

Downloads

18

Readme

node-jump

A node-module that wraps Jump's open data APIs into several easy to use functions.

Prerequisites

The following is required to install node-jump:

Latest version of npm

Dependencies

The following is a list of dependencies used by node-jump:

async: ^3.1.0,
axios: ^0.19.0,
lodash: ^4.17.15

Installing

In your project directory, run the following command:

npm install node-jump

Functionality Overview

node-jump provides several functions for accessing Jump's GBFS api. Each function takes two parameters, cityCode (required) and rideType (optional), and returns a promise. A cityCode refers to the abbreviated city name used by Jump as part of their GBFS url. For example, the URL to get Jump GBFS data for San Francisco, California:

https://sf.jumpbikes.com/opendata/gbfs.json

Notice the abbreviation sf that is a part of the URL. Similarly, for Austin, Texas:

https://atx.jumpbikes.com/opendata/gbfs.json

A rideType refers to the two available modes of transportation Jump provides, scooters or bikes. By default, node-jump will return data for both type of rides. To request data for a specific mode, pass in the string "bike" or "scooter" for bikes and scooters respectively.

getFileDirectory(rideType, cityCode)

An async function that retrieves a city's GBFS directory.

Example 1: Request GBFS directory for all ride types in Austin, Texas

Request:
http://localhost:3000/Jump/gbfs/?cityCode=atx

Response:
{
  "bikes": {
    "en": {
      "feeds": [
        {
          "name": "gbfs",
          "url": "https://gbfs.uber.com/v1/atxb/gbfs.json"
        },
        {
          "name": "system_information",
          "url": "https://gbfs.uber.com/v1/atxb/system_information.json"
        },
        {
          "name": "station_information",
          "url": "https://gbfs.uber.com/v1/atxb/station_information.json"
        },
        {
          "name": "station_status",
          "url": "https://gbfs.uber.com/v1/atxb/station_status.json"
        },
        {
          "name": "free_bike_status",
          "url": "https://gbfs.uber.com/v1/atxb/free_bike_status.json"
        },
        {
          "name": "system_hours",
          "url": "https://gbfs.uber.com/v1/atxb/system_hours.json"
        },
        {
          "name": "system_calendar",
          "url": "https://gbfs.uber.com/v1/atxb/system_calendar.json"
        },
        {
          "name": "system_regions",
          "url": "https://gbfs.uber.com/v1/atxb/system_regions.json"
        },
        {
          "name": "system_pricing_plans",
          "url": "https://gbfs.uber.com/v1/atxb/system_pricing_plans.json"
        },
        {
          "name": "system_alerts",
          "url": "https://gbfs.uber.com/v1/atxb/system_alerts.json"
        }
      ]
    }
  },
  "scooters": {
    "en": {
      "feeds": [
        {
          "name": "gbfs",
          "url": "https://gbfs.uber.com/v1/atxs/gbfs.json"
        },
        {
          "name": "system_information",
          "url": "https://gbfs.uber.com/v1/atxs/system_information.json"
        },
        {
          "name": "station_information",
          "url": "https://gbfs.uber.com/v1/atxs/station_information.json"
        },
        {
          "name": "station_status",
          "url": "https://gbfs.uber.com/v1/atxs/station_status.json"
        },
        {
          "name": "free_bike_status",
          "url": "https://gbfs.uber.com/v1/atxs/free_bike_status.json"
        },
        {
          "name": "system_hours",
          "url": "https://gbfs.uber.com/v1/atxs/system_hours.json"
        },
        {
          "name": "system_calendar",
          "url": "https://gbfs.uber.com/v1/atxs/system_calendar.json"
        },
        {
          "name": "system_regions",
          "url": "https://gbfs.uber.com/v1/atxs/system_regions.json"
        },
        {
          "name": "system_pricing_plans",
          "url": "https://gbfs.uber.com/v1/atxs/system_pricing_plans.json"
        },
        {
          "name": "system_alerts",
          "url": "https://gbfs.uber.com/v1/atxs/system_alerts.json"
        }
      ]
    }
  }
}

Example 2: Request GBFS directory for bikes in Austin, Texas

Request:
http://localhost:3000/Jump/gbfs/?rideType=bike&cityCode=atx

Response:
{
  "bikes": {
    "en": {
      "feeds": [
        {
          "name": "gbfs",
          "url": "https://gbfs.uber.com/v1/atxb/gbfs.json"
        },
        {
          "name": "system_information",
          "url": "https://gbfs.uber.com/v1/atxb/system_information.json"
        },
        ...
        {
          "name": "system_alerts",
          "url": "https://gbfs.uber.com/v1/atxb/system_alerts.json"
        }
      ]
    }
  }
}

getFreeBikes(rideType, cityCode)

Retrieves all available rides within a given city.

Example 1: Request all available rides in Autin, Texas

Request:
http://localhost:3000/Jump/bikes/?cityCode=atx

Response:
  "bikes": {
    "bikes": [
      {
        "bike_id": "007f6be0-a3e3-46d5-981e-7aa51b3d01c5",
        "lat": 30.290793333333333,
        "lon": -97.75064333333333,
        "is_reserved": 0,
        "is_disabled": 0,
        "jump_vehicle_type": "bike",
        "jump_ebike_battery_level": "83%",
        "jump_vehicle_name": "15020"
      },
      {
        "bike_id": "00c80078-b6a0-4cf7-ab48-84322bbe20ef",
        "lat": 30.259125,
        "lon": -97.73953,
        "is_reserved": 0,
        "is_disabled": 0,
        "jump_vehicle_type": "bike",
        "jump_ebike_battery_level": "51%",
        "jump_vehicle_name": "11895"
      },
      ...
      {
        "bike_id": "00d7d14e-5db8-402a-ad1b-947340f49147",
        "lat": 30.269046666666668,
        "lon": -97.74637666666666,
        "is_reserved": 0,
        "is_disabled": 0,
        "jump_vehicle_type": "bike",
        "jump_ebike_battery_level": "65%",
        "jump_vehicle_name": "16889"
      }
     ],
     "scooters": [
      {
        "bike_id": "001613f1-7554-40f7-8507-f15d56617eae",
        "lat": 30.260003,
        "lon": -97.749305,
        "is_reserved": 0,
        "is_disabled": 0,
        "jump_vehicle_type": "scooter",
        "jump_ebike_battery_level": "67%",
        "jump_vehicle_name": "OOD948"
      },
      ...
      {
        "bike_id": "00374cae-9921-4444-aa9b-11d62d04dec7",
        "lat": 30.254461,
        "lon": -97.748026,
        "is_reserved": 0,
        "is_disabled": 0,
        "jump_vehicle_type": "scooter",
        "jump_ebike_battery_level": "23%",
        "jump_vehicle_name": "TLS804"
      }
    ]
  }
}

Example 2: Request all available scooters in Autin, Texas

Request:
http://localhost:3000/Jump/bikes/?rideType=scooter&cityCode=atx

Response:
{
  "bikes": {
    "scooters": [
      {
        "bike_id": "001613f1-7554-40f7-8507-f15d56617eae",
        "lat": 30.268008,
        "lon": -97.742341,
        "is_reserved": 0,
        "is_disabled": 0,
        "jump_vehicle_type": "scooter",
        "jump_ebike_battery_level": "97%",
        "jump_vehicle_name": "OOD948"
      },
      {
        "bike_id": "00374cae-9921-4444-aa9b-11d62d04dec7",
        "lat": 30.257188,
        "lon": -97.721431,
        "is_reserved": 0,
        "is_disabled": 0,
        "jump_vehicle_type": "scooter",
        "jump_ebike_battery_level": "59%",
        "jump_vehicle_name": "TLS804"
      },
	  ...
      {
        "bike_id": "fff97e1a-8625-42f4-8451-b3dbca8ec56e",
        "lat": 30.274853,
        "lon": -97.751991,
        "is_reserved": 0,
        "is_disabled": 0,
        "jump_vehicle_type": "scooter",
        "jump_ebike_battery_level": "55%",
        "jump_vehicle_name": "OWD835"
      }
    ]
  }

getPaymentPlan(rideType, cityCode)

Retrieves payment plan and rental configuration for a given city. Combines results from Jump's system hours and payment plan APIs.

Example 1: Request payment plan of all ride types for Autin, Texas

Request:
http://localhost:3000/Jump/payment/?cityCode=atx

Response:
{
  "station": {
    "scooters": {
      "hours": [
        {
          "days": [
            "mon",
            "tue",
            "wed",
            "thu",
            "fri",
            "sat",
            "sun"
          ],
          "end_time": "23:59:59",
          "start_time": "00:00:00",
          "user_types": [
            "member",
            "nonmember"
          ]
        }
      ],
      "pricing": []
    },
    "bikes": {
      "hours": [
        {
          "days": [
            "mon",
            "tue",
            "wed",
            "thu",
            "fri",
            "sat",
            "sun"
          ],
          "end_time": "23:59:59",
          "start_time": "00:00:00",
          "user_types": [
            "member",
            "nonmember"
          ]
        }
      ],
      "pricing": []
    }
  }
}

Example 2: Request payment plan of all bikes types for Autin, Texas

Request:
http://localhost:3000/Jump/payment/?rideType=bike&cityCode=atx

Response:
{
  "station": {
    "bikes": {
      "hours": [
        {
          "days": [
            "mon",
            "tue",
            "wed",
            "thu",
            "fri",
            "sat",
            "sun"
          ],
          "end_time": "23:59:59",
          "start_time": "00:00:00",
          "user_types": [
            "member",
            "nonmember"
          ]
        }
      ],
      "pricing": []
    }
  }
}

getStationData(rideType, cityCode)

Retrieve stations data for a given city. Combines results from Jump's stations status and station info APIs.

Example 1: Get Station data of all ride types for Austin, Texas

Request:
http://localhost:3000/Jump/stations/?cityCode=atx

Response:
{
  "station": {
    "bikes": [
      {
        "station_id": "eb3cdb10-ba2e-5194-b55a-f2caa4110633",
        "num_bikes_available": 0,
        "num_bikes_disabled": 0,
        "num_docks_available": 15,
        "is_installed": 1,
        "is_renting": 1,
        "is_returning": 1,
        "last_reported": 1583017062,
        "name": " ACC - The Castilian",
        "region_id": "e175a9ac-09aa-452d-97c9-342fda3455e9",
        "lat": 30.287705,
        "lon": -97.742422,
        "address": "2323 San Antonio St, Austin, TX 78705, USA",
        "rental_methods": [
          "KEY",
          "APPLEPAY",
          "ANDROIDPAY",
          "TRANSITCARD",
          "ACCOUNTNUMBER",
          "PHONE"
        ]
      }
    ],
    "scooters": [
      {
        "station_id": "e3bda07a-433d-50d2-9447-5e303faa10a8",
        "num_bikes_available": 0,
        "num_bikes_disabled": 0,
        "num_docks_available": 7,
        "is_installed": 1,
        "is_renting": 1,
        "is_returning": 1,
        "last_reported": 1583017062,
        "name": "26th and San Gabriel",
        "region_id": "72491f42-5f24-4855-a096-58c07123c9d3",
        "lat": 30.290797,
        "lon": -97.747088,
        "address": "2515 San Gabriel St, Austin, TX 78705, USA",
        "rental_methods": [
          "KEY",
          "APPLEPAY",
          "ANDROIDPAY",
          "TRANSITCARD",
          "ACCOUNTNUMBER",
          "PHONE",
          "CREDITCARD"
        ]
      },
      {
        "station_id": "5ea7ad61-d644-57d6-afea-3a372004331f",
        "num_bikes_available": 0,
        "num_bikes_disabled": 0,
        "num_docks_available": 7,
        "is_installed": 1,
        "is_renting": 1,
        "is_returning": 1,
        "last_reported": 1583017062,
        "name": "26th and Rio Grande",
        "region_id": "dacd621f-45bc-449a-b1d4-91a977cbeedb",
        "lat": 30.290682,
        "lon": -97.745219,
        "address": "100 W 26th St, Austin, TX 78705, USA",
        "rental_methods": [
          "KEY",
          "APPLEPAY",
          "ANDROIDPAY",
          "TRANSITCARD",
          "ACCOUNTNUMBER",
          "PHONE",
          "CREDITCARD"
        ]
      },
      ...
      {
        "station_id": "972eaa3c-eda0-5982-967b-8b7d81711fce",
        "num_bikes_available": 0,
        "num_bikes_disabled": 0,
        "num_docks_available": 7,
        "is_installed": 1,
        "is_renting": 1,
        "is_returning": 1,
        "last_reported": 1583017062,
        "name": "5th & Chicon",
        "region_id": "b3fbe143-55ce-478d-8585-b78cec931266",
        "lat": 30.260281,
        "lon": -97.723247,
        "address": "1800 E 4th St, Austin, TX 78702, USA",
        "rental_methods": [
          "KEY",
          "APPLEPAY",
          "ANDROIDPAY",
          "TRANSITCARD",
          "ACCOUNTNUMBER",
          "PHONE",
          "CREDITCARD"
        ]
      },
      {
        "station_id": "a0a0af36-7ade-5768-a977-c4ec3edc82d5",
        "num_bikes_available": 0,
        "num_bikes_disabled": 0,
        "num_docks_available": 7,
        "is_installed": 1,
        "is_renting": 1,
        "is_returning": 1,
        "last_reported": 1583017062,
        "name": "3rd and Brazos",
        "region_id": "2bfdd7a7-57a2-404b-8ee2-8f83eced1c8a",
        "lat": 30.264771,
        "lon": -97.742258,
        "address": "265 Brazos St, Austin, TX 78701, USA",
        "rental_methods": [
          "KEY",
          "APPLEPAY",
          "ANDROIDPAY",
          "TRANSITCARD",
          "ACCOUNTNUMBER",
          "PHONE",
          "CREDITCARD"
        ]
      }
    ]
  }
}

Example 2: Get station data for bikes in Austin, Texas.

Request:
http://localhost:3000/Jump/stations/?rideType=bike&cityCode=atx

Response:
{
  "station": {
    "bikes": [
      {
        "station_id": "eb3cdb10-ba2e-5194-b55a-f2caa4110633",
        "num_bikes_available": 0,
        "num_bikes_disabled": 0,
        "num_docks_available": 15,
        "is_installed": 1,
        "is_renting": 1,
        "is_returning": 1,
        "last_reported": 1583017475,
        "name": " ACC - The Castilian",
        "region_id": "1d436053-2cbd-4ba5-9249-25b17da568df",
        "lat": 30.287705,
        "lon": -97.742422,
        "address": "2323 San Antonio St, Austin, TX 78705, USA",
        "rental_methods": [
          "KEY",
          "APPLEPAY",
          "ANDROIDPAY",
          "TRANSITCARD",
          "ACCOUNTNUMBER",
          "PHONE"
        ]
      }
    ]
  }
}

getSystemAlerts(rideType, cityCode)

Retrieves all alerts within a given city.

Example 1: Request alerts for all ride types in Austin, Texas

Request:
http://localhost:3000/Jump/alerts/?cityCode=atx

Response:
{
  "bikes": {
    "alerts": []
  },
  "scooters": {
    "alerts": []
  }
}

Example 2: Request alerts for only scooters in Austin, Texas

Request:
http://localhost:3000/Jump/alerts/?rideType=scooter&cityCode=atx

Response:
{
  "scooters": {
    "alerts": []
  }
}

getSystemData(rideType, cityCode)

Retrieves system data for a given city. Combines results from Jump's system information, system regions and system calender APIs.

Example 1: Get system data of all ride types in Austin, Texas.

Request:
http://localhost:3000/Jump/system/?cityCode=atx

Response:
{
  "bikes": {
    "calendars": [
      {
        "end_day": 31,
        "end_month": 12,
        "start_day": 1,
        "start_month": 1
      }
    ],
    "info": {
      "email": "[email protected]",
      "language": "en",
      "name": "Austin Bike JUMP System",
      "phone_number": "(833) 300-6106",
      "purchase_url": "https://www.jumpbikes.com",
      "system_id": "austin_bike_jump_system",
      "url": "https://www.jumpbikes.com"
    },
    "regions": []
  },
  "scooters": {
    "info": {
      "email": "[email protected]",
      "language": "en",
      "name": "Austin Scooter JUMP System",
      "phone_number": "(833) 300-6106",
      "purchase_url": "https://www.jumpbikes.com",
      "system_id": "austin_scooter_jump_system",
      "url": "https://www.jumpbikes.com"
    },
    "regions": [],
    "calendars": [
      {
        "end_day": 31,
        "end_month": 12,
        "start_day": 1,
        "start_month": 1
      }
    ]
  }
}

Example 2: Get system data of all ride types in Austin, Texas.

Request:
http://localhost:3000/Jump/system/?rideType=bike&cityCode=atx

Response:
{
  "bikes": {
    "calendars": [
      {
        "end_day": 31,
        "end_month": 12,
        "start_day": 1,
        "start_month": 1
      }
    ],
    "regions": [],
    "info": {
      "email": "[email protected]",
      "language": "en",
      "name": "Austin Bike JUMP System",
      "phone_number": "(833) 300-6106",
      "purchase_url": "https://www.jumpbikes.com",
      "system_id": "austin_bike_jump_system",
      "url": "https://www.jumpbikes.com"
    }
  }
}

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Authors

  • Salman Anza - Initial work - salanza

See also the list of contributors who participated in this project.

License

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

Acknowledgments