Service · Software development

Build a PostcodeAPI integration.

Address autocomplete in your web form, validation in your ERP or CRM, geocoding for your route planning. We connect PostcodeAPI.nu, the PostNL Postcode API, Postcode.nl or BAG directly to your application, including caching, fallback flows and an optional offline mode.

PostcodeAPI.nuPostNL APIBAG integrationOffline mode

A postcode API is a commodity. The integration isn't.

Most Dutch postcode APIs deliver perfectly good data. The difference between a pleasant address entry and an irritating form isn't in the provider; it's in how you integrate it. Debouncing, caching, error handling, fallback behaviour when the API is briefly down, and how it feels to the end user who's on a train with a flaky connection. The same provider can feel smooth in one application and frustrating in another, and the difference lies in the implementation choices around it.

We integrate postcode and address APIs into custom software, webshops, B2B portals and mobile apps. For some clients this runs purely in the cloud; for others, such as field service apps or legacy ERPs, we build a hybrid with a local BAG dataset so it also works without an internet connection. Sometimes no external API is the right choice at all, and we connect directly to the Basisregistratie Adressen en Gebouwen (BAG, the Dutch Key Register of Addresses and Buildings). Which approach fits depends on your volume, sensitivity to latency, whether you handle international addresses, and how important the UX at the point of entry is.

For broader integration questions we place the integration within the context of your wider API landscape: how the postcode layer relates to your CRM, order system, carrier integrations and any payment providers. A standalone address component that doesn't move with the rest of your stack only creates maintenance overhead over time.

Three types of address integration.

Which one suits you depends on where address entry takes place, how much volume you handle, and whether it needs to work offline. In the first conversation, we advise which approach fits your situation.

Compact project · fixed sprint budget

Address autocomplete in a web form

A customer enters a postcode and house number, and the street and town appear automatically. A common approach for webshop checkouts, lead forms and application flows. PostcodeAPI.nu or Postcode.nl as the source, with built-in debouncing and caching, and clear error messages if the API fails to respond. We connect the component to your existing form, whether built in React, Vue, Astro, Livewire or an older framework, without overhauling your front end. Validation runs client-side for quick feedback and server-side for security, and it saves normalised addresses in a consistent format that downstream systems can process.

PostcodeAPI.nuDebouncingCachingForm validation
Mid-sized project · fixed sprint budget

Address validation in ERP, CRM or back office

Clean up existing address data, validate new records at entry, and detect duplicate customers based on normalised addresses. This includes batch validation of your existing database and a scheme for synchronisation whenever address changes occur in BAG. For larger customer databases we first run a data quality report: how many records are incomplete, how many house number additions are missing, which addresses no longer match BAG because a street name has changed. Based on that, we determine which records can be corrected automatically and which need manual attention. The integration works with Exact, AFAS, Twinfield, Microsoft Dynamics, Salesforce, HubSpot and most custom back ends.

Batch validationBAG syncNormalisationDuplicate detection
Larger project · fixed sprint budget

Hybrid with offline mode for field service

For inspectors, engineers and couriers who also work in areas without coverage. We build a local dataset (BAG export or subset) that syncs periodically, plus a fallback to the online API as soon as connectivity returns. On top of that, geocoding for route planning and international coverage via Google or Loqate. The local dataset only contains the regions where your people actually work, which saves considerable storage and sync time. Updates run through FME or an automated feed from PDOK, conflict resolution is predictable (source data wins, with an audit log for manual overrides), and the app itself knows when an area needs to be resynchronised.

Offline datasetBAG exportGeocodingInternational

What you get at the end.

A working postcode or address integration in your application, plus everything you need to manage it yourself and keep costs under control.

