// the find
mapbox/mapbox-sdk-js
A JavaScript client to Mapbox services, supporting Node, browsers, and React Native
Official Mapbox JS SDK for calling Mapbox REST APIs (geocoding, directions, styles, tilesets, uploads, etc.) from Node, browser, and React Native. This is the API client layer only — it does not render maps; that's mapbox-gl-js's job. Useful when you need to call Mapbox services programmatically without the full map rendering stack.
The request/response abstraction is clean: MapiRequest, MapiResponse, and MapiError are well-separated with consistent shapes across all services. Pagination via eachPage() and progress events via the emitter are first-class, not bolted on. Shared base client pattern means one token config for all services without repetition. Good test coverage per service with dedicated test files that give you a working example of every method.
Still ships CommonJS with a separate rollup UMD build — no ESM exports, which means tree-shaking doesn't work properly in modern bundlers; you pay for services you don't use. The Promise polyfill warning in the README is a signal that this hasn't had a meaningful modernization pass. TravisCI build badge points to a dead URL (Travis deprecated the .com domain migration years ago), which suggests CI is either broken or moved elsewhere quietly. 766 stars for an official SDK from a major mapping company is low, hinting Mapbox may be de-emphasizing this in favor of other SDKs.