An Affordable Mapbox Geocoding API Alternative

Mapbox offers one of the most polished geocoding products on the market, with a generous free tier. The catch sits in the fine print: Mapbox splits geocoding into Temporary and Permanent flavours, and only the (much more expensive) Permanent one lets you store the results. This page compares Mapbox with ExoAPI's geocoding API, including where Mapbox is genuinely the better pick.

Mapbox Geocoding vs ExoAPI at a Glance

Mapbox Temporary Geocoding Mapbox Permanent Geocoding ExoAPI Geocoding
Pricing model Pay per request Pay per request Flat monthly subscription
Price Free up to 100k/month, then ~$0.75/1k ~$5 per 1,000 requests From 9€/month for 1,000 requests/day (~30,000/month)
Free tier 100,000 requests/month None 14-day trial, 10 requests/day, no credit card
Storing / caching results Not allowed Allowed Allowed - keep results in your own database forever
Data source Proprietary + open data mix Proprietary + open data mix OpenStreetMap, refreshed regularly
Other APIs included Billed separately Billed separately All ExoAPI APIs included in the same subscription

Pricing last checked August 2026 - always verify against the providers' official pricing pages.

The Temporary vs Permanent Trap

Mapbox's Temporary geocoding looks unbeatable: 100,000 free requests every month. But results from the Temporary API may not be exported, cached or stored - they are meant to be displayed and discarded, typically alongside a Mapbox map. The moment you want to save coordinates into your own database (which almost every real application eventually needs: order history, analytics, search indexes), you must switch to Permanent geocoding at around $5 per 1,000 requests with no free tier.

That is the same per-request price point as Google, and it is where ExoAPI's model differs: every plan allows storing results. Geocode an address once on the 9€/month Starter plan, keep the coordinates forever, and never pay to geocode it again.

When Mapbox Is the Better Choice

  • You are building on Mapbox maps already - the geocoder, search box components and map SDKs integrate seamlessly.
  • Your usage is genuinely display-only and stays under the free Temporary tier: 100,000 free requests per month is hard to beat.
  • You need their interactive search / autocomplete UI components out of the box.

When ExoAPI Is the Better Choice

  • You need to store what you geocode - the defining constraint. With Mapbox that decision multiplies your price by ~7 and removes the free tier; with ExoAPI it changes nothing.
  • You want flat, predictable pricing rather than metering.
  • You use any map renderer you like - ExoAPI's results are plain JSON with no display-platform requirement (keep the "Β© OpenStreetMap contributors" attribution when showing the data on a map).
  • You also need the other included ExoAPI APIs (reverse geocoding, HTML to PDF, QR codes, content moderation and more).

Migrating From Mapbox

Replace the Mapbox forward-geocoding request:

const res = await fetch(`https://api.mapbox.com/search/geocode/v6/forward?q=${encodeURIComponent(address)}&access_token=${MAPBOX_TOKEN}`);
const data = await res.json();
const [lon, lat] = data.features[0].geometry.coordinates;

With the ExoAPI call:

import { ExoAPI } from "@flower-digital/exoapi-sdk";

const exoapi = new ExoAPI({ apiKey: "<your-api-key>" });
const { lat, lon, postalCode, city, country } = await exoapi.geocoding({
  address,
});

And this time, writing lat and lon into your database is not a terms-of-service violation - it is the intended workflow.

Try It on Your Own Addresses

Start a free 14-day trial (no credit card required), geocode a sample of your real addresses, and compare the results for your regions before deciding.


Get started building.

Sign up today and get access to our platform's easy-to-use APIs, all with just one subscription
No credit card required