API ng pagtanggap ng SMS

Bumili ng numero at basahin ang code na pampatunay sa pamamagitan ng JSON API. Walang pagsusuri ng pagkakakilanlan, bayad sa cryptocurrency.

REST · JSONOpenAPI 3.1 Espesipikasyon ng OpenAPI →

Bawat operasyon dito ay MCP tool din. Ang mga REST endpoint ay salin ng mismong mga tool na inilalabas ng MCP server: kaya pareho ang kilos ng isang awtonomong agent at ng karaniwang integrasyon. Kung itinuturo ninyo ang isang AI agent sa OTPDrop, magsimula sa seksiyon para sa mga agent.

Paano nakaayos ang API?

  1. Gumawa ng account at itago ang ibinalik na parirala. Ito lamang ang pasukan, at hindi ito maire-reset.
  2. Gumawa ng deposito, ipadala ang cryptocurrency at hintaying maikredito ito.
  3. Bumili ng numero para sa nais na serbisyo at bansa — agad na kinakaltas ang balanse.
  4. Tanungin ang SMS na naglalaman ng code. Kung walang code na dumating bago mag-expire ang order, awtomatikong isinasauli ang pera.

Minsang magdeposito, madalas bumili: sinasakop ng isang deposito ang kasindaming numerong kaya ng balanse, kaya ang unang bili lamang ang naghihintay ng kumpirmasyon.

Authentication

Ipasa ang parirala ng account bilang bearer token. Walang hiwalay na API key at walang login call — ang parirala mismo ang identifier.

Authorization: Bearer YOUR-SEED-PHRASE

Walang hinihinging authentication ang mga endpoint ng katalogo: kaya matitingnan ang serbisyo, bansa at presyo bago pa magkaroon ng account. Lahat ng may kinalaman sa pera at sa order ay nangangailangan ng header.

Hindi na mababawi ang parirala. Ang bakas lamang nito ang hawak namin. Kung mawala ito, mawawala ang account at ang balanse nito, walang reset at walang tulong mula sa suporta.

Batayang address

Lahat ng endpoint ay may kaugnayan sa:

https://otpdrop.com/api/v1

Nasa JSON ang mga tugon. Tinatanggap ang POST body bilang application/json o application/x-www-form-urlencoded.

Mga error

Kapag nabigo, isang status na wala sa 2xx ang ibinabalik kasama ang iisang error object.

{
  "error": {
    "code": "invalid_request",
    "message": "unknown service: \"whatsap\""
  }
}
StatusKahulugan
200Tagumpay
201Nagawa — umiiral na ang account, deposito o order
401Wala o mali ang parirala sa Authorization header
422Naunawaan ang kahilingan, ngunit hindi maisagawa
500Kabiguan sa panig namin

Mga karaniwang mensahe sa 422:

MensaheSanhi
insufficient_fundsMas mababa ang balanse sa presyo — gumawa muna ng deposito
unknown serviceWala ang service code na ito; tingnan ang listahan ng serbisyo
unknown countryWala ang country code na ito; tingnan ang listahan ng bansa
unknown coinHindi tanggap na barya; tingnan ang endpoint ng deposito
amount_usd must be between…Limitado ang deposito sa $25–$1000

May limitasyon ba sa bilis?

Walang inilathalang quota, at walang API key na masasakal — ngunit hindi libre ang paulit-ulit na pagtawag sa mga endpoint. Dalawa sa kanila ang ginawa para tanungin nang paulit-ulit at nangangailangan ng natatanging pag-iingat.

EndpointMakatwirang bilisBakit
Katalogo at pagkuwenta ng presyoI-cache sa panig ninyoBihirang magbago ang presyo; walang saysay na ikarga muli ang katalogo sa bawat kahilingan.
/topups/{id}Bawat 10 hanggang 15 segundoMinuto, hindi milisegundo, ang inaabot ng kumpirmasyon ng network. Walang mas maagang malalaman sa mas madalas na pagtatanong.
/orders/{id}/smsBawat 3 hanggang 5 segundoKaraniwang dumarating ang code sa loob ng ilang segundo; karagdagang karga lamang ang idinadagdag ng mas masikip na loop.
PagbiliKung kailanganBawat bili ay tunay na pera ang kinakaltas, kaya mas magastos sa inyo kaysa sa amin ang loop na walang preno.

