[{"data":1,"prerenderedAt":561},["ShallowReactive",2],{"footer-learn-links":3,"site-prefooter-cta":16,"learn-\u002Flearn\u002Fwhat-does-a-free-map-api-cost\u002F":24,"related-learn-\u002Flearn\u002Fwhat-does-a-free-map-api-cost\u002F":531,"learn-org-author":550},[4,7,10,13],{"title":5,"path":6},"What Does a \"Free\" Map API Actually Cost?","\u002Flearn\u002Fwhat-does-a-free-map-api-cost",{"title":8,"path":9},"What Is the Best Geocoding API?","\u002Flearn\u002Fbest-geocoding-api",{"title":11,"path":12},"What Is the Best Routing API?","\u002Flearn\u002Fbest-routing-api",{"title":14,"path":15},"What Is a GDPR-Compliant Mapping API?","\u002Flearn\u002Fgdpr-compliant-mapping-api",{"id":17,"extension":18,"heading":19,"meta":20,"stem":21,"text":22,"__hash__":23},"site\u002Fsite\u002Fprefooter-cta.yml","yml","Business Outcomes That Fuel Your Growth",{},"site\u002Fprefooter-cta","With Stadia Maps, you build the solutions that matter. Logistics platforms provide accurate ETAs, fleet management apps reduce fuel costs, and emergency dispatch systems improve response times.","XztWiZDFyAC0XCoeYLLQrcyaVmP8uvGWALRS354c9I4",{"id":25,"title":5,"author":26,"body":27,"category":460,"description":515,"extension":516,"head":517,"image":519,"imageAlt":520,"keywords":521,"meta":522,"modified":521,"navigation":523,"path":6,"published":524,"rawbody":525,"schemaOrg":521,"seo":526,"stem":527,"term":528,"termDescription":529,"__hash__":530},"learn\u002Flearn\u002Fwhat-does-a-free-map-api-cost.md","Stadia Maps Team",{"type":28,"value":29,"toc":498},"minimark",[30,34,38,41,46,65,69,72,79,85,91,94,98,101,180,203,206,210,213,252,255,277,280,284,287,292,316,321,337,340,343,347,353,360,367,370,374,377,421,425,429,434,437,457,461],[31,32,5],"h1",{"id":33},"what-does-a-free-map-api-actually-cost",[35,36,37],"p",{},"The free tier is rarely the expensive part. What costs you is the pricing model sitting underneath it, and that only shows up the month your product works.",[35,39,40],{},"Every major map API has a free tier. They differ far less in size than in what happens at the edge of one. Some stop serving. Some bill you automatically. Some move you to a subscription tier that costs several times what you were paying. Picking a free tier is really picking the billing model you inherit at scale, so that is what this page compares.",[42,43,45],"h2",{"id":44},"key-takeaways","Key Takeaways",[47,48,49,53,56,59,62],"ul",{},[50,51,52],"li",{},"The size of a free tier matters less than what happens when you exceed it. The three common behaviors are a hard stop, automatic overage billing, and a jump to the next subscription tier.",[50,54,55],{},"Stadia Maps offers 200,000 credits per month free with no credit card required. Additional usage is off by default, so exceeding the limit returns errors rather than charges.",[50,57,58],{},"Commercial use is not permitted on the Stadia Maps free plan. Development, testing, and demonstration are.",[50,60,61],{},"Per Stadia Maps' published comparisons, Google Maps Platform runs tiered subscriptions at $100, $275, and $1,200 per month, where outgrowing a tier produces \"a step-change in cost rather than a gradual one.\"",[50,63,64],{},"Mapbox bills pay-as-you-go across multiple meters, which Stadia Maps' migration guide describes as \"harder to forecast than flat subscription models, especially when usage spikes unexpectedly.\"",[42,66,68],{"id":67},"what-does-free-actually-mean-on-a-map-api","What Does \"Free\" Actually Mean on a Map API?",[35,70,71],{},"Free tiers come in three shapes, and the shape determines your risk.",[35,73,74,78],{},[75,76,77],"strong",{},"Hard-limited."," You get a fixed allowance. When it runs out, requests stop being served until the next billing period. Your bill cannot move, but your product can break. This is the safe default for side projects and the wrong default for anything with paying users, unless you have alerting in place.",[35,80,81,84],{},[75,82,83],{},"Automatic overage."," You get a fixed allowance, and past it the provider keeps serving and starts charging. Your product cannot break, but your bill can. This is where the stories about surprise invoices come from, and it is worst when usage is spiky or when a single page view triggers several billable calls.",[35,86,87,90],{},[75,88,89],{},"Tiered subscription."," You get a free allowance, and past it you move to a paid plan with its own included volume. Costs are predictable inside a tier and jump at the boundary between tiers.",[35,92,93],{},"None of these is inherently wrong. What matters is knowing which one you signed up for before the traffic arrives.",[42,95,97],{"id":96},"what-happens-when-you-exceed-the-free-tier","What Happens When You Exceed the Free Tier?",[35,99,100],{},"The figures below are drawn from the Stadia Maps migration guides. Each provider's terms are their own and change over time, so verify against current documentation before deciding.",[102,103,104,119],"table",{},[105,106,107],"thead",{},[108,109,110,113,116],"tr",{},[111,112],"th",{},[111,114,115],{},"Pricing model",[111,117,118],{},"At the edge of the free tier",[120,121,122,141,154,167],"tbody",{},[108,123,124,130,133],{},[125,126,127],"td",{},[75,128,129],{},"Stadia Maps",[125,131,132],{},"Fixed credit pool per plan",[125,134,135,136,140],{},"Requests return ",[137,138,139],"code",{},"429"," until the next cycle. Additional usage is opt-in",[108,142,143,148,151],{},[125,144,145],{},[75,146,147],{},"Google",[125,149,150],{},"Tiered subscriptions over legacy pay-as-you-go",[125,152,153],{},"Outgrowing a tier is \"a step-change in cost rather than a gradual one\"",[108,155,156,161,164],{},[125,157,158],{},[75,159,160],{},"Mapbox",[125,162,163],{},"Pay-as-you-go across multiple meters",[125,165,166],{},"Billing continues automatically; costs are \"harder to forecast\" when usage spikes",[108,168,169,174,177],{},[125,170,171],{},[75,172,173],{},"MapTiler",[125,175,176],{},"Two meters (sessions and tile requests)",[125,178,179],{},"Overage fees apply beyond included allowances, \"requires monitoring multiple usage types\"",[35,181,182,183,188,189,188,193,197,198,202],{},"Sources: ",[184,185,187],"a",{"href":186},"\u002Fswitch-to-stadia\u002Ffrom-google\u002F","Google Maps alternatives",", ",[184,190,192],{"href":191},"\u002Fswitch-to-stadia\u002Ffrom-mapbox\u002F","Mapbox alternatives",[184,194,196],{"href":195},"\u002Fswitch-to-stadia\u002Ffrom-maptiler\u002F","MapTiler alternatives",", and the ",[184,199,201],{"href":200},"\u002Fpricing\u002F","Stadia Maps pricing page",".",[35,204,205],{},"Read that table as a question about your own tolerance. If an outage is worse than an invoice, automatic overage is a feature. If an unbudgeted invoice is worse than an outage, a hard limit is.",[42,207,209],{"id":208},"what-does-the-entry-paid-tier-cost","What Does the Entry Paid Tier Cost?",[35,211,212],{},"Free tiers end. What they hand you off to is the number that matters.",[47,214,215,224,234,243],{},[50,216,217,219,220,223],{},[75,218,129],{}," starts at ",[75,221,222],{},"$20\u002Fmonth"," for 1 million credits (Starter), then $80\u002Fmonth for 7.5 million (Standard), and $250\u002Fmonth for 25 million (Professional). Overage is opt-in at 3¢, 2¢, and 1.5¢ per 1,000 additional credits respectively.",[50,225,226,229,230,233],{},[75,227,228],{},"Google Maps Platform"," has run on tiered subscription plans since late 2025: ",[75,231,232],{},"Starter at $100\u002Fmonth, Essentials at $275\u002Fmonth, and Pro at $1,200\u002Fmonth",", layered on top of legacy pay-as-you-go billing.",[50,235,236,238,239,242],{},[75,237,160],{}," is pay-as-you-go, starting ",[75,240,241],{},"around $5 per 1,000 web map loads"," and stepping down at volume.",[50,244,245,247,248,251],{},[75,246,173],{}," current plans are ",[75,249,250],{},"Free ($0), Flex ($30\u002Fmonth with 25,000 sessions included), and Custom"," (enterprise contract). The published jump is from Free at 5,000 sessions with limited storage to Flex at 25,000 sessions.",[35,253,254],{},"Two worked examples from the Stadia Maps migration guides, with their usage assumptions intact:",[47,256,257,268],{},[50,258,259,260,263,264,267],{},"At ",[75,261,262],{},"50,000 map loads per month",", the ",[184,265,266],{"href":186},"from-Google comparison"," puts Google at $150 and Stadia Maps at $20.",[50,269,259,270,263,273,276],{},[75,271,272],{},"100,000 map loads per month",[184,274,275],{"href":191},"from-Mapbox comparison"," puts Mapbox at $255 and Stadia Maps at $80.",[35,278,279],{},"Those are scenarios at stated volumes, not averages. Your own mix of tiles, geocoding, and routing calls will move them.",[42,281,283],{"id":282},"what-is-actually-in-the-stadia-maps-free-tier","What Is Actually in the Stadia Maps Free Tier?",[35,285,286],{},"Worth being specific, including about what it excludes.",[35,288,289],{},[75,290,291],{},"What you get:",[47,293,294,300,306,309],{},[50,295,296,299],{},[75,297,298],{},"200,000 credits per month",", drawn from one pool that covers map tiles, geocoding, routing, and the other APIs",[50,301,302,305],{},[75,303,304],{},"No credit card required"," to start",[50,307,308],{},"Standard basemaps and the core APIs",[50,310,311,312,315],{},"A ",[75,313,314],{},"14-day trial of Stadia Maps Professional"," on every new account, after which the account stays on the free plan unless you upgrade",[35,317,318],{},[75,319,320],{},"What you do not get:",[47,322,323,334],{},[50,324,325,328,329,333],{},[75,326,327],{},"Commercial use is not allowed on the free plan."," Per the ",[184,330,332],{"href":331},"\u002Ffaqs\u002F","Stadia Maps FAQs",", usage counts as commercial if it is in a product or service that generates revenue, including through advertising, or if the organization using it is for-profit at all.",[50,335,336],{},"Additional usage. The free plan has no overage option, which is why the limit behaves as a hard stop.",[35,338,339],{},"The carve-outs matter and are stated plainly in the FAQs: development and testing are fine on the free plan, and so are demonstration products and pages that exist purely to demonstrate. Non-commercial academic use is permitted with attribution.",[35,341,342],{},"This is a real difference from providers whose free tiers permit commercial use at low volume. If you are shipping a revenue-generating product, the honest comparison is between their free tier and the Stadia Maps Starter plan at $20\u002Fmonth, not between the two free tiers.",[42,344,346],{"id":345},"what-happens-at-the-stadia-maps-limit","What Happens at the Stadia Maps Limit?",[35,348,349,350,352],{},"Concretely: you get HTTP ",[137,351,139],{}," responses until the next billing cycle, or until you enable pay-as-you-go on a paid plan.",[35,354,355,356,359],{},"There is no fixed requests-per-second cap on registered API keys. Per the ",[184,357,358],{"href":331},"FAQs",", the monthly credit allowance is the real constraint. Unregistered and abusive local-development traffic is throttled separately to prevent abuse.",[35,361,362,363,366],{},"The design intent is stated on the ",[184,364,365],{"href":200},"pricing page",": \"Fixed credit pools ensure costs stay exactly where you set them. Usage caps prevent billing shock and unexpected overages.\" Scaling is opt-in. Nothing bills you because your product had a good week.",[35,368,369],{},"The tradeoff is the one named above. A hard limit means a traffic spike degrades your product rather than your budget. Set up alerting on credit consumption regardless of which provider you choose.",[42,371,373],{"id":372},"questions-to-ask-before-choosing-a-free-tier","Questions to Ask Before Choosing a Free Tier",[35,375,376],{},"A short due-diligence list that applies to any provider:",[378,379,380,386,392,398,404,415],"ol",{},[50,381,382,385],{},[75,383,384],{},"What happens at the limit?"," Hard stop, automatic billing, or forced tier upgrade. Get this in writing before you build.",[50,387,388,391],{},[75,389,390],{},"How many meters am I being measured on?"," One pooled allowance is easier to forecast than separate counters for sessions, tile requests, and API calls.",[50,393,394,397],{},[75,395,396],{},"Is commercial use permitted?"," Free tiers that exclude commercial use are not options for a revenue-generating product, whatever the volume.",[50,399,400,403],{},[75,401,402],{},"How many billable calls does one user action trigger?"," A single map view can fire tile requests, a geocode, and a routing call. Model the user journey, not the endpoint.",[50,405,406,409,410,414],{},[75,407,408],{},"Can I store results?"," Storage rights are priced separately by most vendors, and they are governed by contract rather than by your plan's request volume. Check the ",[184,411,413],{"href":412},"\u002Fterms-of-service\u002F","Terms of Service"," before you architect around caching.",[50,416,417,420],{},[75,418,419],{},"Is a credit card required to start?"," This determines whether an accident can become a charge.",[422,423],"faq-section",{":faqs":424},"[{\"question\":\"Is there a genuinely free map API?\",\"answer\":\"Every major map API provider offers a free tier, including Stadia Maps, Google Maps Platform, Mapbox, and MapTiler. They differ in size, in whether commercial use is permitted, and most importantly in what happens when you exceed the allowance. Some stop serving requests, some bill automatically, and some move you to a paid subscription tier.\"},{\"question\":\"What is included in the Stadia Maps free plan?\",\"answer\":\"The Stadia Maps free plan includes 200,000 credits per month drawn from a single pool covering map tiles, geocoding, routing, and other APIs. No credit card is required. Standard basemaps and core APIs are included. Every new account also gets a 14-day trial of Stadia Maps Professional, after which the account remains on the free plan unless upgraded.\"},{\"question\":\"Can I use a free map API commercially?\",\"answer\":\"On Stadia Maps, no. Commercial use requires a paid subscription. Usage counts as commercial if it appears in a product or service that generates revenue, including through advertising, or if the organization is for-profit. Development, testing, demonstration pages, and non-commercial academic use are permitted on the free plan.\"},{\"question\":\"What happens when you exceed a free map API limit?\",\"answer\":\"It depends on the provider's model. On Stadia Maps, requests return HTTP 429 responses until the next billing cycle, because additional usage is opt-in rather than automatic. Other providers bill automatically past the allowance or move you to the next subscription tier. Per Stadia Maps' migration guides, outgrowing a Google Maps Platform tier produces a step-change in cost rather than a gradual one.\"},{\"question\":\"How much does a map API cost after the free tier?\",\"answer\":\"Stadia Maps starts at $20 per month for 1 million credits, rising to $80 for 7.5 million and $250 for 25 million. Google Maps Platform has run tiered subscriptions since late 2025 at $100, $275, and $1,200 per month. Mapbox is pay-as-you-go starting around $5 per 1,000 web map loads. MapTiler offers Flex at $30 per month with 25,000 sessions included.\"},{\"question\":\"Why do map API bills come as a surprise?\",\"answer\":\"Usually because billing is metered automatically across several counters at once, so a single user action can trigger multiple billable calls. Stadia Maps' migration guide describes Mapbox as billing across map loads, tile requests, and API calls, which makes monthly costs harder to forecast when usage spikes. Fixed credit pools with opt-in overages remove that risk by capping spend at the plan limit.\"},{\"question\":\"Does Stadia Maps require a credit card for the free tier?\",\"answer\":\"No. The free plan requires no payment method. A card is only needed when you upgrade to a paid plan, which is also what removes the hard credit limit and enables optional pay-as-you-go usage beyond your plan's included credits.\"}]",[42,426,428],{"id":427},"where-to-go-next","Where to Go Next",[430,431,433],"h3",{"id":432},"from-the-blog","From the Blog",[35,435,436],{},"More on pricing models and hidden costs from the Stadia Maps blog:",[47,438,439,445,451],{},[50,440,441],{},[184,442,444],{"href":443},"\u002Fblog\u002Fwhy-is-your-geocoding-bill-higher-than-it-should-be\u002F","The Hidden Cost of Search: Why Your Geocoding Bill Is Higher Than It Should Be",[50,446,447],{},[184,448,450],{"href":449},"\u002Fblog\u002Finvisible-costs-of-routing-privacy-pricing-mau-trap\u002F","The Invisible Costs of Routing: Privacy, Pricing, and Avoiding the \"MAU\" Trap",[50,452,453],{},[184,454,456],{"href":455},"\u002Fblog\u002Fgoogle-maps-heatmap-deprecated-maplibre-migration\u002F","When Google Maps Killed Its Heatmap API, Here's What It Costs You",[430,458,460],{"id":459},"location-platform","Location Platform",[47,462,463,469,474,481,485,489,493],{},[50,464,465,468],{},[184,466,467],{"href":200},"Pricing and plan comparison"," for the full credit schedule and overage rates",[50,470,471,473],{},[184,472,358],{"href":331}," for acceptable use, rate limits, and what counts as commercial use",[50,475,476,480],{},[184,477,479],{"href":478},"\u002Fswitch-to-stadia\u002F","Switch to Stadia Maps"," for migration guides",[50,482,483],{},[184,484,187],{"href":186},[50,486,487],{},[184,488,192],{"href":191},[50,490,491],{},[184,492,196],{"href":195},[50,494,495,497],{},[184,496,413],{"href":412}," for the governing acceptable use and storage language",{"title":499,"searchDepth":500,"depth":500,"links":501},"",4,[502,504,505,506,507,508,509,510],{"id":44,"depth":503,"text":45},2,{"id":67,"depth":503,"text":68},{"id":96,"depth":503,"text":97},{"id":208,"depth":503,"text":209},{"id":282,"depth":503,"text":283},{"id":345,"depth":503,"text":346},{"id":372,"depth":503,"text":373},{"id":427,"depth":503,"text":428,"children":511},[512,514],{"id":432,"depth":513,"text":433},3,{"id":459,"depth":513,"text":460},"Every map API has a free tier. What differs is what happens when you outgrow it. Compare pricing models, overage behavior, and the cost at the cliff edge.","md",{"script":518},[],"\u002Fimages\u002Fog\u002Fwhat-does-a-free-map-api-cost.png","What Does a \"Free\" Map API Actually Cost? — Stadia Maps",null,{},true,"2026-09-01","---\ntitle: What Does a \"Free\" Map API Actually Cost?\ndescription: Every map API has a free tier. What differs is what happens when you outgrow it. Compare pricing models, overage behavior, and the cost at the cliff edge.\nauthor: Stadia Maps Team\ncategory: Location Platform\nhead:\n  script: []\nimage: \u002Fimages\u002Fog\u002Fwhat-does-a-free-map-api-cost.png\nimageAlt: What Does a \"Free\" Map API Actually Cost? — Stadia Maps\npublished: 2026-09-01\nterm: Free Map API\ntermDescription: A mapping or location API offered at no cost up to a defined usage limit, after which the provider's pricing model determines what you pay.\n---\n\n# What Does a \"Free\" Map API Actually Cost?\n\nThe free tier is rarely the expensive part. What costs you is the pricing model sitting underneath it, and that only shows up the month your product works.\n\nEvery major map API has a free tier. They differ far less in size than in what happens at the edge of one. Some stop serving. Some bill you automatically. Some move you to a subscription tier that costs several times what you were paying. Picking a free tier is really picking the billing model you inherit at scale, so that is what this page compares.\n\n## Key Takeaways\n\n- The size of a free tier matters less than what happens when you exceed it. The three common behaviors are a hard stop, automatic overage billing, and a jump to the next subscription tier.\n- Stadia Maps offers 200,000 credits per month free with no credit card required. Additional usage is off by default, so exceeding the limit returns errors rather than charges.\n- Commercial use is not permitted on the Stadia Maps free plan. Development, testing, and demonstration are.\n- Per Stadia Maps' published comparisons, Google Maps Platform runs tiered subscriptions at $100, $275, and $1,200 per month, where outgrowing a tier produces \"a step-change in cost rather than a gradual one.\"\n- Mapbox bills pay-as-you-go across multiple meters, which Stadia Maps' migration guide describes as \"harder to forecast than flat subscription models, especially when usage spikes unexpectedly.\"\n\n## What Does \"Free\" Actually Mean on a Map API?\n\nFree tiers come in three shapes, and the shape determines your risk.\n\n**Hard-limited.** You get a fixed allowance. When it runs out, requests stop being served until the next billing period. Your bill cannot move, but your product can break. This is the safe default for side projects and the wrong default for anything with paying users, unless you have alerting in place.\n\n**Automatic overage.** You get a fixed allowance, and past it the provider keeps serving and starts charging. Your product cannot break, but your bill can. This is where the stories about surprise invoices come from, and it is worst when usage is spiky or when a single page view triggers several billable calls.\n\n**Tiered subscription.** You get a free allowance, and past it you move to a paid plan with its own included volume. Costs are predictable inside a tier and jump at the boundary between tiers.\n\nNone of these is inherently wrong. What matters is knowing which one you signed up for before the traffic arrives.\n\n## What Happens When You Exceed the Free Tier?\n\nThe figures below are drawn from the Stadia Maps migration guides. Each provider's terms are their own and change over time, so verify against current documentation before deciding.\n\n|                 | Pricing model                                  | At the edge of the free tier                                                              |\n| --------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------- |\n| **Stadia Maps** | Fixed credit pool per plan                     | Requests return `429` until the next cycle. Additional usage is opt-in                    |\n| **Google**      | Tiered subscriptions over legacy pay-as-you-go | Outgrowing a tier is \"a step-change in cost rather than a gradual one\"                    |\n| **Mapbox**      | Pay-as-you-go across multiple meters           | Billing continues automatically; costs are \"harder to forecast\" when usage spikes         |\n| **MapTiler**    | Two meters (sessions and tile requests)        | Overage fees apply beyond included allowances, \"requires monitoring multiple usage types\" |\n\nSources: [Google Maps alternatives](\u002Fswitch-to-stadia\u002Ffrom-google\u002F), [Mapbox alternatives](\u002Fswitch-to-stadia\u002Ffrom-mapbox\u002F), [MapTiler alternatives](\u002Fswitch-to-stadia\u002Ffrom-maptiler\u002F), and the [Stadia Maps pricing page](\u002Fpricing\u002F).\n\nRead that table as a question about your own tolerance. If an outage is worse than an invoice, automatic overage is a feature. If an unbudgeted invoice is worse than an outage, a hard limit is.\n\n## What Does the Entry Paid Tier Cost?\n\nFree tiers end. What they hand you off to is the number that matters.\n\n- **Stadia Maps** starts at **$20\u002Fmonth** for 1 million credits (Starter), then $80\u002Fmonth for 7.5 million (Standard), and $250\u002Fmonth for 25 million (Professional). Overage is opt-in at 3¢, 2¢, and 1.5¢ per 1,000 additional credits respectively.\n- **Google Maps Platform** has run on tiered subscription plans since late 2025: **Starter at $100\u002Fmonth, Essentials at $275\u002Fmonth, and Pro at $1,200\u002Fmonth**, layered on top of legacy pay-as-you-go billing.\n- **Mapbox** is pay-as-you-go, starting **around $5 per 1,000 web map loads** and stepping down at volume.\n- **MapTiler** current plans are **Free ($0), Flex ($30\u002Fmonth with 25,000 sessions included), and Custom** (enterprise contract). The published jump is from Free at 5,000 sessions with limited storage to Flex at 25,000 sessions.\n\nTwo worked examples from the Stadia Maps migration guides, with their usage assumptions intact:\n\n- At **50,000 map loads per month**, the [from-Google comparison](\u002Fswitch-to-stadia\u002Ffrom-google\u002F) puts Google at $150 and Stadia Maps at $20.\n- At **100,000 map loads per month**, the [from-Mapbox comparison](\u002Fswitch-to-stadia\u002Ffrom-mapbox\u002F) puts Mapbox at $255 and Stadia Maps at $80.\n\nThose are scenarios at stated volumes, not averages. Your own mix of tiles, geocoding, and routing calls will move them.\n\n## What Is Actually in the Stadia Maps Free Tier?\n\nWorth being specific, including about what it excludes.\n\n**What you get:**\n\n- **200,000 credits per month**, drawn from one pool that covers map tiles, geocoding, routing, and the other APIs\n- **No credit card required** to start\n- Standard basemaps and the core APIs\n- A **14-day trial of Stadia Maps Professional** on every new account, after which the account stays on the free plan unless you upgrade\n\n**What you do not get:**\n\n- **Commercial use is not allowed on the free plan.** Per the [Stadia Maps FAQs](\u002Ffaqs\u002F), usage counts as commercial if it is in a product or service that generates revenue, including through advertising, or if the organization using it is for-profit at all.\n- Additional usage. The free plan has no overage option, which is why the limit behaves as a hard stop.\n\nThe carve-outs matter and are stated plainly in the FAQs: development and testing are fine on the free plan, and so are demonstration products and pages that exist purely to demonstrate. Non-commercial academic use is permitted with attribution.\n\nThis is a real difference from providers whose free tiers permit commercial use at low volume. If you are shipping a revenue-generating product, the honest comparison is between their free tier and the Stadia Maps Starter plan at $20\u002Fmonth, not between the two free tiers.\n\n## What Happens at the Stadia Maps Limit?\n\nConcretely: you get HTTP `429` responses until the next billing cycle, or until you enable pay-as-you-go on a paid plan.\n\nThere is no fixed requests-per-second cap on registered API keys. Per the [FAQs](\u002Ffaqs\u002F), the monthly credit allowance is the real constraint. Unregistered and abusive local-development traffic is throttled separately to prevent abuse.\n\nThe design intent is stated on the [pricing page](\u002Fpricing\u002F): \"Fixed credit pools ensure costs stay exactly where you set them. Usage caps prevent billing shock and unexpected overages.\" Scaling is opt-in. Nothing bills you because your product had a good week.\n\nThe tradeoff is the one named above. A hard limit means a traffic spike degrades your product rather than your budget. Set up alerting on credit consumption regardless of which provider you choose.\n\n## Questions to Ask Before Choosing a Free Tier\n\nA short due-diligence list that applies to any provider:\n\n1. **What happens at the limit?** Hard stop, automatic billing, or forced tier upgrade. Get this in writing before you build.\n2. **How many meters am I being measured on?** One pooled allowance is easier to forecast than separate counters for sessions, tile requests, and API calls.\n3. **Is commercial use permitted?** Free tiers that exclude commercial use are not options for a revenue-generating product, whatever the volume.\n4. **How many billable calls does one user action trigger?** A single map view can fire tile requests, a geocode, and a routing call. Model the user journey, not the endpoint.\n5. **Can I store results?** Storage rights are priced separately by most vendors, and they are governed by contract rather than by your plan's request volume. Check the [Terms of Service](\u002Fterms-of-service\u002F) before you architect around caching.\n6. **Is a credit card required to start?** This determines whether an accident can become a charge.\n\n::faq-section\n---\nfaqs:\n  - question: Is there a genuinely free map API?\n    answer: Every major map API provider offers a free tier, including Stadia Maps,\n      Google Maps Platform, Mapbox, and MapTiler. They differ in size, in\n      whether commercial use is permitted, and most importantly in what happens\n      when you exceed the allowance. Some stop serving requests, some bill\n      automatically, and some move you to a paid subscription tier.\n  - question: What is included in the Stadia Maps free plan?\n    answer: The Stadia Maps free plan includes 200,000 credits per month drawn from\n      a single pool covering map tiles, geocoding, routing, and other APIs. No\n      credit card is required. Standard basemaps and core APIs are included.\n      Every new account also gets a 14-day trial of Stadia Maps Professional,\n      after which the account remains on the free plan unless upgraded.\n  - question: Can I use a free map API commercially?\n    answer: On Stadia Maps, no. Commercial use requires a paid subscription. Usage\n      counts as commercial if it appears in a product or service that generates\n      revenue, including through advertising, or if the organization is\n      for-profit. Development, testing, demonstration pages, and non-commercial\n      academic use are permitted on the free plan.\n  - question: What happens when you exceed a free map API limit?\n    answer: It depends on the provider's model. On Stadia Maps, requests return HTTP\n      429 responses until the next billing cycle, because additional usage is\n      opt-in rather than automatic. Other providers bill automatically past the\n      allowance or move you to the next subscription tier. Per Stadia Maps'\n      migration guides, outgrowing a Google Maps Platform tier produces a\n      step-change in cost rather than a gradual one.\n  - question: How much does a map API cost after the free tier?\n    answer: Stadia Maps starts at $20 per month for 1 million credits, rising to $80\n      for 7.5 million and $250 for 25 million. Google Maps Platform has run\n      tiered subscriptions since late 2025 at $100, $275, and $1,200 per month.\n      Mapbox is pay-as-you-go starting around $5 per 1,000 web map loads.\n      MapTiler offers Flex at $30 per month with 25,000 sessions included.\n  - question: Why do map API bills come as a surprise?\n    answer: Usually because billing is metered automatically across several counters\n      at once, so a single user action can trigger multiple billable calls.\n      Stadia Maps' migration guide describes Mapbox as billing across map loads,\n      tile requests, and API calls, which makes monthly costs harder to forecast\n      when usage spikes. Fixed credit pools with opt-in overages remove that\n      risk by capping spend at the plan limit.\n  - question: Does Stadia Maps require a credit card for the free tier?\n    answer: No. The free plan requires no payment method. A card is only needed when\n      you upgrade to a paid plan, which is also what removes the hard credit\n      limit and enables optional pay-as-you-go usage beyond your plan's included\n      credits.\n---\n::\n\n## Where to Go Next\n\n### From the Blog\n\nMore on pricing models and hidden costs from the Stadia Maps blog:\n\n- [The Hidden Cost of Search: Why Your Geocoding Bill Is Higher Than It Should Be](\u002Fblog\u002Fwhy-is-your-geocoding-bill-higher-than-it-should-be\u002F)\n- [The Invisible Costs of Routing: Privacy, Pricing, and Avoiding the \"MAU\" Trap](\u002Fblog\u002Finvisible-costs-of-routing-privacy-pricing-mau-trap\u002F)\n- [When Google Maps Killed Its Heatmap API, Here's What It Costs You](\u002Fblog\u002Fgoogle-maps-heatmap-deprecated-maplibre-migration\u002F)\n\n### Location Platform\n\n- [Pricing and plan comparison](\u002Fpricing\u002F) for the full credit schedule and overage rates\n- [FAQs](\u002Ffaqs\u002F) for acceptable use, rate limits, and what counts as commercial use\n- [Switch to Stadia Maps](\u002Fswitch-to-stadia\u002F) for migration guides\n- [Google Maps alternatives](\u002Fswitch-to-stadia\u002Ffrom-google\u002F)\n- [Mapbox alternatives](\u002Fswitch-to-stadia\u002Ffrom-mapbox\u002F)\n- [MapTiler alternatives](\u002Fswitch-to-stadia\u002Ffrom-maptiler\u002F)\n- [Terms of Service](\u002Fterms-of-service\u002F) for the governing acceptable use and storage language\n",{"title":5,"description":515},"learn\u002Fwhat-does-a-free-map-api-cost","Free Map API","A mapping or location API offered at no cost up to a defined usage limit, after which the provider's pricing model determines what you pay.","1ZHW8KQi-x7HiF5wh2zH3prBfKJXZg9Wuaz4Hnf_QGw",[532,536,543],{"title":14,"description":533,"path":15,"published":534,"category":460,"rawbody":535},"A GDPR-compliant mapping API avoids tracking end users and can keep requests in the EU. Learn what Stadia Maps collects, and how EU-only endpoints work.","2026-08-05","---\ntitle: What Is a GDPR-Compliant Mapping API?\ndescription: A GDPR-compliant mapping API avoids tracking end users and can keep requests in the EU. Learn what Stadia Maps collects, and how EU-only endpoints work.\nauthor: Stadia Maps Team\ncategory: Location Platform\nimage: \u002Fimages\u002Fog\u002Fwhat-is-a-gdpr-compliant-mapping-api.png\nhead:\n  script: []\npublished: 2026-08-05\nterm: GDPR-Compliant Mapping API\ntermDescription: A mapping or location API that does not track end users, collects only operational data, and can route requests to servers in a specific jurisdiction.\n---\n\n# What Is a GDPR-Compliant Mapping API?\n\nWhen teams evaluate a mapping API for GDPR, they are usually asking three concrete questions: does the provider track my end users, what does it log, and where are requests processed. Stadia Maps documents its answers to all three. Per the [EU endpoints documentation](https:\u002F\u002Fdocs.stadiamaps.com\u002Feu-gdpr-endpoints\u002F), Stadia Maps is \"confident that our privacy practices and procedures satisfy GDPR requirements by default,\" and offers EU-only endpoints for teams that need a guarantee that requests never leave the European Union.\n\nThis page covers what Stadia Maps does. It is not legal advice, and it does not assess whether any particular application is compliant.\n\n## Key Takeaways\n\n- Stadia Maps does not track end users, build behavioral profiles, resell data, or use data for ad targeting.\n- Map tiles and API calls are cookie-less, stateless, and anonymous by default. There are no third-party cookies or tracking pixels on any service.\n- EU-only endpoints route all requests to servers in Frankfurt and Paris, and PII is scrubbed at the network edge.\n- Switching to EU endpoints is a hostname change: `tiles-eu.stadiamaps.com` and `api-eu.stadiamaps.com`.\n- Stadia Maps publishes a Data Processing Addendum and a Privacy Policy covering what is collected and why.\n\n## What Does a Mapping API Actually Collect?\n\nThe privacy question that matters for most teams is not what the provider promises, but what the integration technically does. Some location SDKs generate telemetry from user actions regardless of what your own application logs.\n\nPer the [Stadia Maps privacy commitment](https:\u002F\u002Fstadiamaps.com\u002Fprivacy\u002Fprivacy-commitment\u002F), the platform is built so that:\n\n- There are **no client-side scripts that phone home**\n- There are **no third-party cookies or tracking pixels** on any service\n- There are **no user-identifying headers or geolocation sniffing**\n- Map tiles and API calls are **cookie-less, stateless, and anonymous by default**\n- Geocoding and search are **query-based, not session-based**\n- Routing and navigation **does not store location history**\n- Maps **do not log identifying info**\n\nWhat Stadia Maps does collect is limited to operating and securing the infrastructure, preventing abuse and fraud, and debugging service issues. Per the privacy commitment page, Stadia Maps \"never collect [s] or store [s] location data tied to individual users.\" The [Privacy Policy](https:\u002F\u002Fstadiamaps.com\u002Fprivacy\u002Fprivacy-policy\u002F) covers the specifics.\n\n## What Are EU-Only Endpoints?\n\nSome teams need more than a policy commitment. They need a guarantee that network requests are handled inside a specific jurisdiction, either because of internal policy, a customer contract, or a regulator.\n\nStadia Maps offers [EU-only endpoints](https:\u002F\u002Fdocs.stadiamaps.com\u002Feu-gdpr-endpoints\u002F) for exactly that case. Per the documentation:\n\n- Requests connect exclusively to two servers positioned in the European Union: **Frankfurt, Germany** and **Paris, France**.\n- Stadia Maps systems **scrub PII at the network's edge**, so any request that must ultimately be handled by internal services in other regions is managed privately.\n\nThis is offered as an option rather than a default, because the standard endpoints already operate under the same privacy practices. EU endpoints exist for teams that need the jurisdictional guarantee on top.\n\n## How Do You Use the EU Endpoints?\n\nSwitching is a hostname change. No code restructuring, no separate account.\n\nFor map tiles and styles, replace `tiles.stadiamaps.com` with `tiles-eu.stadiamaps.com`:\n\n```http\nhttps:\u002F\u002Ftiles-eu.stadiamaps.com\u002Fstyles\u002Falidade_smooth.json\n```\n\nFor routing, geocoding, time zone, and other API services, replace `api.stadiamaps.com` with `api-eu.stadiamaps.com`:\n\n```http\nhttps:\u002F\u002Fapi-eu.stadiamaps.com\u002Fgeocoding\u002Fv2\u002Fsearch?text=Union+Square\n```\n\nEvery official Stadia Maps SDK accepts a base path or host override, so the change is typically one line. Full examples for TypeScript, Python, Kotlin, Swift, PHP, and cURL are in the [EU endpoints documentation](https:\u002F\u002Fdocs.stadiamaps.com\u002Feu-gdpr-endpoints\u002F).\n\n## What About Self-Hosting?\n\nFor teams whose requirements go beyond endpoint jurisdiction, Stadia Maps offers [On-Prem and Embedded Solutions](https:\u002F\u002Fstadiamaps.com\u002Fproducts\u002Fon-prem-embedded\u002F). Running tiles and APIs inside your own infrastructure means location requests never reach a third party at all.\n\nThat is a heavier lift than switching a hostname, but it is the option that exists when a compliance requirement cannot be satisfied by a vendor commitment.\n\n## What Documentation Is Available for Compliance Review?\n\nProcurement and legal teams generally ask for artifacts rather than marketing claims. Stadia Maps publishes:\n\n- A [Privacy Policy](https:\u002F\u002Fstadiamaps.com\u002Fprivacy\u002Fprivacy-policy\u002F) covering what is collected and why\n- A [Data Processing Addendum](https:\u002F\u002Fstadiamaps.com\u002Flegal\u002Fdata-processing-addendum\u002F)\n- [Terms of Service](https:\u002F\u002Fstadiamaps.com\u002Fterms-of-service\u002F)\n- An [infrastructure overview](https:\u002F\u002Fstadiamaps.com\u002Finfrastructure\u002F) describing how the platform is built\n\nFor requirements not covered by the standard documents, Stadia Maps works directly with teams on tailored arrangements. The [support page](https:\u002F\u002Fstadiamaps.com\u002Fsupport\u002F) has contact options.\n\n## Where This Page Stops\n\nWorth being direct about the limits of what a vendor page can tell you.\n\n- **This is not legal advice.** Whether your application is GDPR-compliant depends on what data you collect, your lawful basis, your own retention practices, and factors that have nothing to do with your mapping provider.\n- **A compliant provider does not make your application compliant.** The mapping API is one processor in your stack. Your own data handling is the larger question.\n- **Requirements vary by use case and jurisdiction.** A consumer app, a healthcare platform, and a government contractor face different obligations from the same regulation.\n- **Verify rather than take a vendor's word.** Read the DPA and the Privacy Policy. If a specific control matters to you, ask about it directly before you build.\n\nFor anything beyond what is documented, talk to counsel who knows your use case.\n\n## Common Compliance-Driven Use Cases\n\nTeams that end up on EU endpoints or self-hosted deployments usually have a specific driver.\n\n- **EU-based products** with internal policy or customer contracts requiring data residency.\n- **Healthcare and health-adjacent apps** where location can be combined with other fields to become sensitive.\n- **Financial services** operating under sector rules on top of general privacy regulation.\n- **Government and public sector** with procurement requirements around data handling and jurisdiction.\n- **Enterprise B2B software** where the customer's own compliance review extends to subprocessors.\n- **Consumer apps positioning on privacy** where tracking by a vendor would undercut the product's own promise.\n\n::faq-section\n---\nfaqs:\n  - question: Does Stadia Maps track end users?\n    answer: No. Per the Stadia Maps privacy commitment, there is no user tracking,\n      no behavioral profiling, and no data reselling or ad targeting. Map tiles\n      and API calls are cookie-less, stateless, and anonymous by default, with\n      no client-side scripts that phone home and no third-party cookies or\n      tracking pixels on any service.\n  - question: What are Stadia Maps EU endpoints?\n    answer: EU endpoints are alternate hostnames that route all requests to servers\n      located in the European Union, specifically Frankfurt, Germany and Paris,\n      France. Stadia Maps systems scrub PII at the network edge, so any request\n      ultimately handled by internal services in other regions is managed\n      privately. Use tiles-eu.stadiamaps.com for map tiles and\n      api-eu.stadiamaps.com for API services.\n  - question: How do I switch to Stadia Maps EU endpoints?\n    answer: Replace tiles.stadiamaps.com with tiles-eu.stadiamaps.com for map tiles\n      and styles, and api.stadiamaps.com with api-eu.stadiamaps.com for routing,\n      geocoding, time zone, and other API services. Every official Stadia Maps\n      SDK accepts a base path or host override, so the change is typically one\n      line of configuration.\n  - question: What data does Stadia Maps collect?\n    answer: Stadia Maps collects only the minimal data necessary to operate and\n      secure its infrastructure, prevent abuse and fraud, and debug service\n      issues. Per the privacy commitment page, Stadia Maps never collects or\n      stores location data tied to individual users. Full details are in the\n      Privacy Policy.\n  - question: Does Stadia Maps offer a Data Processing Addendum?\n    answer: Yes. Stadia Maps publishes a Data Processing Addendum alongside its\n      Privacy Policy and Terms of Service. For requirements not covered by the\n      standard documents, Stadia Maps works directly with teams on tailored\n      arrangements.\n  - question: Can I self-host Stadia Maps for compliance reasons?\n    answer: Yes. Stadia Maps offers On-Prem and Embedded Solutions for teams whose\n      requirements go beyond endpoint jurisdiction. Running tiles and APIs\n      inside your own infrastructure means location requests never reach a third\n      party.\n---\n::\n\n## Where to Go Next\n\n### From the Blog\n\nMore on privacy and location data from the Stadia Maps blog:\n\n- [The Invisible Costs of Routing: Privacy, Pricing & the MAU Trap](\u002Fblog\u002Finvisible-costs-of-routing-privacy-pricing-mau-trap\u002F)\n- [Precision Meets Privacy: Elevating the Consumer Search Experience](\u002Fblog\u002Fprecision-meets-privacy-consumer-search-experience\u002F)\n- [The Open Data Superpower: Why Global Search Is Moving Beyond Proprietary Silos](\u002Fblog\u002Fopen-data-geocoding-global-search\u002F)\n\n### Privacy and Compliance\n\n- [Privacy Commitment](\u002Fprivacy\u002Fprivacy-commitment\u002F) for what Stadia Maps does and does not collect\n- [Private Location APIs and Maps](\u002Fprivacy\u002Fprivate-location-apis-maps\u002F) for the GDPR and CCPA overview\n- [Privacy Policy](\u002Fprivacy\u002Fprivacy-policy\u002F)\n- [Data Processing Addendum](\u002Flegal\u002Fdata-processing-addendum\u002F)\n- [Terms of Service](\u002Fterms-of-service\u002F)\n- [EU Endpoints documentation](https:\u002F\u002Fdocs.stadiamaps.com\u002Feu-gdpr-endpoints\u002F) for setup instructions and code examples\n- [Infrastructure overview](\u002Finfrastructure\u002F) for how the platform is built\n- [On-Prem and Embedded Solutions](\u002Fproducts\u002Fon-prem-embedded\u002F) for self-hosted deployments\n",{"title":537,"description":538,"path":539,"published":540,"category":541,"rawbody":542},"Vector vs. Raster Map Tiles","Vector and raster are the two main map tile formats. Learn how they differ, when to use each, and how Stadia Maps serves both with MapLibre and OpenLayers.","\u002Flearn\u002Fvector-versus-raster-map-tiles","2026-07-27","Maps","---\ntitle: Vector vs. Raster Map Tiles\ndescription: Vector and raster are the two main map tile formats. Learn how they differ, when to use each, and how Stadia Maps serves both with MapLibre and OpenLayers.\nauthor: Stadia Maps Team\ncategory: Maps\nimage: \u002Fimages\u002Fog\u002Fwhat-is-vector-vs-raster-map-tiles.png\nhead:\n  script: []\npublished: 2026-07-27\nschemaOrg:\n  - \"@type\": FAQPage\n    mainEntity:\n      - \"@type\": Question\n        name: What is the difference between vector and raster map tiles?\n        acceptedAnswer:\n          \"@type\": Answer\n          text: Raster map tiles are PNG or JPG images that get stitched together in a grid. Vector map tiles contain a mathematical description of the geometry plus structured data about each feature on the map, and get rendered client-side. Vector tiles allow dynamic styling, look sharp at any resolution, and typically reduce tile requests by around 60%. Raster tiles are simpler to render and battle-tested across older devices and rendering libraries.\n      - \"@type\": Question\n        name: Which is better, vector or raster map tiles?\n        acceptedAnswer:\n          \"@type\": Answer\n          text: According to the Stadia Maps Switching to Vector Tiles guide, vector tiles offer greater flexibility, look great on any screen, and typically reduce costs by around 60%. However, if your application is targeting older devices or does not need a high level of detail, raster tiles are not necessarily a bad option.\n      - \"@type\": Question\n        name: Do vector map tiles cost less than raster map tiles?\n        acceptedAnswer:\n          \"@type\": Answer\n          text: On the Stadia Maps API, both vector and raster tile requests are billed the same way, but vector tiles typically require fewer total requests to render a comparable map. The Switching to Vector Tiles guide reports users switching to vector make approximately 60% fewer tile requests on average.\n      - \"@type\": Question\n        name: What format are Stadia Maps vector tiles served in?\n        acceptedAnswer:\n          \"@type\": Answer\n          text: Stadia Maps vector tiles are distributed in the widely-adopted Mapbox Vector Tile (MVT) format, with a schema compatible with OpenMapTiles. They render in MapLibre GL JS, MapLibre Native, Leaflet (via maplibre-gl-leaflet), OpenLayers (via ol-mapbox-style), and other MVT-compatible renderers.\n      - \"@type\": Question\n        name: Can I use vector tiles with Leaflet?\n        acceptedAnswer:\n          \"@type\": Answer\n          text: Yes. Leaflet can render Stadia Maps vector tiles via the maplibre-gl-leaflet plugin. You swap L.tileLayer for L.maplibreGL and point at a Stadia Maps vector style URL. This is the quickest migration path from raster Leaflet to vector without switching frameworks.\nterm: Map Tile\ntermDescription: A single image or data file, one of many that get stitched together to form a complete interactive map. Comes in two main formats, raster and vector.\n---\n\n# Vector vs. Raster Map Tiles\n\nVector and raster are the two main formats used to serve interactive map tiles. Raster tiles are PNG or JPG images stitched into a grid. Vector tiles contain a mathematical description of geometry plus structured data about each feature, rendered on the client. The [Stadia Maps Map Tiles API](https:\u002F\u002Fdocs.stadiamaps.com\u002Fvector\u002F) serves both formats, so this comparison is not a pitch for one over the other. It's an honest walkthrough of the trade-offs.\n\n## Key Takeaways\n\n- Raster tiles are PNG or JPG images. Vector tiles are structured data, rendered client-side.\n- Vector tiles allow dynamic styling (colors, language, layer visibility, 3D perspective). Raster tiles do not.\n- According to Stadia Maps' [Switching to Vector Tiles guide](https:\u002F\u002Fdocs.stadiamaps.com\u002Fguides\u002Fswitching-your-maps-from-raster-to-vector-tiles\u002F), users switching to vector make approximately 60% fewer tile requests on average.\n- Raster tiles are battle-tested and easy to render on older devices and simpler libraries.\n- Stadia Maps serves both formats and contributes to MapLibre. Co-founder Luke Seelenbinder serves on MapLibre's governing board.\n\n## What Are Raster Map Tiles?\n\nRaster map tiles are PNG or JPG images that get stitched together in a grid to form a complete interactive map. When you zoom in and out of a map and see little blank squares filling in like a mosaic, those are tiles.\n\nThe [Stadia Maps Raster Map Tiles API](https:\u002F\u002Fdocs.stadiamaps.com\u002Fraster\u002F) serves all of Stadia's house styles as PNG raster tiles at 256×256 and 512×512 pixel sizes. Raster tiles are supported up to zoom 20 for most styles (Stamen Watercolor is the exception at zoom 16).\n\n**Raster advantages (from the Stadia Maps guide):**\n\n- **Simplicity.** Just about every device can render a PNG or JPG image, and it is easy to build a performant renderer around them. Raster tiles do not require any other resources (fonts, icons) or special client-side logic.\n- **Specificity.** For minimalist styles, raster tiles can be more bandwidth-efficient because they only contain the raw visible pixels.\n\n**Raster limitations (from the Stadia Maps guide):**\n\n- **Inflexibility.** You cannot change much about raster tiles. Hiding a layer, changing the language of labels, or altering the appearance of the tiles is not possible client-side.\n- **Scalability.** Raster map tiles cannot be scaled up and down. High-DPI displays need 4× the pixels, and zooming produces temporary blur until the new tiles load.\n\n## What Are Vector Map Tiles?\n\nVector map tiles contain a mathematical description of geometry and structured data about each feature on the map. Rather than pre-rendered pixels, the tile carries the raw data and the client renders it in real time.\n\nThe [Stadia Maps Vector Map Tiles API](https:\u002F\u002Fdocs.stadiamaps.com\u002Fvector\u002F) serves tiles in the widely-adopted Mapbox Vector Tile (MVT) format, with a schema compatible with OpenMapTiles. Stadia Maps supports zoom levels 0 through 14 for vector tiles, with over-zooming from the z14 tile beyond that. Stadia Maps recommends the [MapLibre GL JS](https:\u002F\u002Fmaplibre.org\u002F) and MapLibre Native renderers, but the tiles work in any MVT-compatible renderer.\n\n**Vector advantages (from the Stadia Maps guide):**\n\n- **Flexibility.** The actual data is preserved in the tile. You can [change the language](https:\u002F\u002Fdocs.stadiamaps.com\u002Ftutorials\u002Fchanging-the-map-label-language\u002F) of text labels, change color scheme dynamically, switch styles based on time of day, or [add 3D perspective](https:\u002F\u002Fdocs.stadiamaps.com\u002Ftutorials\u002Fadding-3d-buildings-to-your-maps-with-maplibre\u002F).\n- **Scalability.** Vector shapes scale up and down smoothly. Zooming feels continuous rather than stepped, and high-DPI displays get sharp output without extra bandwidth.\n- **Cost.** Vector tiles cover a larger area per tile. Stadia's guide reports users switching to vector make approximately 60% fewer tile requests on average.\n\n**Vector limitations (from the Stadia Maps guide):**\n\n- **Complexity.** Tiles render client-side, which may create performance concerns for older or embedded applications. Initial map load involves more network requests for fonts, icons, and style resources.\n- **Size.** For applications that only need a low level of detail and don't use 3D features, vector tiles can weigh slightly more. This is offset because zooming past level 14 uses the information already in the z14 tile.\n\n## Vector vs. Raster: Which Should You Use?\n\nThe [Stadia Maps Switching to Vector Tiles guide](https:\u002F\u002Fdocs.stadiamaps.com\u002Fguides\u002Fswitching-your-maps-from-raster-to-vector-tiles\u002F) summarizes the choice directly: \"Vector tiles offer greater flexibility, look great on any screen, and typically reduce costs by around 60%. However, if your application is targeting older devices or doesn't need a high level of detail (for example, our Alidade Smooth and Alidade Smooth Dark styles), raster tiles are not necessarily a bad option.\"\n\nChoose **vector** when you need:\n\n- Client-side style customization or language switching\n- 3D perspective, custom camera angles, or dynamic theming\n- Lower total tile requests at scale\n- Sharp rendering on high-DPI displays without paying 4× bandwidth\n\nChoose **raster** when you need:\n\n- Support for older devices or renderers that don't understand MVT\n- A minimalist style where bandwidth per tile is very small\n- The absolute simplest integration path in Leaflet, WordPress, or a static site\n- Static images (for those, the [Stadia Maps Static Maps API](https:\u002F\u002Fstadiamaps.com\u002Fproducts\u002Fmaps\u002Fstatic-maps\u002F) is a different product, tailored for embedding images in emails or apps without a JS runtime)\n\n## How Do You Serve Vector and Raster Tiles with Stadia Maps?\n\nBoth formats use straightforward URL patterns. Replace `\u003Cstyle>` with any of the [Stadia Maps map styles](https:\u002F\u002Fdocs.stadiamaps.com\u002Fthemes\u002F).\n\n**Vector tile URL formats:**\n\n```text\nhttps:\u002F\u002Ftiles.stadiamaps.com\u002Fdata\u002Fopenmaptiles.json\nhttps:\u002F\u002Ftiles.stadiamaps.com\u002Fdata\u002Fopenmaptiles\u002F{z}\u002F{x}\u002F{y}.pbf\n```\n\n**Raster tile URL format:**\n\n```text\nhttps:\u002F\u002Ftiles.stadiamaps.com\u002Ftiles\u002F\u003Cstyle>\u002F{z}\u002F{x}\u002F{y}{r}.png\n```\n\nThe `{r}` placeholder handles HiDPI (\"retina\") display support. Replace it with `@2x` for 2× scaled images, or drop it for 256×256 output.\n\nEU-only endpoints are available for both formats at `tiles-eu.stadiamaps.com`. See the [EU Endpoints docs](https:\u002F\u002Fdocs.stadiamaps.com\u002Feu-gdpr-endpoints\u002F) for details.\n\nAuthentication uses domain-based auth for browser applications or an API key for backend and mobile applications. Full details in the [Authentication guide](https:\u002F\u002Fdocs.stadiamaps.com\u002Fauthentication\u002F).\n\n## How to Switch from Raster to Vector Tiles\n\nThe [Switching to Vector Tiles guide](https:\u002F\u002Fdocs.stadiamaps.com\u002Fguides\u002Fswitching-your-maps-from-raster-to-vector-tiles\u002F) walks through the common migration paths.\n\n- **Switching to MapLibre GL JS (web).** The most feature-rich option. See the [MapLibre GL JS quickstart](https:\u002F\u002Fdocs.stadiamaps.com\u002Ftutorials\u002Fvector-maps-with-maplibre-gl-js\u002F).\n- **Keeping Leaflet.** Add vector rendering support via the `maplibre-gl-leaflet` plugin. Swap `L.tileLayer` for `L.maplibreGL` and point at a Stadia Maps vector style URL. See the [Vector Tiles with Leaflet tutorial](https:\u002F\u002Fdocs.stadiamaps.com\u002Ftutorials\u002Fvector-tiles-with-leaflet\u002F).\n- **React Leaflet.** Add a small component. See the [Vector Tiles with React Leaflet tutorial](https:\u002F\u002Fdocs.stadiamaps.com\u002Ftutorials\u002Fvector-tiles-with-react-leaflet\u002F).\n- **OpenLayers.** Load the `ol-mapbox-style` plugin and call `olms.apply` with a Stadia Maps vector style URL.\n- **Mobile (iOS, Android, Flutter, React Native).** See the [Native and Multi-platform maps overview](https:\u002F\u002Fdocs.stadiamaps.com\u002Fnative-multiplatform\u002Foverview\u002F).\n\n## Where Vector vs. Raster Tile Comparisons Fall Short\n\nA few things worth knowing before you take any comparison table (this one included) as absolute.\n\n- **\"60% fewer tile requests\" is an average, not a guarantee.** The actual reduction depends on the level of detail, the size of the viewport, and how much users pan and zoom. The Stadia Maps guide reports it as an average across users who switched.\n- **Vector isn't universally faster.** Initial map load can involve more network requests for fonts, icons, and style resources. First-paint may feel slower even when total data is lower.\n- **Not every renderer handles MVT with the same fidelity.** The Stadia Vector docs explicitly note that OpenLayers rendering \"isn't quite as powerful as MapLibre GL JS, but it's the quickest migration path to most of the benefits.\" Same idea for the Leaflet plugin.\n- **Older devices matter.** If a meaningful part of your user base runs older embedded browsers or low-power devices, raster is often the safer default. The Stadia guide calls this out explicitly.\n- **Style customization has its own learning curve.** The flexibility of vector tiles only pays off if you actually build styles. If you never customize, the raster experience of Stadia's house styles is just as good visually.\n\n## Common Use Cases for Vector and Raster Map Tiles\n\nWhere each format shines, drawn from the Stadia Maps docs and product page.\n\n**Vector tile use cases:**\n\n- Interactive web and mobile apps that need custom styling, language switching, or 3D perspective\n- Marker clustering, polyline overlays, and polygon overlays in [MapLibre GL JS](https:\u002F\u002Fdocs.stadiamaps.com\u002Ftutorials\u002Fclustering-styling-points-with-maplibre\u002F)\n- Data visualization on top of a customizable basemap\n- Applications where reducing total tile requests matters at scale\n\n**Raster tile use cases:**\n\n- WordPress sites and CMS integrations via the [Leaflet](https:\u002F\u002Fdocs.stadiamaps.com\u002Ftutorials\u002Fwordpress-with-leaflet\u002F) or [Mapster](https:\u002F\u002Fdocs.stadiamaps.com\u002Ftutorials\u002Fwordpress-with-mapster\u002F) plugins\n- Older devices or environments that cannot run a WebGL-based renderer\n- QGIS and other GIS tools that consume raster XYZ tile services\n- Minimalist styles like [Alidade Smooth](https:\u002F\u002Fdocs.stadiamaps.com\u002Fmap-styles\u002Falidade-smooth\u002F) where bandwidth per tile is already very small\n\n## Frequently Asked Questions\n\n### What is the difference between vector and raster map tiles?\n\nRaster map tiles are PNG or JPG images that get stitched together in a grid. Vector map tiles contain a mathematical description of the geometry plus structured data about each feature on the map, and get rendered client-side. Vector tiles allow dynamic styling, look sharp at any resolution, and typically reduce tile requests by around 60%. Raster tiles are simpler to render and battle-tested across older devices and rendering libraries.\n\n### Which is better, vector or raster map tiles?\n\nAccording to the [Stadia Maps Switching to Vector Tiles guide](https:\u002F\u002Fdocs.stadiamaps.com\u002Fguides\u002Fswitching-your-maps-from-raster-to-vector-tiles\u002F): \"Vector tiles offer greater flexibility, look great on any screen, and typically reduce costs by around 60%. However, if your application is targeting older devices or doesn't need a high level of detail, raster tiles are not necessarily a bad option.\"\n\n### Do vector map tiles cost less than raster map tiles?\n\nOn the [Stadia Maps API](\u002Fpricing\u002F), both vector and raster tile requests are billed the same way. Vector typically requires fewer total requests to render a comparable map. The Switching to Vector Tiles guide reports users switching to vector make approximately 60% fewer tile requests on average.\n\n### What format are Stadia Maps vector tiles served in?\n\nStadia Maps vector tiles are distributed in the widely-adopted Mapbox Vector Tile (MVT) format, with a schema compatible with [OpenMapTiles](https:\u002F\u002Fopenmaptiles.org\u002F). They render in MapLibre GL JS, MapLibre Native, Leaflet (via `maplibre-gl-leaflet`), OpenLayers (via `ol-mapbox-style`), and other MVT-compatible renderers.\n\n### Can I use vector tiles with Leaflet?\n\nYes. Leaflet can render Stadia Maps vector tiles via the [`maplibre-gl-leaflet`](https:\u002F\u002Fgithub.com\u002Fmaplibre\u002Fmaplibre-gl-leaflet) plugin. You swap `L.tileLayer` for `L.maplibreGL` and point at a Stadia Maps vector style URL. This is the quickest migration path from raster Leaflet to vector without switching frameworks. Full walkthrough in the [Vector Tiles with Leaflet tutorial](https:\u002F\u002Fdocs.stadiamaps.com\u002Ftutorials\u002Fvector-tiles-with-leaflet\u002F).\n\n## Where to Go Next\n\n### From the Blog\n\nMore on maps and rendering from the Stadia Maps blog:\n\n- [How We Fixed Water Feature Rendering Across All Zoom Levels](\u002Fblog\u002Ffixing-missing-water-interactive-basemaps\u002F)\n- [2026 Satellite Imagery Update: 37M km² at 30cm Resolution](\u002Fblog\u002F2026-satellite-imagery-update\u002F)\n- [Custom Markers and POST Support for Static Maps](\u002Fblog\u002Fcustom-markers-in-static-map-images\u002F)\n- [Announcing Cacheable Static Maps](\u002Fblog\u002Fannouncing-cacheable-static-map-images\u002F)\n- [Our SwiftUI DSL Is Joining the MapLibre Family](\u002Fblog\u002Fmaplibre-swiftui-dsl\u002F)\n\n### Maps\n\n- [Vector Map Tiles docs](https:\u002F\u002Fdocs.stadiamaps.com\u002Fvector\u002F) for tile URLs, authentication, and renderer support\n- [Raster Map Tiles docs](https:\u002F\u002Fdocs.stadiamaps.com\u002Fraster\u002F) for PNG tile URL formats and retina support\n- [Switching to Vector Tiles guide](https:\u002F\u002Fdocs.stadiamaps.com\u002Fguides\u002Fswitching-your-maps-from-raster-to-vector-tiles\u002F) for a full migration walkthrough\n- [Map Styles library](https:\u002F\u002Fdocs.stadiamaps.com\u002Fthemes\u002F) for the complete gallery of Stadia house styles\n- [Interactive Web Maps overview](https:\u002F\u002Fdocs.stadiamaps.com\u002Fmaps-for-web\u002F) for renderer selection and framework choices\n- [Custom Map Styling](https:\u002F\u002Fdocs.stadiamaps.com\u002Fcustom-styles\u002F) for building your own styles on top of the OpenMapTiles schema\n- [Maps product page](\u002Fproducts\u002Fmaps\u002F) and pricing tiers\n- [Static Maps product page](\u002Fproducts\u002Fmaps\u002Fstatic-maps\u002F) if you need pre-rendered map images instead\n",{"title":544,"description":545,"path":546,"published":547,"category":548,"rawbody":549},"What Is Address Autocomplete?","Address autocomplete suggests places, addresses, and points of interest as users type. Learn how it works and how to add it with Stadia Maps SDKs and API.","\u002Flearn\u002Faddress-autocomplete","2026-07-28","Geocoding & Search","---\ntitle: What Is Address Autocomplete?\ndescription: Address autocomplete suggests places, addresses, and points of interest as users type. Learn how it works and how to add it with Stadia Maps SDKs and API.\nauthor: Stadia Maps Team\ncategory: Geocoding & Search\nimage: \u002Fimages\u002Fog\u002Fwhat-is-address-autocomplete.png\nhead:\n  script: []\npublished: 2026-07-28\nschemaOrg:\n  - \"@type\": FAQPage\n    mainEntity:\n      - \"@type\": Question\n        name: What is address autocomplete used for?\n        acceptedAnswer:\n          \"@type\": Answer\n          text: Address autocomplete is used to suggest places, addresses, and points of interest as a user types. It powers search-as-you-type experiences in checkout flows, store locators, ride-share pickup selection, and any interface where a user needs to find and select a real-world location quickly.\n      - \"@type\": Question\n        name: What is the difference between address autocomplete and forward geocoding?\n        acceptedAnswer:\n          \"@type\": Answer\n          text: Autocomplete is optimized for speed on partial input. Forward geocoding is optimized for accuracy on complete input and can interpolate addresses. Use autocomplete for interactive search-as-you-type; switch to forward geocoding when the user finalizes the query.\n      - \"@type\": Question\n        name: Which SDKs does Stadia Maps offer for address autocomplete?\n        acceptedAnswer:\n          \"@type\": Answer\n          text: \"Stadia Maps offers three first-party SDKs for address autocomplete: the MapLibre GL JS Search Box plugin for the web, SwiftUI Autocomplete Search for iOS, and Jetpack Compose Autocomplete Search for Android. Each handles debouncing, caching, and result ordering out of the box. If none fit, the underlying HTTP API is available directly.\"\n      - \"@type\": Question\n        name: What are the default autocomplete timing and input settings on Stadia Maps?\n        acceptedAnswer:\n          \"@type\": Answer\n          text: The Stadia Maps autocomplete SDKs default to a 100ms minimum wait period between requests (minWaitPeriodMs) and a 3-character minimum input length (minInputLength). The MapLibre GL JS Search Box plugin also defaults to 5 maximum results (maxResults). These defaults balance server load with responsiveness.\n      - \"@type\": Question\n        name: How is an address autocomplete request billed on Stadia Maps?\n        acceptedAnswer:\n          \"@type\": Answer\n          text: Autocomplete requests are billed from the unified Stadia Maps API credit pool, the same pool that covers forward geocoding, reverse geocoding, routing, and tiles. Each autocomplete request is a single billable request.\nterm: Address Autocomplete\ntermDescription: A search-as-you-type interface that suggests addresses, places, and points of interest as a user types, ranked by relevance and proximity.\n---\n\n# What Is Address Autocomplete?\n\nAddress autocomplete is a search-as-you-type interface that suggests addresses, places, and points of interest as a user types, ranked by relevance and proximity. Also called type-ahead search, place search suggestions, or predictive search, address autocomplete is what turns a slow, error-prone address form into a two-tap interaction. The [Stadia Maps Autocomplete Search API](https:\u002F\u002Fdocs.stadiamaps.com\u002Fgeocoding-search-autocomplete\u002Fautocomplete\u002F) powers this experience through a fast, partial-input endpoint plus first-party SDKs for the web, iOS, and Android.\n\n## Key Takeaways\n\n- Address autocomplete suggests places as a user types, based on partial input and typically ranked by proximity or a focus point.\n- It is not a substitute for forward geocoding. Autocomplete is tuned for speed on partial input; forward geocoding is tuned for accuracy on complete input and can interpolate addresses.\n- Stadia Maps ships three first-party SDKs (MapLibre GL JS, SwiftUI, Jetpack Compose) that handle debouncing, caching, and result ordering out of the box.\n- The Stadia Maps SDKs default to a 100ms minimum wait period between requests and a 3-character minimum input length.\n- Each autocomplete request is billed as a single request from the unified Stadia Maps API credit pool.\n\n## How Address Autocomplete Works\n\nAutocomplete is a variant of forward geocoding tuned for speed on incomplete input. It follows this rough flow:\n\n1. **User types.** The client waits for a minimum number of characters (typically two or three) before firing the first request.\n2. **Debounce.** The client waits a short interval (roughly 100ms) after each keystroke before sending a request, so it does not overwhelm the server on fast typing.\n3. **Server searches.** The [Stadia Maps Autocomplete Search API](https:\u002F\u002Fdocs.stadiamaps.com\u002Fgeocoding-search-autocomplete\u002Fautocomplete\u002F) matches the partial input against the geocoding database and returns ranked candidates.\n4. **Client renders results.** Suggestions appear under the search field, typically 3 to 5 at a time.\n5. **User selects one.** The application takes the selected feature (with its full coordinates, address components, and layer) and moves on to the next step.\n\nTwo implementation details that matter in production:\n\n- **Out-of-order responses.** Fast typing produces overlapping requests. The client must show the response for the most recent input, not the last one to arrive. Modern async frameworks and the Stadia Maps SDKs handle this automatically.\n- **Result caching.** Recent queries can be served from the local cache, which cuts perceived latency and reduces API calls.\n\n## Which Autocomplete SDK Should You Use?\n\nStadia Maps ships three first-party SDKs for address autocomplete, each purpose-built for its platform. All of them handle debouncing, caching, out-of-order responses, and result ordering by default.\n\n- **[MapLibre GL JS Search Box plugin](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fmaplibre-gl-js-autocomplete-search-plugin\u002F)** for the web. Adds a search control to a MapLibre GL JS map. Configurable via options like `useMapFocusPoint`, `mapFocusPointMinZoom`, `minInputLength`, and `minWaitPeriodMs`. Available as an npm package or a CDN script tag.\n- **[SwiftUI Autocomplete Search](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fswiftui-autocomplete-search\u002F)** for iOS. A drop-in SwiftUI view for native iOS apps.\n- **[Jetpack Compose Autocomplete Search](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fjetpack-compose-autocomplete-search\u002F)** for Android. A composable for native Android apps built with Jetpack Compose.\n\nIf none of the three fit your stack (React Native, Flutter, a custom UI framework, or a server-side integration), use the underlying HTTP API directly. The Stadia Maps [official SDKs](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Foverview\u002F) also expose the endpoint from TypeScript, Python, Kotlin, Swift, and PHP.\n\n## Address Autocomplete Parameters That Matter\n\nThe [Autocomplete Search endpoint](https:\u002F\u002Fdocs.stadiamaps.com\u002Fgeocoding-search-autocomplete\u002Fautocomplete\u002F) takes one required parameter and several optional ones that tune the result set.\n\n- **`text`**: The partial user input. Required.\n- **`focus.point.lat` \u002F `focus.point.lon`**: Bias results toward a focus point. Typically the map center or the user's known location.\n- **`boundary.rect.*`, `boundary.circle.*`, `boundary.country`, `boundary.gid`**: Hard limits on where results can appear. Use these when your product only operates in specific regions.\n- **`layers`**: Restrict to specific layers (`address`, `venue`, `poi`, `street`, `locality`, and more). Fewer layers means faster, more relevant results. `layers=coarse` is the fastest option when you do not need addresses or POIs.\n- **`sources`**: Restrict to specific data sources (`openstreetmap`, `openaddresses`, `whosonfirst`, `geonames`, `foursquare`).\n- **`size`**: Maximum number of results to return. Default is 10; most autocomplete UIs display 3 to 5.\n- **`lang`**: A BCP47 language tag for localized results.\n\n## Autocomplete Defaults Worth Knowing\n\nThe [Stadia Maps SDKs](https:\u002F\u002Fdocs.stadiamaps.com\u002Fgeocoding-search-autocomplete\u002Fautocomplete\u002F#ready-to-go-integrations) enforce a set of defaults documented in the API and SDK references. Each one exists to balance API cost, server load, and interaction responsiveness.\n\n- **Minimum input length.** The [Autocomplete Search docs](https:\u002F\u002Fdocs.stadiamaps.com\u002Fgeocoding-search-autocomplete\u002Fautocomplete\u002F) recommend waiting for two or three characters of user input before sending a query. The [MapLibre GL JS Search Box plugin](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fmaplibre-gl-js-autocomplete-search-plugin\u002F) defaults `minInputLength` to 3.\n- **Debouncing.** The MapLibre plugin defaults `minWaitPeriodMs` to 100ms, meaning it waits 100ms between requests as the user types. The docs recommend throttling or debouncing for interactive applications; the ready-to-go integrations handle it automatically.\n- **Result caching.** The MapLibre plugin caches recent results to avoid duplicate calls.\n- **Out-of-order response handling.** The docs call this out explicitly: \"network requests might arrive out of order... our frameworks handle it automatically.\" Take care if you build your own low-level integration.\n- **Maximum results.** The MapLibre plugin defaults `maxResults` to 5.\n- **Layer selection.** Specifying only the [layers](https:\u002F\u002Fdocs.stadiamaps.com\u002Fgeocoding-search-autocomplete\u002Flayers\u002F) you need improves relevance and performance. `layers=coarse` is especially useful when POIs and addresses are not needed.\n\n## How Do You Add Address Autocomplete?\n\nHere is what a direct call to the Stadia Maps Autocomplete Search API looks like. This example searches for a partial query in Tallinn, Estonia.\n\n```http\nGET https:\u002F\u002Fapi.stadiamaps.com\u002Fgeocoding\u002Fv2\u002Fautocomplete?text=Union+Squa&lang=en\n```\n\nThe response is a GeoJSON `FeatureCollection`. Each feature includes coordinates, parsed address components, layer, confidence score, and source attribution. Full response format details are in the [Common Response Format docs](https:\u002F\u002Fdocs.stadiamaps.com\u002Fgeocoding-search-autocomplete\u002Fapi-response-format\u002F).\n\nFor most applications, the [MapLibre GL JS Search Box plugin](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fmaplibre-gl-js-autocomplete-search-plugin\u002F), [SwiftUI Autocomplete Search](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fswiftui-autocomplete-search\u002F), or [Jetpack Compose Autocomplete Search](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fjetpack-compose-autocomplete-search\u002F) will be faster than building a UI on top of the raw API. For runnable code against the HTTP endpoint in TypeScript, Python, Kotlin, Swift, PHP, or cURL, see the [Autocomplete Search API docs](https:\u002F\u002Fdocs.stadiamaps.com\u002Fgeocoding-search-autocomplete\u002Fautocomplete\u002F).\n\n## Where Address Autocomplete Falls Short\n\nAutocomplete is not the right tool for every search interaction. Real limits worth knowing:\n\n- **Autocomplete does not interpolate addresses.** If a specific house number does not exist in the underlying data, forward geocoding can estimate it from surrounding addresses. Autocomplete cannot. Fall back to [forward geocoding](\u002Flearn\u002Fgeocoding\u002F) once the user finalizes their query.\n- **Very short queries are noisy.** A one-character query returns hundreds of matches. The Stadia Maps SDKs default to a 3-character minimum. Lowering that produces bad UX.\n- **Ranking is context-dependent.** Without a `focus.point` or a boundary, \"Springfield\" could match any of dozens. Provide a focus point or country hint whenever possible.\n- **Layer choice affects results.** If you only need addresses and POIs, exclude administrative layers to speed things up. If you only need administrative context, use `layers=coarse` for the fastest possible search.\n- **Two providers rarely agree exactly.** Different providers use different data, different scoring, and different ranking logic. Standardize on one provider to keep your product consistent.\n\n## Address Autocomplete vs. Forward Geocoding: Which Do You Need?\n\nBoth convert human-readable place input into coordinates. They optimize for different phases of the user interaction.\n\n- Use **[address autocomplete](https:\u002F\u002Fdocs.stadiamaps.com\u002Fgeocoding-search-autocomplete\u002Fautocomplete\u002F)** while the user is still typing. Fast responses, partial input, ranked suggestions.\n- Use **[forward geocoding](\u002Flearn\u002Fgeocoding\u002F)** once the user finalizes their query (for example, by pressing Enter or submitting a form). Better accuracy on complete input, and forward geocoding can interpolate house numbers that autocomplete cannot.\n\nThe MapLibre GL JS Search Box plugin can automatically switch to the forward geocoding endpoint on Enter via the `searchOnEnter` option, if your plan includes the forward geocoding endpoint. See the [Stadia Maps pricing page](\u002Fpricing\u002F) for plan details.\n\n## Common Address Autocomplete Use Cases\n\nAutocomplete appears wherever a product asks a user to enter a real-world place.\n\n- **Checkout and shipping forms.** Users select their delivery address from suggestions instead of typing the full string. Fewer errors, faster completion, and higher form conversion.\n- **Ride-share and delivery pickup.** Rider or customer picks their pickup or drop-off from a search field. Focus point is set to the current GPS location so nearby options rank first.\n- **Store locator and site finder.** User types a city or zip code and the map centers on the selected result.\n- **Map-based search interfaces.** Real estate, travel, and outdoor apps let users search for places directly on the map.\n- **Data entry and CRM lookup.** Sales and support tools use autocomplete to attach a canonical place to a record.\n- **Point-of-interest discovery.** Restaurants, hotels, landmarks, and businesses surface as venues the user can select without knowing the full name.\n\n## Frequently Asked Questions\n\n### What is address autocomplete used for?\n\nAddress autocomplete is used to suggest places, addresses, and points of interest as a user types. It powers search-as-you-type experiences in checkout flows, store locators, ride-share pickup selection, and any interface where a user needs to find and select a real-world location quickly.\n\n### What is the difference between address autocomplete and forward geocoding?\n\nAutocomplete is optimized for speed on partial input. [Forward geocoding](\u002Flearn\u002Fgeocoding\u002F) is optimized for accuracy on complete input and can interpolate addresses. Use autocomplete for interactive search-as-you-type; switch to forward geocoding when the user finalizes the query, for example by pressing Enter.\n\n### Which SDKs does Stadia Maps offer for address autocomplete?\n\nStadia Maps offers three first-party SDKs for address autocomplete: the [MapLibre GL JS Search Box plugin](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fmaplibre-gl-js-autocomplete-search-plugin\u002F) for the web, [SwiftUI Autocomplete Search](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fswiftui-autocomplete-search\u002F) for iOS, and [Jetpack Compose Autocomplete Search](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fjetpack-compose-autocomplete-search\u002F) for Android. Each handles debouncing, caching, and result ordering out of the box. If none fit, the underlying HTTP API is available directly.\n\n### What are the default autocomplete timing and input settings on Stadia Maps?\n\nThe Stadia Maps autocomplete SDKs default to a 100ms minimum wait period between requests (`minWaitPeriodMs`) and a 3-character minimum input length (`minInputLength`). The [MapLibre GL JS Search Box plugin](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fmaplibre-gl-js-autocomplete-search-plugin\u002F) also defaults `maxResults` to 5. These defaults balance server load with responsiveness.\n\n### How is an address autocomplete request billed on Stadia Maps?\n\nAutocomplete requests are billed from the unified [Stadia Maps API](\u002Fpricing\u002F) credit pool, the same pool that covers forward geocoding, reverse geocoding, routing, and tiles. Each autocomplete request is a single billable request.\n\n## Where to Go Next\n\n### From the Blog\n\nMore on geocoding and search from the Stadia Maps blog:\n\n- [The Hidden Cost of Search: Why Your Geocoding Bill Is Higher Than It Should Be](\u002Fblog\u002Fwhy-is-your-geocoding-bill-higher-than-it-should-be\u002F)\n- [The Open Data Superpower: Why Global Search Is Moving Beyond Proprietary Silos](\u002Fblog\u002Fopen-data-geocoding-global-search\u002F)\n- [Precision Meets Privacy: Elevating the Consumer Search Experience](\u002Fblog\u002Fprecision-meets-privacy-consumer-search-experience\u002F)\n- [Autocomplete Search for SwiftUI and Jetpack Compose](\u002Fblog\u002Fautocomplete-search-for-swiftui-and-jetpack-compose\u002F)\n- [Introducing Geocoding & Search v2](\u002Fblog\u002Fintroducing-stadia-maps-geocoding-search-v2\u002F)\n\n### Geocoding & Search\n\n- [What Is Geocoding?](\u002Flearn\u002Fgeocoding\u002F) for the complete forward-direction overview\n- [What Is Reverse Geocoding?](\u002Flearn\u002Freverse-geocoding\u002F) for the opposite direction\n- [Autocomplete Search API reference](https:\u002F\u002Fdocs.stadiamaps.com\u002Fgeocoding-search-autocomplete\u002Fautocomplete\u002F) for the full parameter set\n- [MapLibre GL JS Search Box plugin](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fmaplibre-gl-js-autocomplete-search-plugin\u002F) for the web\n- [SwiftUI Autocomplete Search](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fswiftui-autocomplete-search\u002F) for iOS\n- [Jetpack Compose Autocomplete Search](https:\u002F\u002Fdocs.stadiamaps.com\u002Fsdks\u002Fjetpack-compose-autocomplete-search\u002F) for Android\n- [Layers documentation](https:\u002F\u002Fdocs.stadiamaps.com\u002Fgeocoding-search-autocomplete\u002Flayers\u002F) for the full list of returnable place types\n- [Sources documentation](https:\u002F\u002Fdocs.stadiamaps.com\u002Fgeocoding-search-autocomplete\u002Fsources\u002F): the five open data providers behind the API\n- [Autocomplete Search product page](\u002Fproducts\u002Fgeocoding-search\u002Fautocomplete-search\u002F) and pricing tiers\n",{"id":551,"bio":521,"extension":18,"jobTitle":521,"meta":552,"name":129,"sameAs":553,"slug":556,"stem":557,"twitterCreator":521,"type":558,"url":559,"__hash__":560},"authors\u002Fauthors\u002Fstadia-maps.yml",{},[554,555],"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fstadia-maps\u002F","https:\u002F\u002Fgithub.com\u002Fstadiamaps","stadia-maps","authors\u002Fstadia-maps","Organization","https:\u002F\u002Fstadiamaps.com\u002F","jRSutfRcYEknA-OSdkWoPHgm7Iep6BJfLBIsMtzQONk",1788274243695]