[{"data":1,"prerenderedAt":481},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-authentication":155,"-getting-started-authentication-surround":476},[4,26,47,68,93,106,127],{"title":5,"path":6,"stem":7,"children":8,"page":25},"Getting Started","\u002Fgetting-started","1.getting-started",[9,13,17,21],{"title":10,"path":11,"stem":12},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":14,"path":15,"stem":16},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F2.quick-start",{"title":18,"path":19,"stem":20},"Authentication","\u002Fgetting-started\u002Fauthentication","1.getting-started\u002F3.authentication",{"title":22,"path":23,"stem":24},"Rate Limits","\u002Fgetting-started\u002Frate-limits","1.getting-started\u002F4.rate-limits",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"API Reference","\u002Fapi-reference","2.api-reference",[31,35,39,43],{"title":32,"path":33,"stem":34},"Overview","\u002Fapi-reference\u002Foverview","2.api-reference\u002F1.overview",{"title":36,"path":37,"stem":38},"REST API","\u002Fapi-reference\u002Frest-api","2.api-reference\u002F2.rest-api",{"title":40,"path":41,"stem":42},"Error Codes","\u002Fapi-reference\u002Ferror-codes","2.api-reference\u002F3.error-codes",{"title":44,"path":45,"stem":46},"Pagination","\u002Fapi-reference\u002Fpagination","2.api-reference\u002F4.pagination",{"title":48,"path":49,"stem":50,"children":51,"page":25},"Map Integration","\u002Fmap-integration","3.map-integration",[52,56,60,64],{"title":53,"path":54,"stem":55},"Embed Maps","\u002Fmap-integration\u002Fembed-maps","3.map-integration\u002F1.embed-maps",{"title":57,"path":58,"stem":59},"Custom Styles","\u002Fmap-integration\u002Fcustom-styles","3.map-integration\u002F2.custom-styles",{"title":61,"path":62,"stem":63},"Tile Rendering","\u002Fmap-integration\u002Ftile-rendering","3.map-integration\u002F3.tile-rendering",{"title":65,"path":66,"stem":67},"Static Maps","\u002Fmap-integration\u002Fstatic-maps","3.map-integration\u002F4.static-maps",{"title":69,"path":70,"stem":71,"children":72,"page":25},"Geocoding","\u002Fgeocoding","4.geocoding",[73,77,81,85,89],{"title":74,"path":75,"stem":76},"Forward Geocoding (Search)","\u002Fgeocoding\u002Fforward-geocoding","4.geocoding\u002F1.forward-geocoding",{"title":78,"path":79,"stem":80},"Reverse Geocoding","\u002Fgeocoding\u002Freverse-geocoding","4.geocoding\u002F2.reverse-geocoding",{"title":82,"path":83,"stem":84},"Autocomplete","\u002Fgeocoding\u002Fautocomplete","4.geocoding\u002F3.autocomplete",{"title":86,"path":87,"stem":88},"Place Lookup","\u002Fgeocoding\u002Fplace-lookup","4.geocoding\u002F4.place-lookup",{"title":90,"path":91,"stem":92},"Nearby Search","\u002Fgeocoding\u002Fnearby","4.geocoding\u002F5.nearby",{"title":94,"path":95,"stem":96,"children":97,"page":25},"Routing","\u002Frouting","5.routing",[98,102],{"title":99,"path":100,"stem":101},"Directions","\u002Frouting\u002Fdirections","5.routing\u002F1.directions",{"title":103,"path":104,"stem":105},"Isochrones","\u002Frouting\u002Fisochrones","5.routing\u002F2.isochrones",{"title":107,"path":108,"stem":109,"children":110,"page":25},"Auth & Security","\u002Fauth-security","6.auth-security",[111,115,119,123],{"title":112,"path":113,"stem":114},"API Keys","\u002Fauth-security\u002Fapi-keys","6.auth-security\u002F1.api-keys",{"title":116,"path":117,"stem":118},"Scopes & Permissions","\u002Fauth-security\u002Fscopes-permissions","6.auth-security\u002F2.scopes-permissions",{"title":120,"path":121,"stem":122},"Rate Limiting","\u002Fauth-security\u002Frate-limiting","6.auth-security\u002F3.rate-limiting",{"title":124,"path":125,"stem":126},"Best Practices","\u002Fauth-security\u002Fbest-practices","6.auth-security\u002F4.best-practices",{"title":128,"path":129,"stem":130,"children":131,"page":25},"Mcp","\u002Fmcp","7.mcp",[132,135,139,143,147,151],{"title":32,"path":133,"stem":134},"\u002Fmcp\u002Foverview","7.mcp\u002F1.overview",{"title":136,"path":137,"stem":138},"Setup","\u002Fmcp\u002Fsetup","7.mcp\u002F2.setup",{"title":140,"path":141,"stem":142},"Available Tools","\u002Fmcp\u002Favailable-tools","7.mcp\u002F3.available-tools",{"title":144,"path":145,"stem":146},"GIS Integration","\u002Fmcp\u002Fgis-integration","7.mcp\u002F4.gis-integration",{"title":148,"path":149,"stem":150},"Examples","\u002Fmcp\u002Fexamples","7.mcp\u002F5.examples",{"title":152,"path":153,"stem":154},"Troubleshooting","\u002Fmcp\u002Ftroubleshooting","7.mcp\u002F6.troubleshooting",{"id":156,"title":18,"body":157,"description":469,"extension":470,"links":471,"meta":472,"navigation":473,"path":19,"seo":474,"stem":20,"__hash__":475},"docs\u002F1.getting-started\u002F3.authentication.md",{"type":158,"value":159,"toc":454},"minimark",[160,164,169,177,187,191,194,199,226,230,265,269,297,301,304,366,369,373,377,400,404,410,414,418,450],[161,162,163],"p",{},"All maps.guru API requests require authentication via an API key. This page covers how keys work, how to manage them, and security best practices.",[165,166,168],"h2",{"id":167},"api-key-format","API Key Format",[161,170,171,172,176],{},"All keys use the ",[173,174,175],"code",{},"mapx_"," prefix for easy identification:",[178,179,185],"pre",{"className":180,"code":182,"language":183,"meta":184},[181],"language-text","mapx_a1b2c3d4e5f6g7h8i9j0...\n","text","",[173,186,182],{"__ignoreMap":184},[165,188,190],{"id":189},"authentication-methods","Authentication Methods",[161,192,193],{},"Pass your API key using one of these methods:",[195,196,198],"h3",{"id":197},"query-parameter-recommended-for-map-tiles","Query Parameter (Recommended for Map Tiles)",[178,200,204],{"className":201,"code":202,"language":203,"meta":184,"style":184},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl \"https:\u002F\u002Fmaps.guru\u002Fapi\u002Fv1\u002Fgeocode?q=Paris&key=mapx_your_key\"\n","bash",[173,205,206],{"__ignoreMap":184},[207,208,211,215,219,223],"span",{"class":209,"line":210},"line",1,[207,212,214],{"class":213},"sBMFI","curl",[207,216,218],{"class":217},"sMK4o"," \"",[207,220,222],{"class":221},"sfazB","https:\u002F\u002Fmaps.guru\u002Fapi\u002Fv1\u002Fgeocode?q=Paris&key=mapx_your_key",[207,224,225],{"class":217},"\"\n",[195,227,229],{"id":228},"authorization-header","Authorization Header",[178,231,233],{"className":201,"code":232,"language":203,"meta":184,"style":184},"curl -H \"Authorization: Bearer mapx_your_key\" \\\n  \"https:\u002F\u002Fmaps.guru\u002Fapi\u002Fv1\u002Fgeocode?q=Paris\"\n",[173,234,235,254],{"__ignoreMap":184},[207,236,237,239,242,244,247,250],{"class":209,"line":210},[207,238,214],{"class":213},[207,240,241],{"class":221}," -H",[207,243,218],{"class":217},[207,245,246],{"class":221},"Authorization: Bearer mapx_your_key",[207,248,249],{"class":217},"\"",[207,251,253],{"class":252},"sTEyZ"," \\\n",[207,255,257,260,263],{"class":209,"line":256},2,[207,258,259],{"class":217},"  \"",[207,261,262],{"class":221},"https:\u002F\u002Fmaps.guru\u002Fapi\u002Fv1\u002Fgeocode?q=Paris",[207,264,225],{"class":217},[195,266,268],{"id":267},"x-api-key-header","X-API-Key Header",[178,270,272],{"className":201,"code":271,"language":203,"meta":184,"style":184},"curl -H \"X-API-Key: mapx_your_key\" \\\n  \"https:\u002F\u002Fmaps.guru\u002Fapi\u002Fv1\u002Fgeocode?q=Paris\"\n",[173,273,274,289],{"__ignoreMap":184},[207,275,276,278,280,282,285,287],{"class":209,"line":210},[207,277,214],{"class":213},[207,279,241],{"class":221},[207,281,218],{"class":217},[207,283,284],{"class":221},"X-API-Key: mapx_your_key",[207,286,249],{"class":217},[207,288,253],{"class":252},[207,290,291,293,295],{"class":209,"line":256},[207,292,259],{"class":217},[207,294,262],{"class":221},[207,296,225],{"class":217},[165,298,300],{"id":299},"api-key-scopes","API Key Scopes",[161,302,303],{},"Each key can be configured with specific service scopes:",[305,306,307,323],"table",{},[308,309,310],"thead",{},[311,312,313,317,320],"tr",{},[314,315,316],"th",{},"Scope",[314,318,319],{},"Services",[314,321,322],{},"Description",[324,325,326,340,353],"tbody",{},[311,327,328,334,337],{},[329,330,331],"td",{},[173,332,333],{},"maps",[329,335,336],{},"Tile serving, style JSON",[329,338,339],{},"Vector and raster map tiles",[311,341,342,347,350],{},[329,343,344],{},[173,345,346],{},"geocoding",[329,348,349],{},"Forward and reverse geocoding",[329,351,352],{},"Address to coordinates and back",[311,354,355,360,363],{},[329,356,357],{},[173,358,359],{},"routing",[329,361,362],{},"Directions, isochrones",[329,364,365],{},"Route calculation and travel time",[161,367,368],{},"By default, new keys have all scopes enabled.",[165,370,372],{"id":371},"managing-keys","Managing Keys",[195,374,376],{"id":375},"create-a-new-key","Create a New Key",[378,379,380,388,394,397],"ol",{},[381,382,383,384],"li",{},"Navigate to ",[385,386,387],"strong",{},"Dashboard → API Keys",[381,389,390,391],{},"Click ",[385,392,393],{},"Create New Key",[381,395,396],{},"Enter a name and select scopes",[381,398,399],{},"Copy the key — it's only shown once",[195,401,403],{"id":402},"revoke-a-key","Revoke a Key",[161,405,406,407,409],{},"Revoked keys stop working immediately. Go to ",[385,408,387],{}," and click the revoke button on any active key.",[411,412,413],"tip",{},"Create separate keys for different environments (development, staging, production) so you can revoke one without affecting others.",[165,415,417],{"id":416},"security-best-practices","Security Best Practices",[378,419,420,426,432,438,444],{},[381,421,422,425],{},[385,423,424],{},"Never commit keys to version control"," — Use environment variables instead",[381,427,428,431],{},[385,429,430],{},"Use server-side proxying"," — Don't expose keys in client-side JavaScript",[381,433,434,437],{},[385,435,436],{},"Rotate keys regularly"," — Create new keys and revoke old ones periodically",[381,439,440,443],{},[385,441,442],{},"Use minimal scopes"," — Only grant the scopes each key actually needs",[381,445,446,449],{},[385,447,448],{},"Monitor usage"," — Watch for unexpected spikes that might indicate key compromise",[451,452,453],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}",{"title":184,"searchDepth":455,"depth":455,"links":456},3,[457,458,463,464,468],{"id":167,"depth":256,"text":168},{"id":189,"depth":256,"text":190,"children":459},[460,461,462],{"id":197,"depth":455,"text":198},{"id":228,"depth":455,"text":229},{"id":267,"depth":455,"text":268},{"id":299,"depth":256,"text":300},{"id":371,"depth":256,"text":372,"children":465},[466,467],{"id":375,"depth":455,"text":376},{"id":402,"depth":455,"text":403},{"id":416,"depth":256,"text":417},"Learn how API key authentication works in maps.guru.","md",null,{},true,{"title":18,"description":469},"kDOCOov6lsu62bnom4gUwu5BUcneeKshG7wxtat3ptA",[477,479],{"title":14,"path":15,"stem":16,"description":478,"children":-1},"Get started with maps.guru in under 5 minutes.",{"title":22,"path":23,"stem":24,"description":480,"children":-1},"Understand request limits and quotas for each subscription tier.",1777621082623]