When unmap is the better fit
- You want to keep what you fetch. Our terms let you cache maps and geocoding results permissively, and what you have cached stays yours after you cancel. Esri's
findAddressCandidatesresults may only be displayed temporarily unless the request passesforStorage=true, and a stored geocode is billed at a higher rate with no free allowance (Esri pricing). - Your users search in Canada, in either official language. One record carries its English and French names, plus Indigenous-language names where the source data has them, and a query typed in Inuktitut syllabics finds the place. See Languages.
- You route transit riders in Canada.
mode=transitroutes and draws travel-time areas on scheduled Canadian transit (Transit routing). Esri's routing docs name driving, trucking and walking, with no transit mode. - You search by legal land description. With the Legal Land add-on, a Dominion Land Survey or NTS description such as
NW-25-24-1-W5is an ordinary search query (Legal land). - You plan Canadian deliveries on one meter. Optimize plans shipments across vehicles with time windows, loads and driver breaks, and bills one call per shipment a successful solve performs, from the same pool as your tiles and searches.
When Esri is the better fit
- You search or store geocodes outside Canada. unmap's basemap is worldwide, but search and routing cover Canada only, and a route that leaves the country is a
422(Coverage). Esri's Geocoding service sells storage as an explicit, priced option, so the right to keep a result is settled per request. - You need network analysis beyond a route. Esri offers fleet routing, last-mile delivery, location-allocation and closest facility, and its route service takes up to 150 stops in a direct request and 10,000 in a job, with current traffic. An unmap
/routeis exactly two points,/optimized-routereorders up to 10 stops, and drive times have no live or predicted traffic (Routing API). - You need demographics or spatial analysis. GeoEnrichment offers thousands of data variables for many countries, and Esri's spatial analysis services run hot spots, buffers and joins. unmap has neither.
- You ship a native app. Esri has native Maps SDKs for Kotlin, Swift, Flutter, .NET, Qt, Java, Unity and Unreal. unmap ships a web SDK and no native mobile SDK.
- Your app is GIS, not a map in a product. Feature layers, ArcGIS Online web maps, Living Atlas, SceneView and imagery basemaps have no unmap equivalent (From Esri).
How the bill compares
The table above is Esri's first paid tier for each service, each with its own free allowance, as read on the date shown. Its geocoding row has two prices: not stored, and stored.
unmap has one meter instead. Every request is one call, tiles included, and every API draws from the same pool. Three bulk paths count work, not requests: batch geocoding is one call per non-blank query, a hosted batch job is one call per eligible row, and Optimize is one call per shipment a successful solve performs. The dev plan is free and for building, not production. Browser calls from localhost are not counted, except Optimize, which counts from every origin. Server-side calls and Optimize draw on 10,000 included calls a month. Indie is US$19 a month for 250,000 calls, then US$1.00 per 1,000. Growth is US$99 a month for 2,000,000 calls, then US$0.75 per 1,000. Plans and limits has the detail.
The units differ most for maps. Esri sells basemaps two ways, by the session or by the tile (Esri pricing). On unmap a map's first paint is about 40 calls, almost all of them tiles, and after that MapLibre and the browser serve most tiles from cache. So 10,000 first paints are about 400,000 calls, more than Indie includes, where the same 10,000 Esri sessions cost $36 after the free 1,000. For an app that mostly shows maps, Esri can cost less, and its tile model includes 2,000,000 tiles a month before it charges.
Geocoding turns the other way once you keep the results. Esri bills a stored geocode at $4 per 1,000 with no free allowance, so storing 100,000 addresses costs $400. On unmap the same 100,000 addresses are 100,000 batch calls, inside what Indie includes, and you may keep every result. If you only display results and never store them, Esri's not-stored rate is lower than unmap's overage.
For routing the units line up: a route is one request on both sides, and Esri's per-route rate is lower than unmap's overage. They part for service areas, which Esri bills at $50 per 1,000 and unmap counts as one isochrone call each, and for a matrix: Esri bills per origin-destination pair, and a 10 by 10 /matrix request on unmap is one call.
To estimate your own bill, start from about 40 calls for a first paint on an empty browser cache. Panning and zooming add tiles, and return visits fetch fewer. Then add your searches and routes and set the total against a plan's included calls.