Stop orders
from areas
you don’t deliver to.
Delivery Zone is a postcode & service-area API for Finnish commerce. Plug it into your checkout, booking form, or quote tool — and reject unsupported orders before the customer ever pays.
Wrong orders cost more than wrong code.
Most Finnish shops, booking forms, and on-demand services discover delivery problems after the order is placed. Refunds, angry calls, and lost time pile up — for issues a fast server-side check could have caught.
Refund handling, customer service, and lost margin — all from an order that should have been stopped before payment was attempted.
Customers in remote postcodes only learn they’re out of zone after their card has been charged. That frustration turns into support calls and chargebacks.
Postal boundaries change. Hard-coded lists drift. One wrong delivery generates emails, phone calls, and social-media posts.
Importing postal data, normalizing zones, and writing zone-overlap logic is real engineering effort — and maintaining it eats time indefinitely.
One tiny API call. The whole zone problem, gone.
- Order accepted, money taken, then “sorry we can’t deliver.”
- Hard-coded postcode lists go stale as Finnish postcodes change.
- Zone overlaps, islands, ferries — handled in spreadsheets.
- Different fees per area? Three plugins and a prayer.
- One
/checkcall returns delivery status, price, and a reason code. - Postcode data refreshed as new reference data becomes available — we own the boring part.
- Zone-based pricing and free-shipping floors — all in the dashboard.
- Integration guides for WooCommerce, Shopify, and custom checkouts.
Made for the boring parts that break everything.
Define zones for your plan with custom rules: postcode lists or radius from depot. Returns the matched zone, price, and reason code in one call.
Database hosted in the EU. Fast server-side checks, typically well under 100ms.
Thousands of Finnish postcode records, from licensed Finnish postcode reference data, refreshed as new data becomes available. We own the data treadmill.
UI-ready reason codes like NOT_DELIVERABLE and MINIMUM_ORDER_NOT_MET — copy directly into your error UX.
Owners edit zones and prices without touching code. CSV import for bulk uploads.
Most checks need a postcode and nothing else. Keep personal data out of your validation flow.
See a breakdown of successful vs. rejected checks, and why requests were rejected, in the dashboard.
Rotatable, organisation-scoped keys, managed from the dashboard.
Every business that won’t deliver everywhere.
The same API powers four different conversations with your customer — pick the one your team already has.
Checkout validation
Reject out-of-zone orders before payment is attempted. Show a friendly message with a real reason code.
Booking forms
Cleaners, plumbers, movers: confirm the customer is in your service area before booking is even possible.
Delivery fee lookup
Return precise zone-based shipping fees so checkout shows the right number — never €0 placeholder.
Internal postcode checker
A staff tool that takes a postcode and tells your support team yes/no/maybe in a single click.
Hit one endpoint. That’s it.
RESTful, JSON in / JSON out, X-Api-Key header. If you’ve ever called Stripe or SendGrid you already know how this works.
Sign up & grab a key
Free accounts get an API key immediately. Set up a non-production zone to test against before going live.
Define your zones
Paste a postcode list or import a CSV, up to your plan's zone limit.
POST /api/v1/delivery/check
Send a postcode + basket value. Get back canDeliver, matchedZoneName, priceCents, reasonCode.
Branch your UI
If canDeliver: false — show a message based on reasonCode. If true — proceed with the returned price.
# Check whether postcode 00100 is in zone curl -X POST https://api.deliveryzone.fi/api/v1/delivery/check \ -H "X-Api-Key: dz_live_..." \ -H "Content-Type: application/json" \ -d '{"destinationPostcode":"00100","basketValueCents":4500}' # response { "canDeliver": true, "matchedZoneName": "Helsinki Center", "priceCents": 590, "currency": "EUR", "estimatedDeliveryMinutes": 45, "reasonCode": "DELIVERABLE" }
Licensed data. EU database. GDPR-conscious.
We use licensed Finnish postcode reference data — not scraped or reconstructed. Regularly updated. No redistribution of the dataset.
Postcode data disclaimerPrimary database hosted in the EU. Cloudflare operates a global edge network for API delivery — see our Subprocessors and Privacy Policy for transfer details. A Data Processing Addendum is incorporated into our Terms for every customer. GDPR-conscious request logging.
Request a DPAResponsible disclosure, dependency scanning, and a public security policy.
Read security policyBuilt specifically for Finnish postcodes and Finnish delivery-area rules. One market, done right.
See use casesSee how Delivery Zone compares to building in-house or relying on Google Maps.
CompareBuilt for Finland. Done right.
Delivery Zone focuses on Finnish postcodes and Finnish delivery-area rules. We deliberately start with one market so the product stays reliable, accurate, and genuinely useful. Future country support will be added based on customer demand.
Thousands of Finnish postcode records covered. Zone rules, dashboard, WooCommerce integration guide, and public API.
Additional country support will be added based on customer demand. No promises, no dates.
Free plan. Real setup help.
Free accounts get an API key in minutes, integration guides, and a 30-minute call with us to wire it into your checkout. No card, no commitment.