SMS Verification Service - Built for Developers

Power your SMS verification workflows with the TemporaSMS API. Request numbers, poll for OTP codes, and manage balances programmatically. Pay per use.

REST API with JSON responses340+ supported services

Introduction

TemporaSMS provides SMS verification tools for teams and products. The API lets you request virtual numbers, poll for incoming OTP codes, and manage wallet balances programmatically.

Compatibility Note

Usage is subject to platform rules, rate limits, our Terms, and the Acceptable Use Policy.

All API requests should be sent to https://api.temporasms.com/stubs/handler_api.php via POST or GET methods.

API Abuse Rules

  • No automated abuse, unsolicited messaging, phishing, fraud, or malware.
  • No evading third-party platform rules or creating accounts against their terms.
  • Rate limits apply to all API keys.
  • Abusive API keys may be suspended, revoked, or reported where appropriate.

Authentication

All requests to the API must include your API key as the api_key parameter.

Where to find your API key

You can find or generate your API key by logging in to your account.

Login to get API key

Security Notice

Keep your API key secure. Do not share it in client-side code or public repositories.

Endpoints

Get Balance

GET

Retrieve your current account balance

GEThttps://api.temporasms.com/stubs/handler_api.php?api_key=$api_key&action=getBalance

Parameters

FieldTypeRequiredDescription
actionStringYesAPI action to perform.
api_keyStringYesYour API key.

Response

Code / KeyValue / Description
ACCESS_BALANCE:100.1234Your account balance (in your currency).

Error Responses

CodeDescription
BAD_ACTIONInvalid action requested.
BAD_KEYInvalid or missing API key.
USER_BANNEDYour account has been banned.
ERRORA generic server error occurred.
TOO_MANY_REQUESTSRate limit exceeded. Please slow down your requests.
UNDER_DEVELOPMENTThis feature is under development. Please try later.

Code Example

// Node.js example
const axios = require('axios');

async function getBalance() {
  try {
    const response = await axios.get('https://api.temporasms.com/stubs/handler_api.php', {
      params: {
        api_key: 'YOUR_API_KEY',
        action: 'getBalance'
      }
    });
    console.log(response.data);
  } catch (error) {
    console.error(error);
  }
}

getBalance();

Get Operators

GET

Retrieve the available operators

Request a Phone Number

GET

Get a temporary SMS number for verification. operator accepts only a numeric operator ID for a direct route. Use type=smart, type=auto, type=cheap, or type=best for cross-operator selection.

Request a Phone Number V2

GET

Get a temporary SMS number and return activation metadata as JSON. operator accepts only a numeric ID; use type=smart, type=auto, type=cheap, or type=best for the selection strategy.

Get SMS

GET

Retrieve SMS code from the temporary SMS number

Get SMS V2 (Batch)

GET

Fetch SMS status for multiple activations in a single request

Change Request Status

GET

Update the status of a phone number request

Get Current Prices

GET

Check current pricing for all or specific countries

Get Full Prices List V2

GET

Return stock counts grouped by country, service, and price using the live pricing response shape.

Get Full Prices List V3

GET

Return live price options and stock grouped by country and service. The provider keys and providerIds values are public provider option IDs accepted by getNumber and getNumberV2; supplier provider pools remain private.

Get List of All Countries

GET

Retrieve all available countries

Get List of All Services

GET

Retrieve all available services

Ready to get started?

Create an account today to get your API key and start integrating with TemporaSMS.