Vertical Viral

API Referansı

Vertical Viral API, tespit edilmekten tamamen kaçınmak için tasarlanmış başsız (headless) bir mimaridir. Asenkron çalışır: hedefinizi gönderirsiniz ve veri çıkarımı tamamen güvenli bir şekilde sonuçlandığında webhook aracılığıyla sunucularınıza POST ederiz.

Kimlik Doğrulama

Tüm API istekleri bir Bearer token kullanılarak doğrulanmalıdır. Gizli API anahtarınızı oluşturabileceğiniz yer: Geliştirici Paneli.

Gizli anahtarlarınızı asla paylaşmayın. Onları bir kasada saklayın. GitHub'a göndermeyin veya istemci tarafı koduna maruz bırakmayın (örneğin React veya Next.js public değişkenleri).

Authorization Başlığı
curl -X POST https://verticalviral.io/api/scrape/reelsanalyzer \
  -H "Authorization: Bearer vv_live_xt789..." \
  -H "Content-Type: application/json"

Instagram Reels Analyzer

Proxy ağımızda asenkron bir görünmez (stealth) oturum başlatır.

POSThttps://verticalviral.io/api/scrape/reelsanalyzer

İstek Gövdesi (Body)

target_usernamestring · required
Arama yapılacak tam Instagram kullanıcı adı (başında @ işareti olmadan). Örnek: nike
webhook_urlstring · required
Tamamlandığında veya başarısız olduğunda nihai JSON payload'unu POST edeceğimiz HTTPS sunucu uç noktanız. Bir JSON gövdesini kabul etmelidir.
depthinteger · optional
Taranacak Reels sayısı. Varsayılan 30'dur. Maksimum 150. Görünmezliği korumak için derin taramalar daha uzun sürer.
cURL Example
curl -X POST https://verticalviral.io/api/scrape/reelsanalyzer \
  -H "Authorization: Bearer " \
  -H "Content-Type: application/json" \
  -d '{
    "target_username": "mosbius",
    "webhook_url": "https://your-server.com/webhooks/vv",
    "depth": 50
  }'

Eşzamanlı Yanıt (200 OK)

Anlık yanıt görevin tespit edilemez kuyruğa başarıyla eklendiğini onaylar. Webhook tetiklendiğinde ilişkilendirmek için job_id'yi kaydetmelisiniz.

Response
{
  "status": "queued",
  "job_id": "job_8f2b3c4d5e",
  "message": "Extraction started. Data will be sent to your webhook."
}

Instagram Profile Scraper

Collects comprehensive target profile information (subscribers, business flag, public emails, and bio context).

POSThttps://verticalviral.io/api/scrape/profilescraper

İstek Gövdesi (Body)

target_usernamestring · required
The exact Instagram handle to analyze without the @ symbol.
webhook_urlstring · required
Tamamlandığında veya başarısız olduğunda nihai JSON payload'unu POST edeceğimiz HTTPS sunucu uç noktanız. Bir JSON gövdesini kabul etmelidir.

Instagram Comment Scraper

Parses up to 500 top-level comments and replies directly from an Instagram Post URL.

POSThttps://verticalviral.io/api/scrape/commentscraper

İstek Gövdesi (Body)

target_urlstring · required
The absolute URL of the Instagram Reel or Post to extract comments from.
webhook_urlstring · required
Tamamlandığında veya başarısız olduğunda nihai JSON payload'unu POST edeceğimiz HTTPS sunucu uç noktanız. Bir JSON gövdesini kabul etmelidir.

Webhook Teslimatı

Tarama bittiğinde (genellikle 20-30 saniye), sunucularımız belirttiğiniz webhook_url'sine bir HTTP POST isteği atacaktır.

Payload Anahtar Alanları

status"completed" | "failed"
Eğer başarısız olursa, 'data' bloğu yerine bir error_message (hata_mesajı) dizgesi dahil edilir.
magnetism_scorefloat (0.0 - 10.0)
Kullanıcının varsayılan değerleri üzerindeki izlenme hızı ve etkileşim oranlarına dayalı olan, ilgili Reel için tescilli performans endeksimiz.
outlier_statusboolean
Eğer tekil bir Reel, profilin hesaplanan performans ortalamasının 2 katından daha fazla performans gösterirse 'true' olarak değerlendirilir.
Webhook POST Body Example
{
  "id": "job_8f2b3c4d5e",
  "status": "completed",
  "target": "mosbius",
  "data": {
    "profile_stats": {
      "followers": 145200,
      "extracted_emails": ["hello@mosbius.com"]
    },
    "reels": [
      {
        "shortcode": "C9Z8A7X",
        "views": 1245000,
        "likes": 89000,
        "magnetism_score": 9.8,
        "outlier_status": true
      }
    ]
  }
}

Hatalar ve Limitler

İstek durumunu belirten standart HTTP ağ yanıtları.

200OK - İstek başarıyla kuyruğa eklendi.
400Bad Request - Eksik zorunlu parametre veya geçersiz webhook URL.
401Unauthorized - Geçersiz veya eksik Bearer token.
429Too Many Requests - Oran sınırı aşıldı. (120 istek/dk).
Görünmezlik için üretildi. Güvenlik sağlayıcısı Stripe.