[{"data":1,"prerenderedAt":146},["ShallowReactive",2],{"blog-\u002Fblog\u002Fannouncing-elevation-data\u002F":3,"related-blog-\u002Fblog\u002Fannouncing-elevation-data\u002F":111},{"id":4,"title":5,"abstract":6,"author":6,"body":7,"description":96,"excerpt":6,"extension":97,"head":6,"image":6,"keywords":98,"meta":103,"modified":6,"navigation":104,"path":105,"proficiencyLevel":6,"published":106,"rawbody":107,"schemaOrg":6,"schemaType":6,"seo":108,"stem":109,"__hash__":110},"blog\u002Fblog\u002Fannouncing-elevation-data.md","Announcing Elevation Data",null,{"type":8,"value":9,"toc":85},"minimark",[10,14,27,32,35,39,42,50,60,64,73,77],[11,12,5],"h1",{"id":13},"announcing-elevation-data",[15,16,17,18,26],"p",{},"Ever since we started offering our navigation API, we've received a slow, steady stream of requests for elevation data.\nWhile we really wanted to offer this, doing so, at the quality of service our customers deserve, requires a lot of disk\nspace. Given our global user base and commitment to affordable prices, we needed to find a solution that allowed us to\noffer world-wide elevation coverage without costing too much. Thanks to\nour ",[19,20,25],"a",{"href":21,"rel":22,"target":24},"https:\u002F\u002Fwww.linode.com\u002Fproducts\u002Fobject-storage\u002F",[23],"external","_blank","cloud provider's new Object Storage"," offering, we developed a\nperformant solution that enables us to deliver global elevation data without raising prices. We finished beta testing a\nfew weeks ago, and are excited to announce that Valhalla-powered elevation APIs are now live!",[28,29,31],"h2",{"id":30},"elevation-dataat-a-point-or-along-a-path","Elevation data—at a point or along a path",[15,33,34],{},"Elevation data is a perfect companion to route planning, especially for\nrunners and cyclists. In addition to getting the elevation at a single\npoint, you can also ask for the elevation along a path (such as a\ncycling route) and use this data to display a route profile for a\nplanned route.",[28,36,38],{"id":37},"elevation-influenced-routing-for-bicycles","Elevation-influenced Routing for Bicycles",[15,40,41],{},"Additionally, bicycle routing can now specify a hill usage penalty. This gives most cyclists outside Switzerland the\noption to flatten out the ride a bit. For those of you in the Swiss alps, we can’t promise too much. ⛰:flag-ch:",[28,43,45,46],{"id":44},"introducing-apistadiamapscom","Introducing ",[47,48,49],"code",{},"api.stadiamaps.com",[15,51,52,53,56,57,59],{},"We're also excited to announce a new hostname that you can use for accessing all of our APIs. ",[47,54,55],{},"route.stadiamaps.com","\nserved its purpose well when we only offered routing APIs, but as we grow, we feel it’s time to make the\ntransition to a more general hostname for all of our geospatial APIs: api.stadiamaps.com. We will, of course, continue\nsupporting existing services running on the old subdomain, but the forthcoming geospatial APIs will only be accessible\nvia ",[47,58,49],{},".",[28,61,63],{"id":62},"get-stated-with-elevation-data","Get Stated with Elevation Data",[15,65,66,67,72],{},"Want to dive right into using elevation data? Learn more over in our\n",[19,68,71],{"href":69,"rel":70,"target":24},"https:\u002F\u002Fdocs.stadiamaps.com\u002Felevation%22%3Edocumentation",[23],"documentation","!",[28,74,76],{"id":75},"talk-to-us","Talk to us!",[15,78,79,80,84],{},"Is our routing service missing something? Wish you could do something more with Stadia Maps? We’re always happy to\nhear how we can improve! Let us know via ",[19,81,83],{"href":82},"mailto:support@stadiamaps.com","email"," or the social links below.",{"title":86,"searchDepth":87,"depth":87,"links":88},"",4,[89,91,92,94,95],{"id":30,"depth":90,"text":31},2,{"id":37,"depth":90,"text":38},{"id":44,"depth":90,"text":93},"Introducing api.stadiamaps.com",{"id":62,"depth":90,"text":63},{"id":75,"depth":90,"text":76},"Taking our services to the next level: elevation data at a point, along a path, and for elevation-influenced routing.","md",[99,100,101,102],"Elevation Data","Terrain","Routing","Product Launch",{},true,"\u002Fblog\u002Fannouncing-elevation-data","2019-11-06","---\npublished: 2019-11-06\ndescription: \"Taking our services to the next level: elevation data at a point, along a path, and for elevation-influenced routing.\"\nkeywords:\n  - Elevation Data\n  - Terrain\n  - Routing\n  - Product Launch\n---\n\n# Announcing Elevation Data\n\nEver since we started offering our navigation API, we've received a slow, steady stream of requests for elevation data.\nWhile we really wanted to offer this, doing so, at the quality of service our customers deserve, requires a lot of disk\nspace. Given our global user base and commitment to affordable prices, we needed to find a solution that allowed us to\noffer world-wide elevation coverage without costing too much. Thanks to\nour [cloud provider's new Object Storage](https:\u002F\u002Fwww.linode.com\u002Fproducts\u002Fobject-storage\u002F) offering, we developed a\nperformant solution that enables us to deliver global elevation data without raising prices. We finished beta testing a\nfew weeks ago, and are excited to announce that Valhalla-powered elevation APIs are now live!\n\n## Elevation data—at a point or along a path\n\nElevation data is a perfect companion to route planning, especially for\nrunners and cyclists. In addition to getting the elevation at a single\npoint, you can also ask for the elevation along a path (such as a\ncycling route) and use this data to display a route profile for a\nplanned route.\n\n## Elevation-influenced Routing for Bicycles\n\nAdditionally, bicycle routing can now specify a hill usage penalty. This gives most cyclists outside Switzerland the\noption to flatten out the ride a bit. For those of you in the Swiss alps, we can&rsquo;t promise too much. :mountain::flag-ch:\n\n## Introducing `api.stadiamaps.com`\n\nWe're also excited to announce a new hostname that you can use for accessing all of our APIs. `route.stadiamaps.com`\nserved its purpose well when we only offered routing APIs, but as we grow, we feel it&rsquo;s time to make the\ntransition to a more general hostname for all of our geospatial APIs: api.stadiamaps.com. We will, of course, continue\nsupporting existing services running on the old subdomain, but the forthcoming geospatial APIs will only be accessible\nvia `api.stadiamaps.com`.\n\n## Get Stated with Elevation Data\n\nWant to dive right into using elevation data? Learn more over in our\n[documentation](https:\u002F\u002Fdocs.stadiamaps.com\u002Felevation\">documentation)!\n\n## Talk to us!\n\nIs our routing service missing something? Wish you could do something more with Stadia Maps? We&rsquo;re always happy to\nhear how we can improve! Let us know via [email](mailto:support@stadiamaps.com) or the social links below.\n",{"title":5,"description":96},"blog\u002Fannouncing-elevation-data","Nh0LNQehzm9RnNZw4-4sZkC-e30pqGRBK2MtlGd3DF8",[112,125,136],{"title":113,"description":114,"path":115,"published":116,"keywords":117,"rawbody":124},"Why Basic OpenStreetMap Routing Needs Real-Time Traffic","OpenStreetMap is a world-class road network, but without real-time traffic it's a static dataset. Here's why algorithmic ETAs fall apart in production logistics and how Stadia Maps closes the gap with TomTom-powered routing.","\u002Fblog\u002Fwhy-osm-routing-needs-real-time-traffic","2026-05-12",[101,118,119,120,121,122,123],"Navigation","OpenStreetMap","Traffic Data","Matrix Routing","Logistics","TomTom","---\ndescription: >-\n  OpenStreetMap is a world-class road network, but without real-time traffic\n  it's a static dataset. Here's why algorithmic ETAs fall apart in production\n  logistics and how Stadia Maps closes the gap with TomTom-powered routing.\nexcerpt: >-\n  OpenStreetMap is great geography, but without real-time traffic it falls\n  short on ETAs. Stadia Maps closes the gap with TomTom-powered routing.\npublished: \"2026-05-12\"\nkeywords:\n  - Routing\n  - Navigation\n  - OpenStreetMap\n  - Traffic Data\n  - Matrix Routing\n  - Logistics\n  - TomTom\nauthor:\n  name: \"Ian Wagner\"\n  jobTitle: \"Founder & President \u002F COO\"\n  sameAs:\n    - \"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fian-w-wagner\u002F\"\n---\n\n# Why Basic OpenStreetMap Routing Needs Real-Time Traffic\n\n> OpenStreetMap (OSM) provides a world-class geographic foundation, but it remains a static dataset. Without real-time traffic integration, routing engines must rely on algorithmic proxies—like road class and legal speed limits—which often lead to unreliable ETAs and logistics bottlenecks.\n\n## The Problem\n\n[OpenStreetMap (OSM)](https:\u002F\u002Fwww.openstreetmap.org\u002Fabout) is one of the world's leading road maps, but a persistent gap remains between fixed geographic data and a [live navigation experience](\u002Fproducts\u002Frouting-navigation\u002F). Without dedicated traffic data, Estimated Times of Arrival (ETAs) are essentially educated guesses. While OSM is excellent at mapping the world's road network, a static dataset cannot capture the actual driving conditions at this exact moment. In enterprise-grade logistics, the lack of live data is often the first significant technical hurdle.\n\n## The Limits of Algorithmic Guesswork\n\nIn the absence of real-time data, a routing engine must estimate travel speeds based on tags and a few common proxies:\n\n- **Road Class:** Assuming a motorway is always faster than a residential street.\n- **Tagged Speed Limits:** Using the legal maximum as the baseline (when the tag even exists).\n- **Network Density:** Adjusting for urban vs. rural environments.\n- **Time of Day:** Using low-granularity buckets like \"daytime\" and \"nighttime.\"\n\nReal-world data show wild variances compared to these static estimates. Road class is a blunt instrument for predicting speed. Missing speed limit tags in open datasets force routing engines to rely on broad averages, resulting in unreliable ETAs and logistics delays. Rule-based algorithms are also notoriously bad at predicting choke points because open datasets don't account for traffic light timings, congestion near specific exits, or the \"invisible\" friction of a busy intersection.\n\n## The Stadia Maps Difference\n\nTo move from guesswork to precision, we integrated [TomTom's global traffic data](https:\u002F\u002Fwww.tomtom.com\u002Fproducts\u002Ftraffic-apis\u002F) directly into the [Stadia Maps routing engine](https:\u002F\u002Fdocs.stadiamaps.com\u002Frouting\u002F). High-resolution historical profiles and live feeds allow for accurate, real-time routing. We provide this through three key technical pillars:\n\n1. **Global Coverage:** Access to consistent data across more countries than almost any other vendor.\n2. **Rapid Updates:** A traffic latency of approximately two minutes allows our API to suggest alternate routes almost as soon as a wreck occurs.\n3. **Historical Profiles:** Deep granularity forms the backbone of predictive routing. High-resolution historical data enables accurate, time-dependent routing in advance, allowing you to plan a route for Tuesday at 8:00 AM based on what might happen on Tuesdays at 8:00 AM.\n\n## Fleet Intelligence at Scale\n\nFor dispatch, optimization, and fleet operations, [matrix routing](https:\u002F\u002Fdocs.stadiamaps.com\u002Frouting\u002Ftime-distance-matrix\u002F) (calculating the time and distance between many origins and destinations) is the engine's most critical function.\n\nThe Stadia Maps infrastructure supports matrix requests that are significantly larger than most competitors allow on standard plans. By integrating traffic data directly into these large-scale requests, we eliminate the need for developers to split requests into smaller chunks, reducing unnecessary complexity and latency.\n\nDevelopers maintain full agency over their implementation. We provide the fastest route based on live conditions, but the frequency of re-routing remains entirely in your control. Choice of revalidation frequency puts you in charge of the trade-off between real-time accuracy and [scaling costs](\u002Fpricing\u002F), ensuring your bills remain as predictable as your ETAs.\n\n---\n\n[Create a free account](https:\u002F\u002Fclient.stadiamaps.com\u002Fsignup\u002F) to start building with real-time traffic and high-performance routing today. Our [documentation](https:\u002F\u002Fdocs.stadiamaps.com\u002Frouting\u002F) provides everything you need to integrate TomTom-powered precision into your existing OSM workflow.\n",{"title":126,"description":127,"path":128,"published":129,"keywords":130,"rawbody":135},"Official SDK for PHP is Now Available","We're making it easier to access geocoding, routing, elevation, and time zone APIs in PHP.","\u002Fblog\u002Fnew-sdk-php","2024-07-26",[131,132,133,134,101],"PHP SDK","Backend Development","API Client","Geocoding","---\ndescription: \"We're making it easier to access geocoding, routing, elevation, and time zone APIs in PHP.\"\npublished: \"2024-07-26\"\nkeywords:\n  - PHP SDK\n  - Backend Development\n  - API Client\n  - Geocoding\n  - Routing\n---\n\n# Official SDK for PHP is Now Available\n\nToday we are happy to announce the initial release of our [PHP SDK](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fphp\u002F?utm_source=marketing_site&utm_campaign=php_sdk_launch&utm_content=php_announcement_news){ target=\"_blank\" }.\nThis SDK makes it easier than ever to access geocoding, routing, elevation,\nand time zone information in PHP.\n\n## Improving the Developer Experience\n\nBefore today, PHP developers accessed the Stadia Maps APIs\nusing an HTTP library (such as cURL) and some JSON processing code.\nWhile our APIs are easy to integrate with using standard HTTP libraries,\nthere are several reasons to use one of our SDKs:\n\n* Less code to maintain—our SDKs handle the API integration for you!\n* Discover the API through autocomplete and documentation without leaving your IDE.\n* Immediately discover and use new features with a package updates. We're always improving our APIs, and we keep the SDKs in sync.\n\n## Our Seventh SDK\n\nWe're always speaking with users,\nso when the need of a PHP SDK came up a few times,\nwe saw an opportunity to make development easier.\nThanks to our existing [OpenAPI spec](https:\u002F\u002Fdocs.stadiamaps.com\u002Fapi-reference\u002F?utm_source=marketing_site&utm_campaign=php_sdk_launch&utm_content=php_announcement_news){ target=\"_blank\" }\nand experience packaging for other languages,\nwe published the first release in less than a day!\n\nThe PHP SDK is our seventh official SDK,\nand complements our existing API clients for TypeScript, Python, Kotlin, and Swift.\nNow, if you're counting carefully, you may have noticed that we only mentioned five.\nThat's because we also have an [autocomplete search plugin for MapLibre GL JS](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fmaplibre-gl-js-autocomplete-search-plugin\u002F?utm_source=marketing_site&utm_campaign=php_sdk_launch&utm_content=php_announcement_news){ target=\"_blank\" },\nand a [mobile turn-by-turn navigation SDK](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fferrostar\u002F?utm_source=marketing_site&utm_campaign=php_sdk_launch&utm_content=php_announcement_news){ target=\"_blank\" }.\nYou can learn more about all of our SDKs at [docs.stadiamaps.com](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Foverview\u002F?utm_source=marketing_site&utm_campaign=php_sdk_launch&utm_content=php_announcement_news){ target=\"_blank\" }.\n\n## We Want Your Feedback\n\nAre you a PHP developer?\nWe'd love to hear your thoughts on the new SDK!\nLet us know how you're using it, and how we can make it better.\nYour feedback helps us continuously improve the SDKs.\n\n## Where to Get It\n\nDo you use Composer?\nWe've hosted the package on [Packagist](https:\u002F\u002Fpackagist.org\u002Fpackages\u002Fstadiamaps\u002Fapi){ target=\"_blank\" }\nfor easy installation with `composer install`. \nAnd if you'd prefer to just download the files directly,\nyou can do that too!\nLike all of our SDKs, it's completely open-source,\nand you can find the code and installation instructions\non [GitHub](https:\u002F\u002Fgithub.com\u002Fstadiamaps\u002Fstadiamaps-api-php){ target=\"_blank\" }.\n\n## Learn More & Next Steps\n\n- Read our [SDK documentation](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Foverview\u002F?utm_source=marketing_site&utm_campaign=php_sdk_launch&utm_content=php_announcement_news){ target=\"_blank\" } for installation instructions and example code.\n- [Create an account](https:\u002F\u002Fclient.stadiamaps.com\u002Fsignup\u002F?utm_source=marketing_site&utm_medium=blog&utm_campaign=php_sdk_launch&utm_content=php_sdk_announcement) to get an API key. Start building today without a credit card!\n- Join our community on [Slack](https:\u002F\u002Fslack.openstreetmap.us\u002F) or [Discord](https:\u002F\u002Fdiscord.gg\u002FqRBy6qqtdT), follow us\n  on [Mastodon](https:\u002F\u002Fen.osm.town\u002F@stadiamaps), [Twitter](https:\u002F\u002Ftwitter.com\u002F@stadiamaps), or\n  [LinkedIn](https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fstadia-maps\u002F), or sign-up for our [mailing list](https:\u002F\u002Feepurl.com\u002Fgs51fD)!\n\n",{"title":137,"description":138,"path":139,"published":140,"keywords":141,"rawbody":145},"Announcing Version 2 of our Official SDKs","We've added new routing and elevation API features in our latest SDK releases.","\u002Fblog\u002Fannouncing-version-2-of-official-sdks","2024-03-20",[142,133,101,143,144],"SDK","Elevation","Release","---\ndescription: \"We've added new routing and elevation API features in our latest SDK releases.\"\npublished: 2024-03-20\nkeywords:\n  - SDK\n  - API Client\n  - Routing\n  - Elevation\n  - Release\n---\n\n# Announcing Version 2 of our Official SDKs\n\nToday marks a new milestone in the lifecycle of the Stadia Maps official SDKs.\nWe have just released version 2.0.0 of our API client libraries\nfor the web, mobile and backend.\nWith official clients in TypeScript, Swift, Kotlin, and Python,\nwe've already helped thousands of developers get started in just a few lines of code.\n\nThis release includes a number of improvements:\n\n* A factor for adjusting the cost of alleys when doing automobile routing\n* A resample distance parameter for elevation requests, which makes it even easier to get elevation profiles; just give us a simple set of points and we'll interpolate the rest!\n* Support for requesting one or more alternate routes (great for [navigation applications](\u002Fproducts\u002Frouting-navigation))\n* Additional options to ignore restrictions (particularly useful during map matching when you just want to know which roads a vehicle traversed)\n\nIf you're using one of our existing libraries already,\nit will generally keep on working as-is.\nHowever, in order to make a few of the improvements,\nwe had to introduce backwards-incompatible changes,\nwhich is why it gets a major version bump.\nFor migration instructions, refer to the release notes lined below:\n\n* [TypeScript](https:\u002F\u002Fgithub.com\u002Fstadiamaps\u002Fstadiamaps-api-ts\u002Freleases\u002Ftag\u002Fv2.0.0)\n* [Swift](https:\u002F\u002Fgithub.com\u002Fstadiamaps\u002Fstadiamaps-api-swift\u002Freleases\u002Ftag\u002F2.0.0)\n* [Kotlin](https:\u002F\u002Fgithub.com\u002Fstadiamaps\u002Fstadiamaps-api-kotlin\u002Freleases\u002Ftag\u002Fv2.0.0)\n* [Python](https:\u002F\u002Fgithub.com\u002Fstadiamaps\u002Fstadiamaps-api-py\u002Freleases\u002Ftag\u002Fv2.0.0)\n",1778676027761]