# Anything

Anything (also branded "Create Anything") builds React + Tailwind apps from chat, with a TypeScript serverless backend, a Neon Postgres database, and a per-project **Saved Secrets** store. The Anything docs are explicit: *"Always use Saved Secrets for API keys. Never paste them directly into chat."* Follow that rule for Ideal Postcodes too.

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

UK and international address autocomplete on any address form in your Anything app, powered by the [Address Finder](/docs/address-finder.md) widget. 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 Anything[​](#2-store-the-key-in-anything "Direct link to 2. Store the key in Anything")

In your Anything project:

1. Open **Project Settings** → **Saved Secrets**.
2. Click **Add a new secret**.
3. Name it `IDEAL_POSTCODES_API_KEY` (use this exact name — the prompt below references it).
4. Paste your `ak_…` key and save.

The Address Finder widget runs in the browser, so the key needs to reach client code. The cleanest pattern on Anything is a thin backend function that reads the secret and returns it — the prompt below tells the agent to set that up.

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

Paste this into the Anything 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 the

  other address fields (line_2, post_town, postcode) from the callback.

- Add a backend function at web/api/idpc-config/route.ts that reads the

  IDEAL_POSTCODES_API_KEY Saved Secret and returns it to the frontend on

  mount. Do not hardcode the key.

- If the Ideal Postcodes API returns a 4xx error, surface the response

  body's error.message to the user — do not swallow it.

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

- Reference for callback wiring: https://docs.ideal-postcodes.co.uk/docs/address-finder/configure.md
```

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

Once your app is running on `*.created.app` (or a custom domain), add both to your key's [Allowed URLs](/docs/guides/allowed-urls.md). The widget runs client-side, so the key is visible to anyone viewing your site — Allowed URLs is what stops it being reused from other origins.

Common values to add:

* `your-app.created.app` — Anything's default published subdomain
* Your custom domain, if attached (Pro/Max plan)
* `localhost` — while you're previewing inside the Anything builder

## 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>
