v1 · Now in public beta
UK addresses in three keystrokes.
A friendly autocomplete API for UK addresses — postcode-aware, sub-50ms, billed in GBP or USDT. Drop it into a checkout in an afternoon.
GET /api/v1/autocomplete?query=…200 OK · 34ms
Live demo · public endpoint
Try: "baker" · "SW1A" · "downing"
idle
Pick an address above to populate the form↑↓↵
The building blocks
A small API that does one thing well.
We don't do mailing lists, address verification, or geocoding. Just fast, structured UK lookups — so we can be cheaper and faster than the all-in-one tools.
Sub-50ms responses
Postcode-indexed in-memory store. P95 under 40ms from London, Frankfurt, and Virginia.
Card or crypto
Stripe for cards (GBP, 3DS, receipts) or OxaPay for USDT on TRC-20 (no KYC, no chargebacks). Both are one-off charges per period — same plan, same activation flow.
RFC 9457 errors
Problem Details + machine-readable codes. Every response carries a requestId your support team can trace.
Multiple API keys
Spin up keys per environment, revoke individually, hashed at rest. Daily limits and rate headers on every call.
Structured output
Line 1, line 2, town, postcode, summary. Drop directly into address forms — no parsing required.
Built for integration
OpenAPI 3.1 spec. Generated TypeScript client. React/Vue/Svelte starter snippets in the docs.
Two-minute integration
One endpoint. One response shape.
1. Ask for an address
javascript
const res = await fetch( `https://getukaddress.com/api/v1/autocomplete` + `?query=${q}&api_key=${process.env.API_KEY}`);const { requestId, results } = await res.json();2. Get a structured result
json
{ "requestId": "00000001", "results": [ { "organisation": "", "addressLine1": "Buckingham Palace", "addressLine2": "", "town": "London", "postcode": "SW1A 1AA", "summaryLine": "Buckingham Palace, London, SW1A 1AA" } ]}FAQ
Questions you might have.
Both. Card in GBP via Stripe, or USDT on TRC-20 via OxaPay (no KYC). Both methods are one-off — you pay for the billing period, the plan runs out, you come back and top up. The number on the price tag is the same in both currencies — but 1 USDT ≈ $1, so paying in USDT is roughly 20% cheaper than paying the same number of pounds. We don't hide this.