Migrating from Ideal Postcodes
Ideal Postcodes and Zapex both answer from PAF, so the fields are PAF’s in both. The calls map one to one, and most fields keep their names: Ideal Postcodes spells `dependant` where PAF and Zapex spell `dependent`.
Calls
| Ideal Postcodes | Zapex | |
|---|---|---|
GET /v1/autocomplete/addresses?query= | GET /v1/addresses?q= | |
GET /v1/autocomplete/addresses/{id}/gbr | GET /v1/addresses/{uprn} | |
GET /v1/postcodes/{postcode} | GET /v1/postcodes/{postcode}/addresses | |
GET /v1/udprn/{udprn} | GET /v1/geocode/forward, or keep the UPRN | Zapex looks an address up by its UPRN. |
GET /v1/uprn/{uprn} | GET /v1/addresses/{uprn} | |
Cleanse API | GET /v1/geocode/forward, POST /v1/cleansing/jobs |
Fields, one by one
| Ideal Postcodes | Zapex | |
|---|---|---|
hits[].id | suggestions[].uprn | |
hits[].suggestion | suggestions[].street_address, post_town and postcode | |
line_1, line_2, line_3 | lines.line_1, line_2, line_3 | |
post_town | post_town | |
postcode | postcode | |
organisation_name, department_name | components.organisation_name, department_name | |
sub_building_name, building_name, building_number | components.sub_building_name, building_name, building_number | |
po_box | components.po_box | |
thoroughfare | components.thoroughfare_and_descriptor | |
dependant_thoroughfare | components.dependent_thoroughfare_and_descriptor | |
dependant_locality | components.dependent_locality | |
double_dependant_locality | components.double_dependent_locality | |
udprn, uprn | udprn, uprn | |
latitude, longitude | location.lat, location.lng | |
district, ward, county | geography.local_authority, ward, county | Each with its ONS code. |
country | country | ISO 3166-1 (`GB`) rather than a name. |
What to watch for
- Ideal Postcodes takes its key as `api_key` in the query. Zapex takes it in `Authorization: Bearer`, and a publishable key in the query only for maps.
- Ideal Postcodes’ test postcodes become Zapex’s sandbox: a test key finds the addresses of SA1 1DF, SA1 1RE, SA1 1RP, SA1 1TY and SA1 8JQ.
Of Ideal Postcodes’s documentation as of October 2026. Check it against the calls your integration makes, and tell us of anything that differs.