TypeScript Destekli Node.js Entegrasyonu
ProxyTurk Node.js SDK, TypeScript ile tam tip güvenliği sunar. Promise tabanlı API, otomatik retry ve webhook doğrulama helper'ları içerir.
import { ProxyTurk } from '@proxyturk/sdk';const client = new ProxyTurk({ apiKey: process.env.PROXYTURK_API_KEY!,});// Web Scraping (sync)const scrapeResult = await client.scrape({ url: 'https://example.com', formats: ['markdown', 'screenshot'], wait: true,});console.log(scrapeResult.data.markdown);// AI Parser (sync)const parseResult = await client.parse({ url: 'https://example.com/product', prompt: 'Ürün adı, fiyat ve stok durumunu çek', schema: { name: 'string', price: 'number', inStock: 'boolean' }, wait: true,});console.log(parseResult.data);// SERP API (sync)const serpResult = await client.serp({ query: 'en iyi proxy sağlayıcı', engine: 'google', location: 'Turkey', wait: true,});serpResult.data.organic.forEach((item) => { console.log(`${item.position}. ${item.title}`);});Node.js 18+ gerektirir. npm veya yarn ile kurulum:
npm install @proxyturk/sdk # veya yarn add @proxyturk/sdk
TypeScript tip tanımları dahildir, ek @types paketi gerekmez.
ProxyTurk client oluşturun ve ilk isteğinizi gönderin. API key'inizi environment variable olarak saklayın.
wait: true seçeneği ile sonuç hazır olana kadar Promise bekler. Basit script ve küçük projeler için idealdir.
submitParse/submitScrape/submitSerp metodları hemen job_id döner. waitForJob() ile sonucu polling yaparak bekleyebilirsiniz.
verifyWebhook() helper fonksiyonu ile gelen webhook'ların gerçekten ProxyTurk'ten geldiğini doğrulayın.
SDK özel Error sınıfları fırlatır:
- ApiError: Genel API hatası - AuthError: 401/403 authentication hatası - RateLimitError: 429 rate limit aşımı (retryAfter bilgisi içerir) - InsufficientCreditsError: 402 yetersiz kredi - JobTimeoutError: Async job zaman aşımı
Tüm hata sınıfları ApiError'dan türetilir.
Node.js SDK hakkında sorular
Node.js 18 ve üzeri desteklenir. Fetch API kullanıldığı için Node.js 18+ gereklidir.
SDK ESM olarak dağıtılır. CommonJS projelerinde dynamic import ile kullanabilirsiniz: const { ProxyTurk } = await import("@proxyturk/sdk")
Evet, SDK standart Web API'leri (fetch, crypto) kullandığı için Bun ve Deno ile uyumludur.