Ang trapikong kamukha ng isang pag-atake ay haharangin sa itaas ng linya, nang walang magalang na 429. Kung may makatwiran kayong dahilan para magtanong nang mas madalas, sumulat muna sa amin sa pahina ng kontak.

Ilista ang mga serbisyo

GET/api/v1/services

Lahat ng serbisyo kasama ang code, kategorya at pinakamababang presyo nito. Walang kailangang authentication.

Kahilingan

curl -s https://otpdrop.com/api/v1/services

Tugon

{
  "services": [
    {
      "code": "binance",
      "name": "Binance",
      "category": "Finance",
      "from_price_cents": 85,
      "color": "#F0B90B",
      "icon": "binance"
    }
  ],
  "count": 133
}

Ilista ang mga bansa

GET/api/v1/countries

Every country with its dial code and how many services are available there. No authentication required.

Kahilingan

curl -s https://otpdrop.com/api/v1/countries

Tugon

{
  "countries": [
    {
      "code": "us",
      "name": "United States",
      "dial_code": "+1",
      "service_count": 133
    }
  ],
  "count": 197
}

Matris ng presyo

GET/api/v1/catalog

The most useful service and country combinations with their prices, cheapest first. No authentication required.

Mga parameter

PangalanUriPaglalarawan
limitintegeropsiyonalHow many rows to return, 1 to 500. Defaults to 12.

Kahilingan

curl -s 'https://otpdrop.com/api/v1/catalog?limit=2'

Tugon

{
  "items": [
    {
      "service": "badoo",
      "country": "us",
      "price_cents": 35
    }
  ],
  "count": 2
}

Kuwentahin ang presyo

GET/api/v1/quote

The exact price for one service and country before you commit to buying. No authentication required.

Mga parameter

PangalanUriPaglalarawan
servicestringkailanganService code, e.g. telegram
countrystringkailanganCountry code, e.g. us

Kahilingan

curl -s 'https://otpdrop.com/api/v1/quote?service=telegram&country=us'

Tugon

{
  "service": "telegram",
  "country": "us",
  "price_cents": 111,
  "price_usd": "1.11",
  "currency": "USD",
  "purchasable": true
}

Gumawa ng account

POST/api/v1/accounts

Generates an account and returns its seed. This is the only time the seed is ever shown. No authentication required.

Kahilingan

curl -s -X POST https://otpdrop.com/api/v1/accounts

Tugon

{
  "public_id": "acc_7f3c1a92",
  "seed": "PABh-ZbRt-9xKm-Lq4V",
  "seed_prefix": "PABh",
  "balance_cents": 0,
  "warning": "This seed is shown exactly once, right now..."
}

Gumawa ng deposito

POST/api/v1/topups

Claims a deposit address and returns the exact amount to send, as coin_amount, at the rate in rate_usd. Each top-up gets its own address, and it expires at expires_at. Send only the named coin, on the named network, before then.

Mga parameter

PangalanUriPaglalarawan
amount_usdnumberkailanganHow much to add to the balance, in USD. Minimum 25, maximum 1000.
coinstringkailanganBTC, LTC, ETH, XMR, SOL, TRX, BNB, USDT, USDC and more

Kahilingan

curl -s -X POST https://otpdrop.com/api/v1/topups \
  -H 'Authorization: Bearer YOUR-SEED' \
  -H 'content-type: application/json' \
  -d '{"amount_usd": 25, "coin": "XMR"}'

Tugon

{
  "topup_id": "top_019195919c80fc8f",
  "status": "awaiting_payment",
  "coin": "XMR",
  "address": "89Rm4XN39m9PCr8Sr3yAFnXvLRRWQVEE...",
  "amount_cents": 2500,
  "amount_usd": "25.00",
  "coin_amount": "0.1337",
  "rate_usd": 187.02,
  "bonus_cents": 0,
  "credited_total_cents": 2500,
  "expires_at": 1788532810
}

