Nodetonet panelinde yapabileceğiniz neredeyse her şey — proxy oluşturma, IP'leri döndürme, token mint etme, kullanım istatistiklerini çekme — düz bir HTTPS REST API üzerinden de erişilebilir. Panelin kendisi bu API'nin üstündeki bir client'tan ibarettir. Bu yazı eksiksiz pratik minimumdur: anahtarınızı alın, istek gönderin, yanıtı anlayın, hataları yönetin, sayfalayın ve hangi endpoint'lerin var olduğunu bilin. Beş satır curl, SDK yok, tören yok.
Özet: her isteğe Authorization: Bearer ntn_live_… başlığını ekleyin, temel URL https://nodetonet.com/api/v1/'dir. Her yanıt {"data": [...], "meta": {...}} biçimindedir. Bu desen tüm endpoint'lerde tekrarlanır.
1 · API anahtarınızı alın
/dashboard'ı açın ve Personal API Key kartını bulun. Göstermek için göz simgesine tıklayın, almak için kopyalama simgesine tıklayın. Dize ntn_live_ ile başlar ve yaklaşık kırk karakter uzunluğundadır. Bu anahtara sahip olan herkes hesabınızdaki tüm proxy'leri, token'ları ve faturalama işlemlerini yönetebilir; dolayısıyla bir şifre gibi saklayın.
Kapsam, döndürme ve salt-okunur kopyaları müşterilere verme konularında API anahtarınızı anlama ve müşteri API token'ları ile kişisel anahtarların karşılaştırması yazılarına bakın.
Anahtarı bir kabuk değişkeni olarak export edin; böylece yanlışlıkla bir log veya ekran görüntüsüne yapıştırmazsınız:
export NTN_KEY="ntn_live_a8c3...f2e1"
2 · İsteği gönderin
Her endpoint https://nodetonet.com/api/v1/ altında yer alır ve standart bir Authorization: Bearer başlığıyla kimlik doğrulama yapar. Olası en basit çağrı proxy'lerinizi listelemektir:
curl -H "Authorization: Bearer $NTN_KEY" \
https://nodetonet.com/api/v1/proxies
İçerik türü başlığı yok, gövde yok, sürüm müzakeresi yok — tek bir başlıkla sadece bir GET. Yanıtı güzel biçimlendirilmiş görmek istiyorsanız jq . ile pipe'a alın veya -s | python3 -m json.tool kullanın.
3 · JSON yanıt şekli
Her liste endpoint'i tutarlı bir zarf döndürür; iki üst-seviye anahtar içerir:
{
"data": [
{
"id": "prx_4d7a91",
"title": "Tunnel #4d7a",
"protocol": "http",
"host": "sub42.nodetonet.com",
"port": 48888,
"username": "u8x2",
"password": "p7q1",
"tokenId": "tok_3kzl8w9",
"serverId": "srv_de_1",
"status": "active",
"createdAt": "2026-04-03T14:21:08.114Z"
}
],
"meta": {
"page": 1,
"perPage": 25,
"total": 1,
"totalPages": 1
}
}
data her zaman bir dizidir — tek bir kaynağı ID ile çekseniz bile tek elemanlı diziye sarılır. meta sayfalama durumunu taşır. Parser'ınızı bir kez yazın, API'deki tüm liste endpoint'lerini kapsar. host + port + username + password alanları, ister SOCKS5 ister HTTP/HTTPS kullanıyor olun, aracınızın proxy ayarlarına doğrudan yapıştırdığınız değerlerdir.
4 · Gerçekten göreceğiniz HTTP durum kodları
| Kod | Anlam | Ne yapmalı |
|---|---|---|
| 200 OK | Başarılı. Gövde data + meta biçimindedir. | Parse edin ve devam edin. |
| 401 Unauthorized | Anahtar eksik, hatalı biçimlendirilmiş veya döndürülmüş. | Dashboard'dan yeniden kopyalayın. |
| 403 Forbidden | Anahtar geçerli ama işleme izin yok (başka hesabın kaynağını silmeye çalışmak gibi). | Hangi anahtarı kullandığınızı kontrol edin. |
| 404 Not Found | Kaynak bulunamadı veya başka hesaba ait. | Hesap sınırlarının sızmaması için ikisini kasıtlı olarak birleştiriyoruz. |
| 429 Too Many Requests | Hız sınırı aşıldı (anahtar başına dakikada 600 istek). | Retry-After başlığını (saniye) okuyun ve bekleyin. |
| 5xx | Sunucu taraflı hata. | Üstel geri-çekilme ile yeniden deneyin — GET çağrıları idempotent'tir. |
Hatalar her zaman aynı zarf biçiminde JSON olarak döner; böylece hata işleyiciniz içerik türüne göre dallanmak zorunda kalmaz:
{
"error": {
"code": "unauthorized",
"message": "API key invalid or rotated"
}
}
5 · Sayfalama
Listeler varsayılan olarak sayfa başına 25 öğeyle sınırlıdır. Daha uzun bir listede ?page=2, ?page=3 vb. ile gezinin; meta.page ile meta.totalPages eşitlendiğinde durun:
curl -H "Authorization: Bearer $NTN_KEY" \
"https://nodetonet.com/api/v1/proxies?page=2"
Sayfa boyutunu ?perPage=50 ile en fazla 100'e kadar geçersiz kılabilirsiniz — bunun üzerindeki her değer 400 döndürür. Cursor tabanlı sayfalama henüz mevcut değildir; offset sayfalama çoğu hesabın rahatça çalıştığı boyutları karşılar.
6 · Filtreleme ve sorgu parametreleri
Tam listeyi çekmeden sonuçları daraltmak için sorgu parametreleri ekleyin. /proxies'te desteklenenler:
?status=active— yalnızca etkin proxy'ler.?protocol=socks5— yalnızca SOCKS5 proxy'ler.?tokenId=tok_3kzl8w9— belirli bir cihaz token'ına bağlı proxy'ler.
Parametreler birleştirilebilir: ?status=active&protocol=http&page=2. Yanıttaki meta.total filtrelenmiş sayıyı yansıtır, tüm kayıtların toplamını değil.
7 · Tam endpoint yüzeyi
Deseni — Bearer auth, tutarlı zarf, aynı durum kodları — kavradıktan sonra diğer tüm endpoint'ler açıktır. En kullanışlı olanların haritası:
GET /api/v1/proxies # tüm proxy'leri listele
POST /api/v1/proxies # yeni proxy oluştur
GET /api/v1/proxies/<id> # tek proxy getir
PATCH /api/v1/proxies/<id> # başlık, protokol vb. güncelle
DELETE /api/v1/proxies/<id> # sil
GET /api/v1/proxies/<id>/usage # kullanılan bayt, istek sayısı
GET /api/v1/tokens # cihaz token'ları (eşleşmiş telefonlar)
POST /api/v1/tokens/<id>/rotate-ip # IP döndürme tetikle
GET /api/v1/servers # kullanılabilir edge sunucuları
GET /api/v1/balance # peşin kredi + son masraflar
GET /api/v1/clients # müşteri başına proxy kimlik bilgileri
Tam OpenAPI 3.1 spec'i /openapi.json adresindedir. Herhangi bir kod üretecine besleyin; saniyeler içinde seçtiğiniz dilde yazılmış bir client'a sahip olursunuz — elle yazılmış HTTP şablon kodu gerekmez.
8 · Python'da gerçek bir script
Aynı fikrin Python uygulaması — tüm etkin proxy'leri listeleyin, sayfalarda gezin ve her endpoint'i yazdırın. Standart kütüphanesi dışında üçüncü taraf kütüphanesi gerekmez:
import urllib.request, json, os
NTN_KEY = os.environ["NTN_KEY"]
BASE = "https://nodetonet.com/api/v1"
def api_get(path):
req = urllib.request.Request(
BASE + path,
headers={"Authorization": f"Bearer {NTN_KEY}"}
)
with urllib.request.urlopen(req) as r:
return json.loads(r.read())
page, total_pages = 1, 1
while page <= total_pages:
body = api_get(f"/proxies?status=active&page={page}")
total_pages = body["meta"]["totalPages"]
for px in body["data"]:
print(px["protocol"], px["host"], px["port"])
page += 1
Proxy oluşturma ve IP döndürme de dahil daha kapsamlı bir örnek için Python'da programatik tünel oluşturma'ya bakın. Rotating proxy etrafında otomasyon kuruyorsanız, token grupları rehberi cihaz havuzlarını programatik olarak nasıl yöneteceğinizi gösterir.
9 · Gönderim öncesi güvenlik kontrol listesi
- Anahtarı kaynak kontrolüne commit etmeyin. Bir ortam değişkeninden veya sırlar yöneticisinden yükleyin.
- Sızarsa anahtarı hemen döndürün — dashboard eskisini anında geçersiz kılar.
- Son kullanıcı otomasyonu için müşteri token'ları kullanın; böylece her müşteri yalnızca kendi kaynaklarına erişir. Müşteri token'ları ile kişisel anahtarları karşılaştıran yazıya bakın.
- Hız sınırlarına uyun — dakikada 600 istek çoğu otomasyon için cömerttir, ama toplu script'ler 429 geldiğinde çarpmak yerine geri çekilmeli.
- Yıkıcı bir PATCH veya DELETE öncesi ID'leri doğrulayın — listenin beklediğinizi döndürdüğünü teyit etmek için
meta.total'a bakın.
Sırada ne var
- API anahtarınızı anlama — kapsamlar, döndürme ve salt-okunur erişimi paylaşma.
- Python'da programatik tünel oluşturma — aynı endpoint'ler gerçek bir üretim script'inden.
- IP değişiklik olayları için webhook'lar —
/usage'ı döngüde polling yapmak yerine push bildirimleri. - Nodetonet nasıl kullanılır — token'lar, cihazlar, proxy'ler ve faturalama tek bir kılavuzda.
- Tüm platform özellikleri — mobil proxy'ler, rotating havuzlar, geo-hedefleme, HTTP tünel ve daha fazlası.