A node.js and browser JavaScript client to Mapbox services
Latest commit 5a8c077 Jan 2, 2017 @scothis scothis committed on GitHub Merge pull request #124 from mapbox/upload-timeout
Allow uploads more time to process



npm version Build Status Coverage Status

A node.js and browser JavaScript client to Mapbox services.


Generally Available

  • Geocoding
    • Forward (place names ⇢ longitude, latitude)
    • Reverse (longitude, latitude ⇢ place names)
  • Upload API
    • Upload data to be processed and hosted by Mapbox.
  • Directions
    • Profiles for driving, walking, and cycling
    • GeoJSON & Polyline formatting
    • Instructions as text or HTML
  • Datasets
    • Retrieve, add, and edit datasets.

Contact help@mapbox.com for information

  • Distance
    • Travel-time tables between up to 100 points
    • Profiles for driving, walking and cycling
  • Map Matching
    • Aligns GPS trace data to roads and paths from OpenStreetMap data
  • Surface API
    • Interpolates values along lines. Useful for elevation traces.


$ npm install --save mapbox


Basic usage of the geocoder:

var MapboxClient = require('mapbox');
var client = new MapboxClient('YOUR_ACCESS_TOKEN');
client.geocodeForward('Chester, NJ', function(err, res) {
  // res is the geocoding result as parsed JSON

sub-requiring individual services

Each service is available as a sub-require if you'd only like to include only its functionality and not the entire bundle. The returned MapboxClient will have the same constructor style but only include functions necessary for that service's support.

Available sub-requires:

  • geocoding: require('mapbox/lib/services/geocoding')
  • surface: require('mapbox/lib/services/surface')
  • matching: require('mapbox/lib/services/matching')
  • directions: require('mapbox/lib/services/directions')
  • datasets: require('mapbox/lib/services/datasets')