Katayuan ng deposito

GET/api/v1/topups/{id}

Whether a deposit has been credited. Confirmation is not instant — poll this rather than assuming the funds arrived.

Mga parameter

PangalanUriPaglalarawan
idstringkailanganThe top-up id, in the path

Kahilingan

curl -s https://otpdrop.com/api/v1/topups/top_019195919c80fc8f \
  -H 'Authorization: Bearer YOUR-SEED'

Tugon

{
  "topup_id": "top_019195919c80fc8f",
  "status": "credited",
  "coin": "XMR",
  "amount_usd": "25.00",
  "coin_amount": "0.1337",
  "credited_total_cents": 2500,
  "expires_at": 1788532810
}

Bumili ng numero

POST/api/v1/orders

Debits the balance and issues a number immediately. There is no per-purchase address and no second wait. Fails with insufficient_funds if the balance is short.

Mga parameter

PangalanUriPaglalarawan
servicestringkailanganService code, e.g. telegram
countrystringkailanganCountry code, e.g. us

Kahilingan

curl -s -X POST https://otpdrop.com/api/v1/orders \
  -H 'Authorization: Bearer YOUR-SEED' \
  -H 'content-type: application/json' \
  -d '{"service": "telegram", "country": "us"}'

Tugon

{
  "order_id": "ord_1ad450bf7a42519c",
  "service": "telegram",
  "country": "us",
  "phone": "+15558329008",
  "status": "paid",
  "price_usd": "1.11"
}

Ilista ang inyong mga order

GET/api/v1/orders

Every order on the account, newest first, with status, number and price. Useful for reconciling state after a restart rather than for polling.

Kahilingan

curl -s https://otpdrop.com/api/v1/orders \
  -H 'Authorization: Bearer YOUR-SEED'

Tugon

{
  "orders": [
    {
      "order_id": "ord_1ad450bf7a42519c",
      "service": "telegram",
      "country": "us",
      "phone": "+15558329008",
      "status": "paid",
      "price_usd": "1.11"
    }
  ],
  "count": 1
}

Tingnan ang isang order

GET/api/v1/orders/{id}

The current state of one order: its number, status and price.

Mga parameter

PangalanUriPaglalarawan
idstringkailanganThe order id, in the path

Kahilingan

curl -s https://otpdrop.com/api/v1/orders/ord_1ad450bf7a42519c \
  -H 'Authorization: Bearer YOUR-SEED'

Tugon

{
  "order_id": "ord_1ad450bf7a42519c",
  "service": "telegram",
  "country": "us",
  "phone": "+15558329008",
  "status": "paid",
  "price_usd": "1.11"
}

Kunin ang SMS na naglalaman ng code

GET/api/v1/orders/{id}/sms

Poll this until arrived turns true. If the order expires with nothing delivered, the price returns to your balance automatically.

Mga parameter

PangalanUriPaglalarawan
idstringkailanganThe order id, in the path

Kahilingan

curl -s https://otpdrop.com/api/v1/orders/ord_1ad450bf7a42519c/sms \
  -H 'Authorization: Bearer YOUR-SEED'

Tugon

{
  "order_id": "ord_1ad450bf7a42519c",
  "status": "paid",
  "arrived": false,
  "code": null
}

Ano ang hitsura ng isang buong integrasyon?

Mula account hanggang code, anim na tawag. Tunay ang lahat ng sumusunod: i-paste at patakbuhin.

