API Overview

These documents describe the Autoaddress API, including authentication, HTTP resources, and recommended best practices. This content is intended for individuals with web development experience and knowledge of HTTP.

The Autoaddress API uses: 

  • RESTful endpoint structure
  • Response payloads are formatted as JSON(P)

API Endpoint

All API calls can be accessed from the following endpoint


N.B. This EndPoint URL resolves to a dynamic IP address, please be aware of this when making DNS and Firewall decisions.


Each call to an Autoaddress REST API must be authenticated. This is done by passing the license key (the  key the parameter in the query string) to the request. 


Autoaddress REST API is accessible only using HTTPS secure protocol.


Returned as JSON(P) only.

Each response returns the appropriate HTTP Status Code based on the incoming request (See below for a full list of HTTP Status Code returned). The exception is when JSONP is being used, the AutoAddress API will always respond with HTTP 200 OK status codes and pass the error data as part of the JSON response.

Same-origin Policy / JSONP

To solve the Same-origin policy restriction Autoaddress API supports JSONP requests. If you add a call-back parameter, then the response JSON will be wrapped in a JavaScript method that is named after the value of the mentioned call-back parameter.

Comply with HTTP, URL, and JSON Specifications

We reserve the right to deny HTTP requests which are not fully compliant with our specifications. Use properly formed URLs and query strings, which include URL-encoding query string parameters. Interpret all HTTP response payloads according to their content type.

For example, application/JSON payloads should always be parsed as JSON. Our API produces valid JSON according to ECMA-404 standards, including whitespace between tokens. We are not responsible for problems resulting from mishandling JSON data.


Enumerated types in response JSON are represented with a structure that has 2 properties:

  • Code – this is always an integer
  • Text – this is always a text
"addressType": {
  "code": 2150,
  "text": "ResidentialAddressPoint"


API response usually includes an array of HATEOAS links. This allows interaction with the API solely through the hyperlinks we provide you. You do not need to hardcode logic into your client to use our API.

"links": [
    "rel": "next",
    "href": "https://api.autoaddress.ie/2.0/findaddress?key=...."

The array of links can have many links, the link of interest must be identified using the value of the “rel” property (“next” in the above example). When the client identifies the link, it should follow the hyperlink in the value of the “href” property. That value can have some internal parameters, so the client should not parse it or modify it in any way.

Common values used for “rel” are:

  • next – follow this URL to comply with the recommended API flow for real-time capture
  • self – indicating the URL that created the current document

Response HTTP Status Codes

Code Summary Description
200 Success Everything worked as expected, search results is returned
400 Bad Request Invalid or Missing input parameter
401 Unauthorized Missing or Invalid User Key provided
404 Not Found The request URL does not exist.
429 Too Many Requests The client has been rate limited, please wait a short while and retry the request again.
500 Error An error has occurred with Autoaddress.

Response Custom Error Codes

Code Description
400001 Invalid value for 'language' parameter.
400002 Invalid value for 'country' parameter.
400003 Invalid value for 'limit' parameter.
400004 Invalid value for 'addressId' parameter.
400005 Invalid value for 'ecadId' parameter.
400006 Invalid value for 'smartGroupingIndex' parameter.
400007 Missing value for required 'address' parameter.
400008 Invalid combination of given 'country' and 'language' parameters.
400009 Missing value for required 'postcode' parameter.
400010 Missing value for required 'ecadId' parameter.
401001 Missing value for required 'key' parameter (license key).
401002 Invalid value for 'key' parameter (license key).
401003 The licence key is disabled.
401004 The licence key expired.
401005 Access to restricted data.
404001 The requested resource was not found. Please check your URL.
500000 Internal server error.