API za primanje SMS-a

Kupujte brojeve i čitajte kodove za potvrdu preko JSON API-ja. Bez provjere identiteta, plaćanje kriptovalutom.

REST · JSONOpenAPI 3.1 OpenAPI specifikacija →

Svaka je ovdašnja radnja ujedno i MCP alat. REST krajnje točke prijevod su istih alata koje nudi MCP poslužitelj: samostalan agent i obična integracija ponašaju se dakle jednako. Usmjeravate li AI agenta na OTPDrop, počnite od odjeljka za agente.

Kako je API ustrojen?

  1. Otvorite račun i sačuvajte vraćenu frazu. To je jedini pristup i ne može se poništiti.
  2. Stvorite nadoplatu, pošaljite kriptovalutu i pričekajte pripis.
  3. Kupite broj za željeni servis i državu — stanje se tereti odmah.
  4. Zatražite SMS s kodom. Ako nijedan kod ne stigne prije isteka narudžbe, novac se vraća automatski.

Nadoplatite jednom, kupujte često: jedna nadoplata pokriva onoliko brojeva koliko stanje dopušta, pa samo prva kupnja čeka potvrdu.

Prijava

Pristupnu frazu računa šaljite kao bearer token. Nema zasebnog API ključa ni poziva za prijavu — fraza jest vjerodajnica.

Authorization: Bearer YOUR-SEED-PHRASE

Krajnje točke kataloga ne traže nikakvu prijavu: servisi, države i cijene mogu se dakle pregledati i prije nego račun postoji. Sve što se tiče novca i narudžbi traži zaglavlje.

Fraza je nepovratna. Čuvamo samo njezin otisak. Izgubite li je, račun i njegovo stanje nestaju, bez poništavanja i bez pomoći podrške.

Osnovna adresa

Sve su krajnje točke relativne prema:

https://www.otpdrop.com/api/v1

Odgovori su u JSON-u. POST tijela prihvaćaju se kao application/json ili application/x-www-form-urlencoded.

Pogreške

U slučaju neuspjeha vraća se status izvan 2xx s jednim objektom pogreške.

{
  "error": {
    "code": "invalid_request",
    "message": "unknown service: \"whatsap\""
  }
}
StatusZnačenje
200Uspjeh
201Stvoreno — račun, nadoplata ili narudžba sada postoji
401Fraza nedostaje ili je pogrešna u zaglavlju Authorization
422Zahtjev je razumljiv, ali se ne može izvršiti
500Kvar na našoj strani

Česte poruke uz 422:

PorukaUzrok
insufficient_fundsStanje je niže od cijene — najprije stvorite nadoplatu
unknown serviceTaj kod servisa ne postoji; pogledajte popis servisa
unknown countryTaj kod države ne postoji; pogledajte popis država
unknown coinValuta nije prihvaćena; pogledajte krajnju točku nadoplate
amount_usd must be between…Nadoplate su ograničene na $25–$1000

Postoje li ograničenja učestalosti?

Nikakve kvote nisu objavljene i nema API ključa koji bi se prigušio — ali pozivanje krajnjih točaka u petlji nije besplatno. Dvije su od njih namijenjene ponavljanom ispitivanju i traže posebnu pažnju.

Krajnja točkaRazuman ritamZašto
Katalog i izračun cijeneSpremite ih u predmemoriju kod sebeCijene se mijenjaju rijetko; ponovno učitavanje kataloga pri svakom zahtjevu nema smisla.
/topups/{id}Svakih 10 do 15 sekundiMrežna potvrda traje minutama, a ne milisekundama. Češće ispitivanje neće ništa saznati ranije.
/orders/{id}/smsSvake 3 do 5 sekundiKodovi obično stižu u nekoliko sekundi; uža petlja dodaje samo opterećenje.
KupnjaPo potrebiSvaka kupnja tereti pravi novac, pa će vas petlja bez kočnice stajati više nego nas.

Promet koji izgleda kao napad bit će blokiran ranije, bez uljudnog 429. Ako imate opravdan razlog za češće ispitivanje, javite nam se najprije preko kontaktne stranice.

Popis servisa

GET/api/v1/services

Svi servisi s kodom, kategorijom i najnižom cijenom. Prijava nije potrebna.

Zahtjev

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

Odgovor

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

Popis država

GET/api/v1/countries

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

Zahtjev

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

Odgovor

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

Matrica cijena

GET/api/v1/catalog

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

Parametri

NazivTipOpis
limitintegernije obveznoHow many rows to return, 1 to 500. Defaults to 12.

Zahtjev

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

Odgovor

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

Izračun cijene

GET/api/v1/quote

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

Parametri

NazivTipOpis
servicestringobveznoService code, e.g. telegram
countrystringobveznoCountry code, e.g. us