# 1. Gumawa ng account at itago ang parirala
SEED=$(curl -s -X POST https://otpdrop.com/api/v1/accounts | jq -r .seed)

# 2. Magdeposito — ipadala ang coin_amount sa ibinalik na address
curl -s -X POST https://otpdrop.com/api/v1/topups \
  -H "Authorization: Bearer \$SEED" \
  -H 'content-type: application/json' \
  -d '{"amount_usd": 25, "coin": "USDT"}'

# 3. Magtanong hanggang maikredito ang deposito
curl -s https://otpdrop.com/api/v1/topups/TOPUP_ID \
  -H "Authorization: Bearer \$SEED" | jq .status

# 4. Tingnan ang presyo bago bumili
curl -s 'https://otpdrop.com/api/v1/quote?service=telegram&country=us'

# 5. Bumili — kinakaltas ang balanse, agad na inihahatid ang numero
ORDER=$(curl -s -X POST https://otpdrop.com/api/v1/orders \
  -H "Authorization: Bearer \$SEED" \
  -H 'content-type: application/json' \
  -d '{"service": "telegram", "country": "us"}' | jq -r .order_id)

# 6. Tanungin ang code
until curl -s https://otpdrop.com/api/v1/orders/\$ORDER/sms \
  -H "Authorization: Bearer \$SEED" | jq -e .code; do sleep 4; done

Ang parehong pagkakasunod-sunod sa Python, walang shell:

import time, requests

API = "https://otpdrop.com/api/v1"
seed = requests.post(f"{API}/accounts").json()["seed"]
auth = {"Authorization": f"Bearer {seed}"}

topup = requests.post(f"{API}/topups", headers=auth,
                      json={"amount_usd": 25, "coin": "USDT"}).json()
print("send", topup["coin_amount"], topup["coin"], "to", topup["address"])

while requests.get(f"{API}/topups/{topup['topup_id']}",
                   headers=auth).json()["status"] != "credited":
    time.sleep(15)

order = requests.post(f"{API}/orders", headers=auth,
                      json={"service": "telegram", "country": "us"}).json()
print("number:", order["phone"])

while True:
    sms = requests.get(f"{API}/orders/{order['order_id']}/sms",
                       headers=auth).json()
    if sms["arrived"]:
        print("code:", sms["code"])
        break
    time.sleep(4)

MCP server

Makukuha ang mismong mga operasyon sa pamamagitan ng Model Context Protocol sa https://otpdrop.com/mcp, bilang labing-isang tool. Para idagdag ito sa Claude Code:

claude mcp add --transport http otpdrop https://otpdrop.com/mcp

Nasa pahina para sa mga agent ang pagsasaayos at ang buong listahan ng tool.

Mga discovery file

Mga paglalarawan ng serbisyo na nababasa ng makina, lahat inihahain nang walang authentication.

FileLaman
/openapi.jsonAng buong OpenAPI 3.1 schema
/.well-known/agent.jsonMga kakayahan, modelo ng authentication at tuntunin ng paggana
/llms.txtMaikling gabay para sa mga language model
/llms-full.txtGanoon din, kasama ang buong katalogo

Mga madalas itanong

Kailangan ba ng key para sa API ng OTPDrop?

Hindi. Walang hihilingin at walang pagsusuri. Ang parirala ng account ang identifier, na ipinapasa bilang bearer token — at hindi man lamang ito kailangan ng mga endpoint ng katalogo.

Magkano ang API ng OTPDrop?

Wala, bukod sa mga numero mismo. Walang subscription, walang bayad kada tawag, walang pinakamababang dami — ang presyo ay siya ring nasa site.

Sa anong mga programming language gumagana ang API?

Sa alinmang wikang kayang gumawa ng HTTPS request. Karaniwang JSON ito sa HTTP na may bearer header: walang SDK na ii-install, at walang isasabay sa aming mga bersiyon.

Ano ang mangyayari kung hindi dumating ang SMS?

Kusang isinasauli sa balanse ang bayad sa order pag-expire nito; puwede rin ninyo itong kanselahin nang mas maaga mula sa site. Binabayaran ninyo ang naihatid na code, hindi ang pagtatangka.

Iisa ba ang REST API at ang MCP server?

Oo, at sinadya iyon. Ang bawat REST endpoint ay salin ng isang MCP tool call, kaya hindi sila maaaring maghiwalay: ang pagbabago sa isa ay pagbabago sa isa pa. Piliin ang mas bagay sa inyong kliyente.

Puwede bang subukan ang API nang walang gastos?

Libre ang katalogo, ang pagkuwenta ng presyo at ang paggawa ng account: kaya masusulat at masusubukan ang halos buong integrasyon bago pa magdeposito. Ang pagbili lamang ang may gastos.