# Recipes

> Copy-paste recipes for phone and e-mail checks: an OTP and sign-up guard, a CSV list cleaner, a webhook receiver, WhatsApp vs SMS channel choice and an e-mail check at sign-up.

Canonical: https://mobilevalidate.com/docs/recipes · Last updated: 2026-09-25

Recipes are small, complete programs for common jobs. Each one uses only the [test values](/docs/test-values), so you can run it with the public sandbox key before you have an account. The full source and tests are in the [examples repository](https://github.com/brntech/mobilevalidate-sdk/tree/main/examples).

## Which recipes are there?

| Recipe | Language | What it shows |
|---|---|---|
| [OTP and sign-up guard](/docs/recipes/otp-signup-guard) | Node (Express, Next.js) | Fix invalid numbers, send the code on WhatsApp or SMS, extra checks for VoIP numbers |
| [CSV list cleaner](/docs/recipes/csv-list-cleaner) | Python | Deduplication, bulk jobs, automatic pagination and a verdict per row |
| [Webhook receiver](/docs/recipes/webhook-receiver) | Node, Python | Signature check on the raw body, fast replies, duplicate handling |
| [Choose the channel](/docs/recipes/choose-channel) | Node | WhatsApp, Telegram, Viber or SMS from one lookup |
| [E-mail check at sign-up](/docs/recipes/email-signup-check) | Node, Python | Typos, missing mailboxes and unknown answers |

## How do I run them?

Each recipe installs with `npm install` ([`mobilevalidate`](https://www.npmjs.com/package/mobilevalidate)) or `pip install -r requirements.txt` ([`mobilevalidate-sdk`](https://pypi.org/project/mobilevalidate-sdk/)). You can also call the [HTTP API](/docs/lookups) directly; every recipe step maps to one endpoint.

Every recipe reads the key from `MOBILEVALIDATE_API_KEY`. If it isn't set, the recipe uses the public sandbox key, which only answers the test values. For any other input, [get a personal test key](/get-test-key).

## Are there instructions for AI coding agents?

Yes. The examples repository has an `AGENTS.md` file and an agent skill (`skills/mobilevalidate/SKILL.md`). They cover the result model, test values, error handling and common mistakes, such as logging full phone numbers.

## Frequently asked questions

### Do the recipes need an account?

No. Every recipe uses only the documented test values, so it runs as-is with the public sandbox key. Set MOBILEVALIDATE_API_KEY to use your own key.

### Are the recipes tested?

Yes. Each recipe has tests that run offline against a mock of the API, and the same tests can run against the real API with the sandbox key.
