Find areas for postcodes
Look up up to 100 full UK postcodes in one request and find the areas containing each postcode's centroid. The response gives every lookup the same source edition and boundary settings, making it easier to tag a list consistently.
/postcodes:batchGood to know
- Give each postcode as a repeated
postcodeparameter. The request accepts full unit postcodes only. - Each postcode is still placed by one centroid, so its addresses may span a boundary. Check the positional quality and
nearBoundaryfields.
geographystring[]optionalA geography to look the point up in. Repeat it or give a comma-separated list, up to four in total. A geography named only in a pinned
releaseneed not be repeated here.releasestring[]optionalA release to pin, as
{geography}/{release}, such asward/2025-12-uk-bgc, orward/latestfor its newest unambiguous published release. A bare release id is accepted when exactly one geography is requested. A pinned release is used whateverdatesays.datestringoptionalA calendar date as
YYYY-MM-DD, or a month asYYYY-MM. Every geography without a pinned release uses the latest release dated on or before it; without a date it uses the newest unambiguous published release. The country boundaries used to place a point that matches nothing are chosen the same way.viewstringoptionalfullexplains each answer: the centroid's positional quality, the transformation, each release's selection, resolution and provenance, and each match's distance to its boundary.compactgives only the postcode, its WGS 84 point, each area's id, code, name andnearBoundary, anycaution, and the source's attribution.One offullcompactDefaultfull
Returns
PostcodeBatchEnvelopeEach postcode's entry, and a summary of the batch.
apiVersionv1requiredatlasReleasestringrequiredThe immutable
/atlas-releasereleaseIdfor the artifacts that produced this response.metaobjectrequiredShowHide1 child field
nextCursorstring | nullrequiredOpaque cursor for the next page, or null at the end.
dataPostcodeBatch | CompactPostcodeBatchrequired
- 400No postcode is given, more than 100 are, or the geography, release or date is malformed as for
/areas:contains. - 404A pinned release or a geography is unknown.
- 503The referenced build artifact has not been built yet.
Every error has the same shape. See Errors for how to handle them.
Show the precise behaviourHide the precise behaviour
The /postcodes/{postcode} lookup for up to 100 postcodes at once. Send them in the JSON body's postcodes array. The releases are chosen once for the whole batch, as for a single postcode: the default geographies as at the directory's edition unless query geography, release or date say otherwise.
Each postcode has its own entry, in the order given, with a status: placed, with its areas; not-placed, for a postcode the directory gives no grid reference; invalid, for text that is not a unit postcode; not-found, for one the directory edition does not hold; and not-served, for a Northern Ireland postcode, which this API is not licensed to serve. None of these fails the batch. Only a problem with the request itself does, such as no postcodes, too many, or a malformed date.
Placed centroids are tested together, so each release's geometry is read once for the batch, and release-wide provenance is given once in releases. summary counts each postcode status and each lookup outcome. view=compact keeps the entries and summary but gives each postcode only its record, point and areas, as for a single postcode.