{"id":18542186,"url":"https://github.com/heremaps/here-aws-sar","last_synced_at":"2025-08-12T18:12:56.108Z","repository":{"id":55356709,"uuid":"112584913","full_name":"heremaps/here-aws-sar","owner":"heremaps","description":"HERE Maps API for Serverless Application Repository","archived":false,"fork":false,"pushed_at":"2021-01-05T08:47:18.000Z","size":163,"stargazers_count":30,"open_issues_count":11,"forks_count":16,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-10T11:52:19.442Z","etag":null,"topics":["aws","here-maps-api","lambda","serverless"],"latest_commit_sha":null,"homepage":"https://developer.here.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/heremaps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-30T08:21:53.000Z","updated_at":"2023-12-23T17:01:35.000Z","dependencies_parsed_at":"2022-08-14T22:10:53.186Z","dependency_job_id":null,"html_url":"https://github.com/heremaps/here-aws-sar","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/heremaps/here-aws-sar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heremaps%2Fhere-aws-sar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heremaps%2Fhere-aws-sar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heremaps%2Fhere-aws-sar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heremaps%2Fhere-aws-sar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heremaps","download_url":"https://codeload.github.com/heremaps/here-aws-sar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heremaps%2Fhere-aws-sar/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270109995,"owners_count":24528949,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","here-maps-api","lambda","serverless"],"created_at":"2024-11-06T20:07:40.311Z","updated_at":"2025-08-12T18:12:56.058Z","avatar_url":"https://github.com/heremaps.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## AWS SAR for HERE Maps APIs\n### Introduction\nThis project provides [AWS Lambdas](https://aws.amazon.com/lambda/) as __proxies__ for several of the [HERE Location Services APIs](https://developer.here.com/develop/rest-apis). These AWS Lambdas are packaged as per the [AWS Serverless Application Model](https://aws.amazon.com/about-aws/whats-new/2016/11/introducing-the-aws-serverless-application-model/).\n\n\"AWS SAR is natively supported by AWS CloudFormation and defines simplified syntax for expressing serverless resources. The specification currently covers APIs, Lambda functions and Amazon DynamoDB tables.\"\n\n### Benefits\n\nThe AWS API Gateway supports configuring both Cache and Throttling, and the lambdas are open source: we welcome pull requests with circuit breakers, graceful error handling, etc.!\n\n### Requirements\nTo successfully call the HERE Maps APIs through the proxies in this project you need to obtain HERE API credentials. Multiple plans are available: https://aws.amazon.com/marketplace/pp/B07JPLG9SR/?ref=_ptnr_aws_sar_github#pricing-information.\n\n### List of APIs with AWS Lambda Proxies\n* [Geocoding and Search API v7](https://developer.here.com/documentation/geocoding-search-api/dev_guide/index.html)\n* [Map Image](https://developer.here.com/documentation/map-image/topics/introduction.html)\n* [Map Tile](https://developer.here.com/documentation/map-tile/topics/introduction.html)\n* [Positioning](https://developer.here.com/documentation/positioning/topics/introduction.html)\n* [Routing API v8](https://developer.here.com/documentation/routing-api/dev_guide/index.html) \u0026 [Routing Waypoints Sequence](https://developer.here.com/documentation/routing-waypoints/dev_guide/topics/what-is.html)\n* [Toll Costs](https://developer.here.com/documentation/toll-cost/topics/introduction.html)\n* [Traffic](https://developer.here.com/documentation/traffic/topics/introduction.html)\n* [Public Transit API v8](https://developer.here.com/documentation/public-transit/dev_guide/index.html)\n* [Weather](https://developer.here.com/documentation/weather/topics/overview.html)\n\n\n### Setup\n\n* #### Step 1: Register for an API Key\n\n    Visit the [HERE Location Services on AWS Marketplace](https://aws.amazon.com/marketplace/pp/B07JPLG9SR/?ref=_ptnr_aws_sar_github), and review the [Access Control FAQ](https://developer.here.com/faqs#access-control).\n\n* #### Step 2: Register an AWS Account\n\n    Visit [AWS](https://aws.amazon.com/free/) and sign up for a Free Tier account.\n\n* #### Step 3: Install the AWS CLI and run \"aws configure\"\n\n    Download and install the [AWS CLI](https://aws.amazon.com/cli/), and run `aws configure` as per the [AWS CLI User Guide](http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).\n\n* #### Step 4: Get the Source\n\n    From GitHub: clone [this repository](https://github.com/heremaps/here-aws-sar), or download the ZIP.\n\n    The folder containing the lambda source code (JS) and CloudFormation templates (YML) is `serverlessFunctions`.\n\n* #### Step 5: Package\n\n    An S3 bucket is required as a destination for the AWS SAR package. If you don't have one already, create one:\n\n    ```aws s3 mb s3://here-maps-api--aws-sar\n\n    Note: If the folder contains a `package.json` file: run `npm update`:\n\n    `x:\\src\\here-aws-repository\\serverlessFunctions\\mapimage\u003enpm update\n  ```\n\n    Use the AWS CLI to package (note the folder layout):\n\n    ```x:\\src\\here-aws-repository\\serverlessFunctions\u003eaws cloudformation package --s3-bucket here-maps-api--aws-sar --template-file geocode\\geocode.yml --output-template-file geocode-packaged.yml```\n\n* #### Step 6: Deploy\n\n    Use the AWS CLI to deploy the AWS SAR package using CloudFormation:\n\n    ```x:\\src\\here-aws-repository\\serverlessFunctions\u003eaws cloudformation deploy --capabilities CAPABILITY_IAM --stack-name \"HERE-Maps-API--GeoCode\" --parameter-overrides HereApiKey=\u003capiKey\u003e --template-file geocode-packaged.yml```\n\n* #### Step 7: Find new API Gateway URL\n\n    Once deployment completes, look for the URL of the new API Gateway. It should follow this pattern:\n\n    ```https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/...```\n\n    The API Gateway URL is an output from the CloudFormation template and can be found among the tabs when selecting a Stack in the AWS Console.\n\n    Alternatively look at the API Gateway in the AWS Console, select Stages, and then expand the tree until you see \"Invoke URL\".\n\n* #### Step 8: Secure your API Gateways/Lambdas\n\n    The AWS Lambda proxies deployed above do not impose **authentication** or **authorization** restrictions!\n\n\n### Help\n\nYou must decide how you will control access to your API Gateway and Lambdas.\n\nFor guidance, see the [AWS Lambda FAQ](https://aws.amazon.com/lambda/faqs/#security).\n\nConsider implementing [AWS API Gateway Custom Authorizers](http://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html).\n\n\n\n### HERE Maps APIs with Lambda Proxies\n\nThe below list of HERE Maps APIs has one Lambda each as a proxy.\n\nNote:\n\n * All APIs except Map Image and Map Tile will return JSON response. For error scenarios, response JSON will be with 4xx - 5xx response code and details of error.\n\n * For Map Image and MapTile APIs, success response will return base 64 encoding of map image (not JSON) and for failures, message as error in downloading map will be returned.\n\n\n\u003cdetails\u003e\n\u003csummary markdown=\"span\"\u003eGeocoding and Search API v7\u003c/summary\u003e\n\nURL Mapping\n\n|API                  | HERE URL Prefix                                 |  AWS Lambda App URL Prefix |\n|-------------------- |-------------------------------------------------|-----------------------------------------------------------|\n|discover             | `https://discover.search.hereapi.com/`              |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/geocode/api/` |\n|geocode            | `https://geocode.search.hereapi.com/`      |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/geocode/api/` |\n|autosuggest            | `https://autosuggest.search.hereapi.com/`      |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/geocode/api/` |\n|browse            | `https://browse.search.hereapi.com/`      |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/geocode/api/` |\n|lookup            | `https://lookup.search.hereapi.com/`      |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/geocode/api/` |\n|revgeocode            | `https://revgeocode.search.hereapi.com/`      |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/geocode/api/` |\n\n* For detailed examples refer [here](serverlessFunctions/geocode/README.md).\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary markdown=\"span\"\u003eMap Image\u003c/summary\u003e\n\nURL Mapping\n\n|API                  | HERE URL Prefix                                 |  AWS Lambda App URL Prefix |\n|-------------------- |-------------------------------------------------|-----------------------------------------------------------|\n|Images               | `https://image.maps.ls.hereapi.com/`            |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/mapimage/api/` |\n\n* For detailed examples refer [here](serverlessFunctions/mapimage/README.md). \n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary markdown=\"span\"\u003eMap Tile\u003c/summary\u003e\n\nURL Mapping\n\n|API                  | HERE URL Prefix                                 |  AWS Lambda App URL Prefix |\n|-------------------- |-------------------------------------------------|-----------------------------------------------------------|\n|MapTile              | `https://{1-4}.traffic.maps.ls.hereapi.com/`    |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/maptile/api/traffic/`\n|MapTile              | `https://{1.4}.base.maps.ls.hereapi.com/`       |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/maptile/api/base/`\n|MapTile              | `https://{1.4}.aerial.maps.ls.hereapi.com/`     |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/maptile/api/aerial/`\n\n* For detailed examples refer [here](serverlessFunctions/maptile/README.md). \n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary markdown=\"span\"\u003ePositioning\u003c/summary\u003e\n\nURL Mapping\n\n|API                  | HERE URL Prefix                                 |  AWS Lambda App URL Prefix |\n|-------------------- |-------------------------------------------------|-----------------------------------------------------------|\n|Position             | `https://pos.ls.hereapi.com/`                   |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/position/api/` |\n\n* For detailed examples refer [here](serverlessFunctions/position/README.md). \n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary markdown=\"span\"\u003eRouting API v8 \u0026 Routing Waypoints Sequence\u003c/summary\u003e\n\nURL Mapping\n\n|API                  | HERE URL Prefix                                 |  AWS Lambda App URL Prefix |\n|-------------------- |-------------------------------------------------|-----------------------------------------------------------|\n|CalculateRoute              | `https://router.hereapi.com/`|  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/routing/api/` |\n|Routing((Isoline))              | `https://isoline.route.ls.hereapi.com/`|  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/routing/api/isoline.route/` |\n|Routing(Matrix)              | `https://matrix.route.ls.hereapi.com/`|  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/routing/api/matrix.route/` |\n\n* For detailed examples refer [here](serverlessFunctions/routing/README.md). \n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary markdown=\"span\"\u003eToll Cost\u003c/summary\u003e\n\nURL Mapping\n\n|API                  | HERE URL Prefix                                 |  AWS Lambda App URL Prefix |\n|-------------------- |-------------------------------------------------|-----------------------------------------------------------|\n|Toll Cost            | `https://tce.api.here.com/2/calculateroute.json`|  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/tollcost` |\n\n* For detailed examples refer [here](serverlessFunctions/tollcost/README.md). \n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary markdown=\"span\"\u003eTraffic \u003c/summary\u003e\n\nURL Mapping\n\n|API                  | HERE URL Prefix                                 |  AWS Lambda App URL Prefix |\n|-------------------- |-------------------------------------------------|-----------------------------------------------------------|\n|Traffic              | `https://traffic.ls.hereapi.com/`               |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/traffic/api/traffic/` |\n|Traffic(tiles)       | `https://{1..4}.traffic.maps.ls.hereapi.com/`   |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/traffic/api/traffic.maps/` |\n\n* For detailed examples refer [here](serverlessFunctions/traffic/README.md). \n\n\u003c/details\u003e  \n\n\u003cdetails\u003e\n\u003csummary markdown=\"span\"\u003ePublic Transit API v8\u003c/summary\u003e\n\nURL Mapping\n\n|API                  | HERE URL Prefix                                 |  AWS Lambda App URL Prefix |\n|-------------------- |-------------------------------------------------|-----------------------------------------------------------|\n|Next Departures              | `https:/transit.hereapi.com/`               |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/transit/api/` |\n|Station Search              | `https:/transit.hereapi.com/`               |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/transit/api/` |\n|Routing              | `https:/transit.router.hereapi.com/`               |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/transit/api/` |\n\n* For detailed examples refer [here](serverlessFunctions/transit/README.md). \n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary markdown=\"span\"\u003eWeather\u003c/summary\u003e\n\nURL Mapping\n\n|API                  | HERE URL Prefix                                 |  AWS Lambda App URL Prefix |\n|-------------------- |-------------------------------------------------|-----------------------------------------------------------|\n|Weather              | `https://weather.ls.hereapi.com/`               |  `https://\u003capigw\u003e.execute-api.\u003cregion\u003e.amazonaws.com/Prod/weather/api/` |\n\n* For detailed examples refer [here](serverlessFunctions/weather/README.md). \n\n \u003c/details\u003e\n\n### License \n\nCopyright (c) 2017-2019 HERE Europe B.V.\n\nSee the [LICENSE](./LICENSE) file in the root of this project for license details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheremaps%2Fhere-aws-sar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheremaps%2Fhere-aws-sar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheremaps%2Fhere-aws-sar/lists"}