Postcode & address lookup.
Type a postcode, pick the address. No more mistyped addresses.
Full Royal Mail PAF coverage. 30 million addresses, including organisations and multiple-residency. Synced nightly.
Royal Mail PAF · last update applied
Try it on a real postcode.
Type any UK address or postcode, pick a result, and see the exact JSON the API returns — every Royal Mail PAF field, live. Then copy the call in your language.
{
"success": true,
"results": [
{
"address_line_1": "57 Wimpole Street",
"building_number": "57",
"country": "England",
"delivery_point_suffix": "1Y",
"district": "City of Westminster London Boro",
"eastings": 528525,
"latitude": 51.51922791,
"longitude": -0.14898992,
"northings": 181658,
"post_town": "LONDON",
"postcode": "W1G 8YW",
"postcode_inward": "8YW",
"postcode_outward": "W1G",
"postcode_type": "S",
"thoroughfare": "Wimpole Street",
"udprn": 25742215,
"ward": "Marylebone Ward"
}
],
"meta": {
"countResults": 1
}
}import { Postio } from "@postio/node";
const postio = new Postio({ apiKey: process.env.POSTIO_API_KEY });
const hits = await postio.address.search("57 Wimpole Street, W1G 8YW");
const address = await postio.address.udprn(hits.results[0].udprn);
console.log(address.results[0]);Where people use it.
Suggest addresses as users type a postcode — no more hand-typed Line 2 errors.
Verify an applicant's address against the authoritative UK file at onboarding.
Normalise legacy customer records before a deliverability campaign.
Route planning with UDPRN + lat/lng attached to every address.
Every field, documented.
The full field list is in the API reference. Here's the shape you'll be consuming.
| FIELD | TYPE | EXAMPLE |
|---|---|---|
| udprn | number | 25742215 |
| postcode | string | "W1G 8YW" |
| postcode_outward | string | "W1G" |
| postcode_inward | string | "8YW" |
| postcode_type | string | "S" |
| address_line_1 | string | "57 Wimpole Street" |
| address_line_2 | string | — |
| address_line_3 | string | — |
| post_town | string | "LONDON" |
| organisation_name | string | — |
| department_name | string | — |
| building_name | string | — |
| building_number | string | "57" |
| sub_building_name | string | — |
| po_box | string | — |
| thoroughfare | string | "Wimpole Street" |
| dependent_thoroughfare | string | — |
| dependent_locality | string | — |
| double_dependent_locality | string | — |
| delivery_point_suffix | string | "1Y" |
| country | string | "England" |
| district | string | "City of Westminster London Boro" |
| ward | string | "Marylebone Ward" |
| latitude | number | 51.51922791 |
| longitude | number | -0.14898992 |
| eastings | number | 528525 |
| northings | number | 181658 |
Where to go next.
Straight answers.
An API that turns a UK postcode or part of an address into a complete, structured Royal Mail PAF address. Send `57 Wimpole Street, W1G 8YW` to [GET /address/search](/docs), pick a result, and you get the address back as JSON with its UDPRN, post town, street and coordinates.
Royal Mail's Postcode Address File (PAF), including organisations and multiple-residency addresses. Postio is an official Royal Mail Address Data PAF Solutions Provider, and this page shows the date of the last PAF update applied.
Retrieving a full address, by postcode lookup or UDPRN lookup, charged on a result. Typing in an autocomplete is free however many keystrokes it takes, checking your key with /connect is free, and a search that finds nothing is free. The [pricing page](/pricing) has the rate.
Yes. Every account starts with 100 free lookups, with no card required. [Get an API key](/signup) and use them on the live data.
No. There is no monthly fee, no minimum and no contract. You top up a balance and draw it down per request, at one rate for every customer. Prices exclude VAT; see [pricing](/pricing).
Structured JSON with every Royal Mail PAF field, including the UDPRN, address lines, building number, post town, district, postcode, country and latitude and longitude. The sandbox on this page shows the exact JSON for any UK address or postcode you type, and the [API reference](/docs) documents each field.
Yes. Send what the user has typed so far to /address/search, show the matches, and fetch the full address when they pick one. The searches are free; you are charged when you take the address.
It is a REST API returning JSON, so any language that can make an HTTP request. The sandbox on this page gives a copy-ready call in Node, Python, Go, PHP, Ruby and .NET, and the [API reference](/docs) covers every endpoint.
Ready in under a minute.
Sign up, grab a key, paste it in. Your first hundred lookups are on us.