Skip to content
Choosing a provider

A different provider.
A considered move.

If you are considering OTPPin as an SMS-Activate alternative, start with the services, countries and order behaviour your workflow actually needs.

Before switching

Compare the workflow,
not a headline price.

A useful evaluation starts with one service and country you already use. Check the listed price, then place a small test order and see how it behaves for your workflow.

This page describes OTPPin only. It makes no claim about any other provider, and it does not promise that another provider's requests will work here unchanged.

01

Listed prices

Browse the price list for the service and country you use. Prices and availability are cached estimates; a listing does not reserve a number, and a number is assigned only when the order is placed.

Review pricing ↗
02

How an order works

One order is one number for one service. It stays open for 20 minutes. If no SMS arrives in that time, the charge is credited back to your account balance.

Read the FAQs ↗
03

API integration

Authenticate with an API key, read the catalog and place orders over REST. Map the requests, response fields and statuses to your own code and test them.

API overview ↗

Keep the first
integration small.

  1. Create an account and top upBalance top-ups are currently accepted by cryptocurrency only. The minimum top-up is $2. Orders are paid from that balance.
  2. Use a dedicated API keyStore the key on your server, keep it out of client code and logs, and revoke it if exposed.
  3. Handle every statusTest a successful order, an unavailable number, insufficient balance and expiry. A listing does not reserve a number. A timed-out client request should not automatically become a second purchase; send an Idempotency-Key header when you create an order.
  4. Reconcile from account dataUse the order ID, the current order status and your balance to track purchases. Contact support with those details if something differs.
  5. If you already use a handler_api-style clientA compatibility endpoint exists at /stubs/handler_api.php. It supports a subset of actions, so test each one your client calls.

Evaluate your next workflow.

Choose a service and country from your dashboard, or explore the API.