We don't deliver a black-box component with an API key inside, but code your team can understand and adapt. This includes tests, monitoring hooks and clear documentation of the decisions we made: at what volume a caching upgrade becomes worthwhile, when a second provider makes sense, and how you can expand or reduce the offline dataset yourself.

  • The integration into your applicationAPI client, autocomplete component (web or mobile), validation layer in the back end and integration with your ERP or CRM.
  • Caching layerRedis or in-memory cache with TTL, so you don't pay for an API call on every keystroke. For high-volume clients, this saves a considerable amount.
  • Fallback flowIf the chosen provider is down, the application gracefully falls back to manual entry or a second source. The end user won't notice a thing.
  • Optional offline datasetFor applications that must also work without internet: a local BAG subset with a sync mechanism. Updates arrive periodically via FME or a feed.
  • DocumentationHow the integration works, how to rotate API keys, what to do if rate-limit errors occur, and how to add a second provider yourself.
  • Maintenance contract (optional)Monitoring of provider uptime, alerts when rate limits are exceeded, and ongoing upkeep as APIs release new versions.

When does a postcode integration make sense?

Four signals that prompt clients to get in touch with us. If you recognise one of them, we'd be glad to continue the conversation.

Webshop & conversion

Too many address errors in orders

Customers mistype, forget house number additions, or abandon checkout halfway because the form is fiddly. Autocomplete often halves the number of incorrect deliveries, noticeably shortens checkout and ensures your carrier integration receives correctly formatted addresses. For B2B checkouts, a KvK (Chamber of Commerce) lookup is often combined with address validation, so business customers can be done with a single field.

Field service & offline

No coverage on site

Your engineers, inspectors or couriers regularly work in places where mobile internet drops out: remote industrial estates, underground car parks, agricultural areas. A hybrid approach, with an offline dataset and a sync mechanism, keeps data entry reliable even without a connection. Once coverage returns, changes sync back to the central database automatically, without the user having to do anything manually.

Costs & volume

API costs are rising

Your business has grown and the monthly postcode bill is higher than expected. A good caching layer, debouncing and possibly an in-house BAG export can bring costs down without the user noticing anything. For some clients, it also means one shared postcode layer for several applications, instead of a separate bill per app with the same provider.

Compliance & data quality

BAG conformity required

For property systems, municipalities and housing associations, a direct integration with the Basic Registry of Addresses and Buildings (BAG) is often mandatory or strongly desired. Address data must match the official register exactly, mutations must be traceable and historical address versions must be retrievable. Insurers and mortgage providers face similar data quality pressure: an incorrect house number in an insurance policy is costly to correct afterwards.

How an integration project runs.

1

Introduction and scope

We discuss where address entry takes place, what volume you expect, whether international addresses are involved, and whether offline working is a requirement. We also cover which downstream systems need to receive the normalised address, which privacy requirements apply, and how your current checkout or entry flow performs. Based on this, we advise which provider and which architecture fit.

2

Provider selection & PoC

We test one or two providers (PostcodeAPI.nu, PostNL, Postcode.nl or BAG-direct) against your use case. A short proof of concept shows how the UX feels and what the response times are on your real data. For borderline cases, we run the PoC in parallel with two sources so you can experience the difference yourself before committing to a provider and its associated cost structure.

3

Building in sprints

A working build every two weeks. We start with the happy path, then add rate limiting, caching, fallback and, where needed, an offline mode. You test along the way, and we process your feedback in the next sprint. At the end of each sprint you receive a short demo plus an honest status on risks and open points, so there are no surprises at the end.

4

Rollout & support

A phased rollout: first a small share of traffic, then scaling up, with continuous monitoring to confirm the chosen provider keeps delivering. For rate-limit or availability incidents we respond at the agreed service level. After that, you can choose self-management with handover and a runbook, or ongoing management in which we take care of provider upgrades, rate-limit adjustments and new BAG versions.

Frequently asked questions.

The questions clients ask before we start, drawn from our conversations and from search results.

