Geocode - Amazon Location Service

Geocode

Geocode converts a textual address or place into geographic coordinates. You can obtain geographic coordinates, address component, and other related information. It supports flexible queries, including free-form text or structured queries with components like street names, postal codes, and regions. The Geocode API can also provide additional features such as time zone information and the inclusion of political views.

Request Syntax

POST /geocode?key=Key HTTP/1.1 Content-type: application/json { "AdditionalFeatures": [ "string" ], "BiasPosition": [ number ], "Filter": { "IncludeCountries": [ "string" ], "IncludePlaceTypes": [ "string" ] }, "IntendedUse": "string", "Language": "string", "MaxResults": number, "PoliticalView": "string", "QueryComponents": { "AddressNumber": "string", "Country": "string", "District": "string", "Locality": "string", "PostalCode": "string", "Region": "string", "Street": "string", "SubRegion": "string" }, "QueryText": "string" }

URI Request Parameters

The request uses the following URI parameters.

Key

Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

Length Constraints: Minimum length of 0. Maximum length of 1000.

Request Body

The request accepts the following data in JSON format.

AdditionalFeatures

A list of optional additional parameters, such as time zone, that can be requested for each result.

Type: Array of strings

Array Members: Minimum number of 1 item. Maximum number of 2 items.

Valid Values: TimeZone | Access

Required: No

BiasPosition

The position, in longitude and latitude, that the results should be close to. Typically, place results returned are ranked higher the closer they are to this position. Stored in [lng, lat] and in the WSG84 format.

Note

The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

Type: Array of doubles

Array Members: Fixed number of 2 items.

Required: No

Filter

A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

Type: GeocodeFilter object

Required: No

IntendedUse

Indicates if the results will be stored. Defaults to SingleUse, if left empty.

Note

Storing the response of an Geocode query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

Type: String

Valid Values: SingleUse | Storage

Required: No

Language

A list of BCP 47 compliant language codes for the results to be rendered in. If there is no data for the result in the requested language, data will be returned in the default language for the entry.

Type: String

Length Constraints: Minimum length of 2. Maximum length of 35.

Required: No

MaxResults

An optional limit for the number of results returned in a single call.

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 100.

Required: No

PoliticalView

The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

Type: String

Length Constraints: Minimum length of 2. Maximum length of 3.

Pattern: ([A-Z]{2}|[A-Z]{3})

Required: No

QueryComponents

A structured free text query allows you to search for places by the name or text representation of specific properties of the place.

Type: GeocodeQueryComponents object

Required: No

QueryText

The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

Note

The fields QueryText, and QueryID are mutually exclusive.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 200.

Required: No

Response Syntax

HTTP/1.1 200 x-amz-geo-pricing-bucket: PricingBucket Content-type: application/json { "ResultItems": [ { "AccessPoints": [ { "Position": [ number ] } ], "Address": { "AddressNumber": "string", "Block": "string", "Building": "string", "Country": { "Code2": "string", "Code3": "string", "Name": "string" }, "District": "string", "Intersection": [ "string" ], "Label": "string", "Locality": "string", "PostalCode": "string", "Region": { "Code": "string", "Name": "string" }, "Street": "string", "StreetComponents": [ { "BaseName": "string", "Direction": "string", "Language": "string", "Prefix": "string", "Suffix": "string", "Type": "string", "TypePlacement": "string", "TypeSeparator": "string" } ], "SubBlock": "string", "SubDistrict": "string", "SubRegion": { "Code": "string", "Name": "string" } }, "AddressNumberCorrected": boolean, "Categories": [ { "Id": "string", "LocalizedName": "string", "Name": "string", "Primary": boolean } ], "Distance": number, "FoodTypes": [ { "Id": "string", "LocalizedName": "string", "Primary": boolean } ], "MapView": [ number ], "MatchScores": { "Components": { "Address": { "AddressNumber": number, "Block": number, "Building": number, "Country": number, "District": number, "Intersection": [ number ], "Locality": number, "PostalCode": number, "Region": number, "SubBlock": number, "SubDistrict": number, "SubRegion": number }, "Title": number }, "Overall": number }, "PlaceId": "string", "PlaceType": "string", "PoliticalView": "string", "Position": [ number ], "PostalCodeDetails": [ { "PostalAuthority": "string", "PostalCode": "string", "PostalCodeType": "string", "UspsZip": { "ZipClassificationCode": "string" }, "UspsZipPlus4": { "RecordTypeCode": "string" } } ], "TimeZone": { "Name": "string", "Offset": "string", "OffsetSeconds": number }, "Title": "string" } ] }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The response returns the following HTTP headers.

PricingBucket

The pricing bucket for which the query is charged at.

For more information on pricing, please visit Amazon Location Service Pricing.

The following data is returned in JSON format by the service.

ResultItems

List of places or results returned for a query.

Type: Array of GeocodeResultItem objects

Array Members: Minimum number of 0 items. Maximum number of 100 items.

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

You don't have sufficient access to perform this action.

HTTP Status Code: 403

InternalServerException

The request processing has failed because of an unknown error, exception or failure.

HTTP Status Code: 500

ThrottlingException

The request was denied due to request throttling.

HTTP Status Code: 429

ValidationException

The input fails to satisfy the constraints specified by an AWS service.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: