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.
Last updated
View as MarkdownRecipes are small, complete programs for common jobs. Each one uses only the 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.
Which recipes are there?
| Recipe | Language | What it shows |
|---|---|---|
| OTP and sign-up guard | Node (Express, Next.js) | Fix invalid numbers, send the code on WhatsApp or SMS, extra checks for VoIP numbers |
| CSV list cleaner | Python | Deduplication, bulk jobs, automatic pagination and a verdict per row |
| Webhook receiver | Node, Python | Signature check on the raw body, fast replies, duplicate handling |
| Choose the channel | Node | WhatsApp, Telegram, Viber or SMS from one lookup |
| E-mail check at sign-up | Node, Python | Typos, missing mailboxes and unknown answers |
How do I run them?
Each recipe installs with npm install (mobilevalidate) or pip install -r requirements.txt (mobilevalidate-sdk). You can also call the HTTP API 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.
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.

