# otp.com > One API for OTP verification over SMS, WhatsApp, Telegram, and Email. otp.com is a developer-first, self-serve OTP verification API. A single endpoint verifies users across SMS, WhatsApp, Telegram, and Email: it delivers a code the user enters on every channel (on WhatsApp the user opens a link to receive the code over chat), with channel fallback. Billing is per verification sent: one charge per code at the published rate, and a resend is a new verification. Pricing is public and per-country. Integrate over REST, official SDKs, or an MCP server for AI agents. What it is not: there are no sales calls, no setup fees, and no monthly minimums, and it is not a general messaging or marketing platform; it is focused on verification. ## Product - Channels: `auto` (WhatsApp with SMS fallback), `whatsapp`, `sms`, `telegram`, `email` - Integration: REST API, official SDKs (Node.js, Python, Go, PHP), and an MCP server for AI agents - Pricing: per verification sent; verifying is free and a resend is a new verification. Public per-country rates, $3 free sandbox credits ## Channels > One send and one verify endpoint across four channels. You do not pass a channel > per request: routing picks it from the recipient and your configured order. - [All channels](https://otp.com/channels) - [SMS OTP](https://otp.com/channels/sms-otp): Reaches every phone, with no app and no account required. - [WhatsApp OTP](https://otp.com/channels/whatsapp-otp): Verification over chat, at one flat rate in every country. - [Telegram OTP](https://otp.com/channels/telegram-otp): A data-network route for audiences that live in Telegram. - [Email OTP](https://otp.com/channels/email-otp): Verify a web sign-up without ever asking for a phone number. ## Pricing > Per verification sent, at public per-country rates. SMS is priced per country; > WhatsApp, Telegram and Email each carry one flat rate worldwide. - [Pricing and calculator](https://otp.com/pricing) ## Documentation - [Overview](https://otp.com/docs) - [Quickstart](https://otp.com/docs/quickstart) - [Authentication](https://otp.com/docs/authentication) - [How verification works](https://otp.com/docs/how-verification-works) - [Channels & routing](https://otp.com/docs/channels-and-routing) - [Testing in sandbox](https://otp.com/docs/sandbox) - [POST /otp/send](https://otp.com/docs/api/send) - [POST /otp/verify](https://otp.com/docs/api/verify) - [POST /otp/resend](https://otp.com/docs/api/resend) - [GET /otp/{id}](https://otp.com/docs/api/status) - [Webhooks](https://otp.com/docs/webhooks) - [Error codes](https://otp.com/docs/api/errors) - [Code examples](https://otp.com/docs/code-examples) - [Official SDKs](https://otp.com/docs/sdks) - [MCP server](https://otp.com/docs/mcp) ## Blog > Guides, product updates, and deep dives on OTP verification across SMS, WhatsApp, Telegram, and Email, from the team behind otp.com. Posts are grouped by section. Every post also has a raw-Markdown twin (its URL with `.md` appended), listed under "Blog (raw Markdown)" below. Or fetch [llms-full.txt](https://otp.com/llms-full.txt) for the full corpus in a single file. ### Engineering APIs, SDKs, the MCP server, and architecture: how to wire up OTP verification and run it at scale. - [How We Generate Our SDKs from One OpenAPI Spec](https://otp.com/blog/engineering/generating-sdks-from-openapi): Why the otp.com client libraries for Node, Python, Go, and PHP are generated from one OpenAPI spec instead of written by hand, and how that stops drift. - [REST, SDK, or MCP: Choosing Your OTP Integration](https://otp.com/blog/engineering/rest-sdk-or-mcp-choosing-your-otp-integration): Three ways to call the same OTP API: the raw REST endpoints, a generated SDK, or the MCP server for AI agents, and when each one is the right fit. - [Add OTP Verification to an AI Agent with MCP](https://otp.com/blog/engineering/otp-verification-in-an-ai-agent-with-mcp): Point any MCP client at the otp.com server and your AI agent can send, verify, resend, and check one-time passwords using only your API key. ### Guides Channels, UX, deliverability, and cost: how to pick the right verification setup and get it right for your users. - [Designing the OTP Entry Screen](https://otp.com/blog/guides/designing-the-otp-entry-screen): The message is only half the job. Here is how to design the OTP entry screen: input field, autofill, paste, resend timers, and error states that convert. - [OTP vs Passwords, Magic Links, and Passkeys](https://otp.com/blog/guides/otp-vs-passwords-magic-links-passkeys): OTP is one tool among passwords, magic links, authenticator apps, and passkeys. Here is what each one proves, and when a delivered code is the right call. - [Choosing an OTP Channel: SMS, WhatsApp, Telegram, or Email](https://otp.com/blog/guides/choosing-an-otp-channel): A practical guide to choosing between SMS, WhatsApp, Telegram, and email for one-time passcodes, comparing reach, latency, and fallback strategy. ## Blog (raw Markdown) - [Designing the OTP Entry Screen](https://otp.com/blog/guides/designing-the-otp-entry-screen.md) - [How We Generate Our SDKs from One OpenAPI Spec](https://otp.com/blog/engineering/generating-sdks-from-openapi.md) - [OTP vs Passwords, Magic Links, and Passkeys](https://otp.com/blog/guides/otp-vs-passwords-magic-links-passkeys.md) - [REST, SDK, or MCP: Choosing Your OTP Integration](https://otp.com/blog/engineering/rest-sdk-or-mcp-choosing-your-otp-integration.md) - [Add OTP Verification to an AI Agent with MCP](https://otp.com/blog/engineering/otp-verification-in-an-ai-agent-with-mcp.md) - [Choosing an OTP Channel: SMS, WhatsApp, Telegram, or Email](https://otp.com/blog/guides/choosing-an-otp-channel.md) ## Changelog > Product updates to the otp.com API, SDKs, and MCP server. - [Changelog](https://otp.com/changelog) ## FAQ > Common questions about otp.com, answered. - [What is otp.com?](https://otp.com/faq#01-what-is-otp-com) - [What is OTP delivery used for?](https://otp.com/faq#02-what-is-otp-delivery-for) - [How does otp.com pricing work?](https://otp.com/faq#03-how-does-pricing-work) - [Which channels does otp.com offer?](https://otp.com/faq#04-which-channels) - [How does the fallback mechanism work?](https://otp.com/faq#05-how-does-fallback-work) - [Is there an MCP server?](https://otp.com/faq#06-mcp-server) ## Optional - [Blog RSS feed](https://otp.com/blog/rss.xml) - [Changelog RSS feed](https://otp.com/changelog/rss.xml)