Salvadoran (+503) verification codes for QA and launch teams

Calling code +503OTP Gateway from $0.20 per codeDedicated numbers: US & Canada onlyAPI id: sv
Quick answer

Yes, you can receive El Salvador (+503) verification codes with OTP Route by ordering a one-time number from the OTP Gateway and reading the code in the dashboard or through the API and signed webhooks. Prices start at $0.20 per code, and you are charged only when the SMS lands inside the 20-minute activation window. El Salvador has no self-serve long-term line, so the gateway is the route for this market.

One-time code or long-term line: which does a Salvadoran test need?

Start with the shape of the test, because it decides the product.

  • A single verification step (sign-up, phone change, a step-up check) maps to the OTP Gateway. You order a +503 number for one service, the code arrives once, and the number is finished.
  • An account that must keep logging in for weeks needs a line you own. Dedicated Numbers are a US/Canada product from $1.95/month, bought instantly from the dashboard with inbound SMS, outbound SMS and browser calling.

For El Salvador there is no self-serve Dedicated Number. If your team genuinely needs a long-term Salvadoran line, email [email protected]; whether one can be arranged depends on local rules and is not guaranteed. Many teams solve the "repeat login" case with a US line instead, when the service under test accepts it. For a Salvadoran rollout, weigh both paths with the notes in temporary vs dedicated numbers.

How should +503 numbers be stored and validated?

El Salvador uses an 8-digit closed numbering plan with no trunk prefix. The number a local writes on a form is the same 8 digits that follow +503 internationally, so normalisation is mostly about stripping punctuation: locals often write mobile numbers as two blocks of four separated by a hyphen.

  • Store the E.164 form, +503 followed by eight digits, in a single column.
  • Mobile numbers generally begin with 6 or 7; fixed lines usually begin with 2. A validator that accepts only those leading digits catches most typos.
  • Reject an extra leading 0. Users who are used to other Latin American plans sometimes add one, and some SMS platforms quietly drop the message.

Your app's SMS templates for this market are normally Spanish. Characters such as á, í or ó are outside the basic GSM alphabet, so a template that uses them can switch to UCS-2 encoding and shorten each segment. Keep the code near the start of the message so it survives a split.

Why do teams test sign-up flows in El Salvador?

A few patterns come up repeatedly:

  • Central American launches. A product rolling out across Guatemala, Honduras and El Salvador wants each country's phone step checked before ads go live.
  • Diaspora customers. Many Salvadorans live in the United States and keep a +503 number for family, so remittance, payments and messaging products see Salvadoran numbers even when the user's address is American. See fintech onboarding for that flow.
  • Localisation QA. Spanish copy, the country picker and number masks all need a real Salvadoran code to confirm the screens work end to end.
  • Pricing in US dollars. The US dollar is El Salvador's official currency, which makes the market a convenient place to test checkout and onboarding together.

What does the El Salvador OTP API call sequence look like?

All requests go to https://otproute.com/api/v1 with a Bearer key prefixed or_live_, created in the Developer console (up to 10 keys, 300 requests per minute). The country id for El Salvador is sv.

  1. Fetch GET /api/v1/countries and GET /api/v1/services and cache the ids.
  2. Read the live price with GET /api/v1/prices?country=sv&service=<id>; it also tells you whether a route is available right now.
  3. Create the order with POST /api/v1/activations and a body such as {"service": "telegram", "country": "sv"}. Save the activation id and the number.
  4. Have the Salvadoran build of your app send its verification SMS to that number.
  5. Wait for the activation.sms_received event at your endpoint; without one, poll GET /api/v1/activations/{id} every few seconds.
  6. If the flow is abandoned, call POST /api/v1/activations/{id}/cancel so the funds return straight away.

Every webhook carries X-OTPRoute-Signature: t=<unix>,v1=<hex>, an HMAC-SHA256 of the timestamp, a dot and the raw body using your endpoint secret. Verify it and drop stale timestamps; securing OTP webhooks walks through it. Non-developers can do the same thing from the dashboard: choose El Salvador, choose a service, confirm the live price, and watch the code appear on the activation card.

Which services can be verified on a Salvadoran number?

The live snapshot shows more than 900 services with El Salvador routes. Popular ones include WhatsApp, Facebook, Instagram, TikTok, Uber, Google (Gmail & YouTube), Microsoft & Outlook, Amazon, Telegram, Signal, LinkedIn and ChatGPT (OpenAI). Availability shifts through the day, which is why the prices endpoint, not a fixed list, should drive your test runner.

Some services refuse numbers they classify as virtual. That is outside our control, and it is the reason the refund rule exists.

What if the Salvadoran code never arrives?

A slow +503 code is not yet a failed one, so leave the order open for the whole 20 minutes. If nothing comes in, the order expires, activation.expired fires and the full amount goes back to your wallet automatically. Then:

  • confirm the service accepts virtual numbers for this kind of step;
  • try again later, or pick a different service route, rather than re-ordering in a tight loop;
  • check that your own app actually sent the SMS to the exact number returned, in E.164 form.

Further Central America-friendly troubleshooting lives in reducing failed OTP deliveries.

How is billing handled for El Salvador orders?

OTP Route uses one prepaid USD wallet, pay as you go, with no monthly fee and no plan to choose. Funding works by card or USDT/USDC stablecoins, and a PDF invoice lands in your inbox after each top-up or number purchase. For integration work, a development account can be switched to sandbox on request, returning simulated numbers and codes so the whole loop runs without spending wallet funds. Current rates are on the pricing page.

Frequently asked questions

Can I test my app's El Salvador sign-up without a local SIM?

Yes. Order a +503 number from the OTP Gateway for the service you are testing, trigger the SMS, and read the code in the dashboard or through the API.

Do Salvadoran numbers have a trunk prefix like 0?

No. El Salvador numbers are eight digits with no trunk prefix, so the international form is simply +503 plus those eight digits.

What is the country id for El Salvador in the OTP Route API?

Use sv in price lookups and in the activation body, for example GET /api/v1/prices?country=sv&service=<id>.

Am I charged if the +503 number never receives a code?

No. If no SMS arrives within the 20-minute window, or you cancel first, the full amount is returned to your wallet automatically.

Can I keep a Salvadoran number for repeat logins?

Not as a self-serve product. Long-term Dedicated Numbers are offered in the United States and Canada; for El Salvador you can email [email protected] to ask, with no promise of availability.

Is OTP Route meant for creating many accounts?

No. It is for testing and operating your own legitimate products and accounts, within each service's terms and the OTP Route Acceptable Use Policy.

Can I run the Salvadoran flow in CI without spending money?

Yes. A development account can be switched to sandbox on request, and it returns simulated numbers and codes so your pipeline can exercise the full API path.

Service names are trademarks of their respective owners. OTP Route is not affiliated with them. Use numbers lawfully, follow each service's terms and our Acceptable Use Policy.

Route your first OTP in minutes

Create a free account, top up your USD wallet and order a number from the dashboard or the API. No monthly fee.