How an address is written in Bahrain
The postal format table for Bahrain — the order the lines go in, the parts its operator requires, what it calls them, and the words it prints on a box — and, separately, what this server actually holds for Bahrain, so the page never implies a check it cannot run.
Live demo
POST /demo/address · no key needed
Response
Look up any address to see the full API response, straight from the live service. The country decides which format it is read against.
The order the lines go in
The parts are named rather than filled in: Spaw does not know an address in Bahrain and will not invent one. This block is produced by the same function that rewrites a real address, so the line order, the capitals Bahrain asks for and any text its operator prints on every envelope are the checker's own behaviour rather than a second description of it.
Organisation 12 Street name Flat or unit Town or city Postal code
No recipient line: nothing in the response is about a person, so the name the envelope carries is not part of what is checked.
| field | called here | required | capitals |
|---|---|---|---|
| organization | Organisation | optional | — |
| addressLine1 | Street name | required | — |
| addressLine2 | Flat or unit | optional | — |
| locality | Town or city | required | — |
| postalCode | Postal code | optional | — |
No house-number rule is carried for Bahrain, so the international default is used: the house number comes before the street name. The postal code is written after the town.
The postal code
Bahrain postal codes are checked against the pattern below rather than a description of it, because the shape is too particular to summarise without losing a case.
pattern (?:^|\b)(?:1[0-2]|[1-9])\d{2}(?:$|\b)
No Bahrain postcode directory is installed here, so a well-formed postal code is never confirmed to exist — only its shape is checked, and postcode_not_found is never answered for Bahrain.
What Bahrain calls an address that is not a front door
No box naming is carried for Bahrain yet, so the international spellings below are what apply. That has one consequence worth knowing: an address here with none of them answers unknown rather than street, because without the operator's own words a missing marker proves nothing.
| address_type | written as |
|---|---|
| private_mailbox Private mailbox at a mail-receiving agency | PMB |
| po_box Post-office box | PO BOX, P O BOX, POST OFFICE BOX, POSTBOX |
| general_delivery Held at the counter for collection | POSTE RESTANTE, GENERAL DELIVERY |
A post-office box is the ordinary way to receive mail in Bahrain, so a box here carries no risk weight at all. Scoring it would penalise almost every address in the country for being addressed the way the country addresses things.
What can be checked for a Bahrain address
Read from the datasets this server holds right now, not written into the page. For most countries the answer is the written form and the postcode shape and nothing beyond them — in particular not the row people assume is always there. An address can be perfectly formed and still not exist, and where no register is installed nothing here will pretend to know which.
| check | for BH | what the answer means |
|---|---|---|
| Written form | yes | The address is split into Bahrain's own parts and rewritten in the order above. A missing required part is named in one typed reason rather than a general failure. |
| postal code pattern | yes | Checked against the pattern the table carries for Bahrain. A value that does not match answers invalid_postal_code. |
| postal code exists | no | No Bahrain directory is installed, so a well-formed postal code is never confirmed or denied — only its shape is checked. |
| Kind of delivery point | partly | No Bahrain box naming is carried. The international spellings are still read, but an address with none of them answers address_type: unknown — not street, which would be a claim. |
| Street exists | no | No register is installed for Bahrain, so a street is neither confirmed nor denied: match_level answers null. |
| Building exists | no | No address register is installed for Bahrain, so exists answers null: not evaluated, never no. Absence is not evidence here. |
| Companies at the address | no | No open company register is installed for Bahrain, so companies_registered answers null and no mail-drop conclusion is drawn from a count. |
| Known mailbox branch | no | No operator branch list covers Bahrain, so is_mail_drop is never set from one here. |
| Post actually arrives | no | Not from this page, and not from open data in any country: whether post is delivered, and the vacant, residential and agency flags that go with it, are the postal service's own licensed product. Those fields answer deliverability_checked: false rather than a guess. |
Null means not evaluated, never no. How to read an address-existence answer sets out what a premise, street or postcode match proves, and what absence proves.
Other countries
address-formats 2026-09-05 · address-rules 2026-09-17 · checked 2026-09-18
More free tools
All free toolsNeed this at scale?
The Spaw API runs the same checks plus mailbox-level SMTP verification, batch and bulk endpoints, and list monitoring — 10 free lookups a month, no card required.