Which postcode API should I choose: PostcodeAPI.nu, PostNL or something else?
For most SME applications, PostcodeAPI.nu is a good starting point: simple onboarding, a free tier for low volumes and a clean REST API. Postcode.nl is more commercially oriented and offers a richer dataset (including ownership information and historical address versions), which is worth considering if you need more than address autocomplete. The PostNL Postcode API is PostNL's official offering, useful if you already ship with PostNL and want your address data to match how PostNL uses it. For enterprise volumes, or when you need direct BAG conformity, we would typically integrate directly with the Basic Registry of Addresses and Buildings via PDOK. We advise per project, as it depends heavily on volume, use case and the other systems the data needs to flow into.
Can a postcode API also be used offline?
Yes. For applications where offline working matters, such as field service apps, inspections or deliveries in rural areas, we build a hybrid. A local subset of the BAG (the Netherlands' official address register) is periodically downloaded to the device. As long as there is a connection, the app uses the online API; if that drops out, it quietly switches over to the local dataset. We determine the sync frequency and the size of the subset based on your working area and device storage. For a fleet of tablets across the Netherlands, a full-NL BAG subset works well; for mobile-first apps with storage constraints, we cut it down by region. When back online, changes (newly created addresses, location adjustments) automatically sync back to the server, with a clear audit trail of what was entered when, and in which offline session.
What determines whether a postcode API becomes expensive?
Mainly the number of API calls. Many teams send a lookup call on every keystroke, which adds up quickly for a webshop with considerable traffic. With debouncing (waiting until the user has paused typing), caching at postcode level, and a second layer at house-number level, we can often reduce the number of calls substantially. Another point that is often overlooked is bot and crawler traffic hitting lookup endpoints without ever resulting in an order. For heavily used endpoints we put rate limiting per IP address and CAPTCHA fallbacks in place. For very high volumes, an in-house BAG export becomes worthwhile: there is an upfront investment, but afterwards there are no variable costs and you are not tied to one provider's pricing.
How do we handle international addresses?
Dutch postcode APIs only cover the Netherlands. For cross-border customers, such as international webshops, logistics and SaaS, we combine a Dutch provider for Dutch addresses with the Google Address Validation API or Loqate for the rest of the world. We choose based on the countries that actually appear in your order flow and on privacy considerations (Loqate is a European provider, while Google processes data in its own data centres). Address normalisation ensures your database always ends up with the same fields, regardless of which source the data came from, which saves considerable effort in downstream integrations with carriers, invoicing software and CRM.
What is the difference between BAG direct and a postcode provider?
The BAG (Basisregistratie Adressen en Gebouwen, the Dutch Key Register of Addresses and Buildings) is the official Dutch register, maintained by the Kadaster (Land Registry) and available via PDOK. Postcode providers also use BAG data as their basis, but they add a user-friendly API on top, with fast autocomplete endpoints and a commercial SLA. For most applications, a provider is quicker and simpler to integrate. Connecting directly to the BAG via PDOK is worthwhile when compliance requirements apply (property, municipalities, housing associations), at very high volumes where provider costs become significant, or if you already use other PDOK data, such as parcels, buildings or WOZ (property valuation) data, and it makes sense to draw from the same source.
What if the chosen API goes down or hits its rate limit?
We build for that structurally. A retry mechanism with exponential backoff absorbs brief hiccups. In the event of a longer outage, the application falls back to manual entry or a second provider. For mission-critical applications we often run two providers in parallel (the first hits its rate limit, the second takes over) or a hybrid with local fallback. We actively monitor response times and error rates so you can spot issues before your users do. Alerts go through your existing channel, whether that is Slack, Teams or your own monitoring platform.
Do you work together with our in-house IT team?
Almost always. We deliver not only working code but also documentation, a runbook for incidents and a knowledge transfer in the final sprint. Your team can then maintain the integration itself, or we can do so under an ongoing maintenance contract. Often it is a mix: you handle day-to-day operations, while we remain available for extensions, provider changes and BAG version upgrades. The code lives in your own repository, following the same standards (linting, tests, CI) as the rest of your codebase, with no vendor lock-in and no separate stack to learn.

Talk to us about your postcode integration.

A free, no-obligation half-hour introductory call. We listen to your use case, ask about volumes and offline requirements, and advise on which provider and architecture would suit. If it's a good fit, we'll scope a first sprint. If it isn't, we'll tell you honestly. For broader integration questions, we also look at your ERP environment and web applications.

Edit content