# base44

base44 generates React SPAs (Vite + Tailwind) with Deno-powered serverless backend functions, and stores credentials in the **Secrets** panel.

## What you'll add[​](#what-youll-add "Direct link to What you'll add")

UK and international address autocomplete on any address form, powered by the [Address Finder](/docs/address-finder.md) widget — UK lookups are backed by the Royal Mail PAF dataset. For UK-only postcode → address dropdowns, use [Postcode Lookup](/docs/postcode-lookup.md) instead.

## 1. Get an API key[​](#1-get-an-api-key "Direct link to 1. Get an API key")

* Quick test: paste `ak_test` as your key. Capped at 5 lookups/day. Will break in production.
* Real key: [sign up at ideal-postcodes.co.uk/signup](https://ideal-postcodes.co.uk/signup) for a free trial balance.

## 2. Store the key in base44[​](#2-store-the-key-in-base44 "Direct link to 2. Store the key in base44")

In your base44 app:

1. Open **Dashboard → Secrets**.
2. Add a secret named `IDEAL_POSTCODES_API_KEY` with your `ak_…` value.
3. Save.

Or ask the base44 chat: *"Add a Secret named `IDEAL_POSTCODES_API_KEY` and prompt me for the value."*

## 3. Starter prompt[​](#3-starter-prompt "Direct link to 3. Starter prompt")

Paste this into the base44 chat:

```
Add UK and international address autocomplete to the address form using

@ideal-postcodes/address-finder.



- Install the npm package.

- Mount AddressFinder.setup() on the address line 1 input. Populate

  line2, post_town and postcode from the callback.

- Read the API key from the IDEAL_POSTCODES_API_KEY Secret.

- After deploying, print the app's origin in chat so I can add it to

  the key's Allowed URLs.

- Reference docs: https://docs.ideal-postcodes.co.uk/docs/address-finder.md
```

## 4. Lock down the key[​](#4-lock-down-the-key "Direct link to 4. Lock down the key")

Browser keys are public — [Allowed URLs](/docs/guides/allowed-urls.md) is the lock. After deploy, add **both** origins to your key:

* The base44 preview: `https://<your-app>.base44.app`
* Your custom domain, if attached (Builder plan and above)

Forgetting the custom domain returns silent `401`s only on the published site — preview keeps working, which is the most confusing failure on this platform.

## Need help?[​](#need-help "Direct link to Need help?")

* File an issue: [github.com/ideal-postcodes/feedback](https://github.com/ideal-postcodes/feedback/issues)
* Email: <support@ideal-postcodes.co.uk>