Zahtjev

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

Odgovor

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

Otvaranje računa

POST/api/v1/accounts

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

Zahtjev

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

Odgovor

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

Stvaranje nadoplate

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.

Parametri

NazivTipOpis
amount_usdnumberobveznoHow much to add to the balance, in USD. Minimum 25, maximum 1000.
coinstringobveznoBTC, LTC, ETH, XMR, SOL, TRX, BNB, USDT, USDC and more

Zahtjev

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

Odgovor

{
  "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
}

Status nadoplate

GET/api/v1/topups/{id}

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

Parametri

NazivTipOpis
idstringobveznoThe top-up id, in the path

Zahtjev

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

Odgovor

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

Kupnja broja

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.

Parametri

NazivTipOpis
servicestringobveznoService code, e.g. telegram
countrystringobveznoCountry code, e.g. us

Zahtjev

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

Odgovor

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

Popis vaših narudžbi

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.

Zahtjev

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

Odgovor

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

Dohvat narudžbe

GET/api/v1/orders/{id}

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

Parametri

NazivTipOpis
idstringobveznoThe order id, in the path

Zahtjev

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

Odgovor

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

Dohvat SMS-a s kodom

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.

Parametri

NazivTipOpis
idstringobveznoThe order id, in the path

Zahtjev

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

Odgovor

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

Kako izgleda cjelovita integracija?

Od računa do koda, šest poziva. Sve što slijedi je stvarno: zalijepite i pokrenite.

# 1. Otvorite račun i sačuvajte frazu
SEED=$(curl -s -X POST https://www.otpdrop.com/api/v1/accounts | jq -r .seed)

# 2. Nadoplata — pošaljite coin_amount na vraćenu adresu
curl -s -X POST https://www.otpdrop.com/api/v1/topups \
  -H "Authorization: Bearer \$SEED" \
  -H 'content-type: application/json' \
  -d '{"amount_usd": 25, "coin": "USDT"}'

# 3. Ispitujte dok se nadoplata ne pripiše
curl -s https://www.otpdrop.com/api/v1/topups/TOPUP_ID \
  -H "Authorization: Bearer \$SEED" | jq .status

# 4. Provjerite cijenu prije kupnje
curl -s 'https://www.otpdrop.com/api/v1/quote?service=telegram&country=us'

# 5. Kupnja — stanje se tereti, broj se isporučuje odmah
ORDER=$(curl -s -X POST https://www.otpdrop.com/api/v1/orders \
  -H "Authorization: Bearer \$SEED" \
  -H 'content-type: application/json' \
  -d '{"service": "telegram", "country": "us"}' | jq -r .order_id)

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

Isti slijed u Pythonu, bez ljuske:

import time, requests

API = "https://www.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 poslužitelj

Iste su radnje dostupne preko Model Context Protocola na https://www.otpdrop.com/mcp, u obliku jedanaest alata. Za dodavanje u Claude Code:

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

Postavke i potpun popis alata nalaze se na stranici za agente.

Datoteke za otkrivanje

Strojno čitljivi opisi servisa, svi posluženi bez prijave.

DatotekaSadržaj
/openapi.jsonPotpuna OpenAPI 3.1 shema
/.well-known/agent.jsonMogućnosti, model prijave i pravila rada
/llms.txtKratka uputa za jezične modele
/llms-full.txtIsto, s uključenim cijelim katalogom

Česta pitanja

Treba li ključ za OTPDrop API?

Ne. Nema se što tražiti i nema nikakve provjere. Vjerodajnica je pristupna fraza računa, poslana kao bearer token — a krajnjim točkama kataloga ni ona ne treba.

Koliko stoji OTPDrop API?

Ništa osim samih brojeva. Bez pretplate, bez naplate po pozivu, bez najmanjeg opsega — cijene su one sa stranice.

S kojim programskim jezicima API radi?

Sa svakim koji može poslati HTTPS zahtjev. To je običan JSON preko HTTP-a s bearer zaglavljem: nema SDK-a za instalirati i ničega što treba usklađivati s našim izdanjima.

Što ako SMS ne stigne?

Narudžba se pri isteku sama vraća na stanje; možete je i ranije otkazati na stranici. Plaćate isporučene kodove, a ne pokušaje.

Jesu li REST API i MCP poslužitelj ista stvar?

Da, i to namjerno. Svaka je REST krajnja točka prijevod jednog MCP poziva alata, pa se ne mogu razići: promijeniti jedno znači promijeniti drugo. Odaberite ono što bolje odgovara vašem klijentu.

Može li se API isprobati bez trošenja?

Katalog, izračun cijene i otvaranje računa besplatni su: najveći dio integracije može se dakle napisati i provjeriti prije ijedne nadoplate. Novca stoji samo kupnja.