Skip to main content

Legacy v2 API Migration

Overview​

This guide helps you migrate from GetAddress's Legacy v2 API to Ideal Postcodes' Postcodes API.

The v2 API was an older GetAddress endpoint that retrieved addresses for a UK postcode.

GetAddress v2 API Reference​

Endpoints​

MethodEndpointDescription
GEThttps://api.getAddress.io/v2/uk/{postcode}Returns all addresses for a postcode
GEThttps://api.getAddress.io/v2/uk/{postcode}/{house}Returns address for a postcode and house name/number

Query Parameters​

ParameterRequiredDescriptionType
api-keyYesYour API keyText
formatNoFormats addresses as arraysTrue/False

Response Format​

response.jsonjson
{
"Latitude": 52.24593734741211,
"Longitude": -0.891636312007904,
"Addresses": [
"10 Watkin Terrace, , , , , Northampton, Northamptonshire",
"12 Watkin Terrace, , , , , Northampton, Northamptonshire"
]
}

Each address string follows a fixed 7-element comma-separated format:

"line1,line2,line3,line4,locality,Town/City,County"

Key Differences​

FeatureGetAddress v2Ideal Postcodes
Endpoint/v2/uk/{postcode}/v1/postcodes/{postcode}
Authenticationapi-key parameterapi_key parameter
Response RootAddresses arrayresult array
Address FormatComma-separated stringStructured JSON object
CoordinatesPer-postcodePer-address (more accurate)
Field NamesPascalCase (Latitude)snake_case (latitude)

Migration Steps​

1. Update Endpoint​

GetAddress v2:

terminalbash
GET https://api.getAddress.io/v2/uk/NN1 3ER?api-key=YOUR_KEY

Ideal Postcodes:

terminalbash
GET https://api.ideal-postcodes.co.uk/v1/postcodes/NN1 3ER?api_key=YOUR_KEY

2. Update Response Parsing​

Position-to-Field Mapping:

Array PositionGetAddress FieldIdeal Postcodes Field
address[0]line1line_1
address[1]line2line_2
address[2]line3line_3
address[3]line4(not used, 3 lines)
address[4]localitydependant_locality
address[5]Town/Citypost_town
address[6]Countycounty

Key Changes:

  • data.Addresses → data.result
  • String parsing → Direct property access
  • Single lat/lng for postcode → Individual lat/lng per address
  • Access to additional data (UPRN, UDPRN, eastings, northings)

Migration Code Examples​

From: GetAddress v2​

old-getaddress.jsjavascript
async function lookupPostcode(postcode) {
const response = await fetch(
`https://api.getAddress.io/v2/uk/${postcode}?api-key=${API_KEY}`,
);
const data = await response.json();

return data.Addresses.map((address) => {
const parts = address.split(", ");

return {
line1: parts[0] || "",
line2: parts[1] || "",
line3: parts[2] || "",
line4: parts[3] || "",
locality: parts[4] || "",
town: parts[5] || "",
county: parts[6] || "",
latitude: data.Latitude,
longitude: data.Longitude,
};
});
}

To: Ideal Postcodes​

app.jsjavascript
async function lookupPostcode(postcode) {
const response = await fetch(
`https://api.ideal-postcodes.co.uk/v1/postcodes/${postcode}?api_key=${API_KEY}`,
);
const data = await response.json();

return data.result.map((address) => ({
line1: address.line_1,
line2: address.line_2,
line3: address.line_3,
line4: "",
locality: address.dependant_locality,
town: address.post_town,
county: address.county,
postcode: address.postcode,
latitude: address.latitude,
longitude: address.longitude,
// Additional data available
uprn: address.uprn,
udprn: address.udprn,
}));
}

Filtering by House Name/Number​

GetAddress v2 supported filtering by house name/number in the URL path:

terminalbash
GET https://api.getAddress.io/v2/uk/NN1 3ER/10?api-key=YOUR_KEY

With Ideal Postcodes, retrieve all addresses and filter client-side, or use our Address Search API for more flexible querying:

app.jsjavascript
// Option 1: Filter postcode results client-side
async function lookupAddress(postcode, house) {
const response = await fetch(
`https://api.ideal-postcodes.co.uk/v1/postcodes/${postcode}?api_key=${API_KEY}`,
);
const data = await response.json();

return data.result.filter(
(address) =>
address.building_number === house ||
address.building_name.includes(house) ||
address.sub_building_name.includes(house),
);
}

Need Help?​

We are available 9am to 5pm UK time on chat or email support@ideal-postcodes.co.uk for migration assistance.