Mapbox

Mapbox

Geocoding

Create stunning custom maps with Mapbox. Access geocoding, navigation, static and dynamic maps, and location data for your applications.

Visit APIπŸ” Alternatives

πŸ“š Documentation & Examples

Everything you need to integrate with Mapbox

πŸš€ Quick Start Examples

Mapbox Javascript Examplejavascript
// Mapbox API Example
const response = await fetch('https://docs.mapbox.com/', {
    method: 'GET',
    headers: {
        'Content-Type': 'application/json'
    }
});

const data = await response.json();
console.log(data);

Mapbox API

Mapbox provides powerful mapping and location services used by millions of developers worldwide. Create beautiful custom maps, add navigation, geocode addresses, and build location-aware applications with enterprise-grade reliability.

Key Features

  1. Maps SDK - Interactive vector maps with custom styling
  2. Geocoding - Convert addresses to coordinates and vice versa
  3. Navigation - Turn-by-turn directions for driving, walking, and cycling
  4. Static Maps - Generate map images for emails and static content
  5. Datasets & Tilesets - Upload and manage custom geographic data

Free Tier

Mapbox offers generous free usage:

  • 50,000 map loads/month
  • 100,000 geocoding requests/month
  • 100,000 directions requests/month

JavaScript Example (Maps GL JS)

// Initialize a Mapbox map
import mapboxgl from 'mapbox-gl';

mapboxgl.accessToken = 'YOUR_MAPBOX_ACCESS_TOKEN';

const map = new mapboxgl.Map({
  container: 'map',
  style: 'mapbox://styles/mapbox/streets-v12',
  center: [-74.5, 40],
  zoom: 9
});

// Add a marker
const marker = new mapboxgl.Marker()
  .setLngLat([-74.5, 40])
  .addTo(map);

// Add navigation controls
map.addControl(new mapboxgl.NavigationControl());

Geocoding Example

const axios = require('axios');

const MAPBOX_TOKEN = 'YOUR_MAPBOX_ACCESS_TOKEN';

// Forward geocoding (address to coordinates)
async function geocodeAddress(address) {
  const url = `https://api.mapbox.com/geocoding/v5/mapbox.places/${encodeURIComponent(address)}.json`;
  const response = await axios.get(url, {
    params: { access_token: MAPBOX_TOKEN }
  });
  
  const [lng, lat] = response.data.features[0].center;
  return { lat, lng, fullAddress: response.data.features[0].place_name };
}

// Reverse geocoding (coordinates to address)
async function reverseGeocode(lng, lat) {
  const url = `https://api.mapbox.com/geocoding/v5/mapbox.places/${lng},${lat}.json`;
  const response = await axios.get(url, {
    params: { access_token: MAPBOX_TOKEN }
  });
  
  return response.data.features[0].place_name;
}

// Usage
const coords = await geocodeAddress('1600 Pennsylvania Avenue, Washington DC');
console.log(coords); // { lat: 38.897, lng: -77.036, fullAddress: '...' }

const address = await reverseGeocode(-77.036, 38.897);
console.log(address); // '1600 Pennsylvania Avenue NW, Washington, DC 20500'

Directions Example

async function getDirections(origin, destination, profile = 'driving') {
  const url = `https://api.mapbox.com/directions/v5/mapbox/${profile}/${origin[0]},${origin[1]};${destination[0]},${destination[1]}`;
  
  const response = await axios.get(url, {
    params: {
      access_token: MAPBOX_TOKEN,
      geometries: 'geojson',
      steps: true
    }
  });
  
  const route = response.data.routes[0];
  return {
    distance: (route.distance / 1000).toFixed(2) + ' km',
    duration: Math.round(route.duration / 60) + ' minutes',
    geometry: route.geometry,
    steps: route.legs[0].steps.map(s => s.maneuver.instruction)
  };
}

// Get driving directions from NYC to Boston
const directions = await getDirections(
  [-74.006, 40.7128],  // New York
  [-71.0589, 42.3601]  // Boston
);
console.log(`Distance: ${directions.distance}`);
console.log(`Duration: ${directions.duration}`);

Python Example

import requests

MAPBOX_TOKEN = 'YOUR_MAPBOX_ACCESS_TOKEN'

def geocode_address(address):
    url = f'https://api.mapbox.com/geocoding/v5/mapbox.places/{address}.json'
    params = {'access_token': MAPBOX_TOKEN}
    response = requests.get(url, params=params)
    data = response.json()
    
    if data['features']:
        feature = data['features'][0]
        return {
            'lng': feature['center'][0],
            'lat': feature['center'][1],
            'address': feature['place_name']
        }
    return None

# Usage
location = geocode_address('Empire State Building, New York')
print(f"Coordinates: {location['lat']}, {location['lng']}")

Use Cases

  • Ride-sharing Apps - Real-time navigation and ETAs
  • Delivery Services - Route optimization and tracking
  • Real Estate - Property location visualization
  • Travel Apps - Trip planning and exploration
  • Logistics - Fleet management and routing

Get Your Free API Key β†’

πŸ”’

Security Assessment

F
πŸ”’HTTPS
Enabled
SSL Grade: T
πŸ›‘οΈHeaders
65/100
HSTSXFO
πŸ•’Last Assessed
12 months ago
ℹ️Click for detailed analysis

Related APIs in Geocoding