Vertical Viral

Referência da API

API baseada em envios assíncronos não detectáveis.

Autenticação

Utilize com sua chave secreta vinda do Painel.

Sem repassá-las abertamente no Front.

Cabeçalho
curl -X POST https://verticalviral.io/api/scrape/reelsanalyzer \
  -H "Authorization: Bearer vv_live_xt789..." \
  -H "Content-Type: application/json"

Instagram Reels Analyzer

A rede acede a perfil alvo.

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

Corpo de Requisições

target_usernamestring · required
Sem @. nike
webhook_urlstring · required
Receptor JSON em POST.
depthinteger · optional
30 a 150 max vídeos.
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
  }'

Reposta Síncrona

Guarda o identificador.

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

Corpo de Requisições

target_usernamestring · required
The exact Instagram handle to analyze without the @ symbol.
webhook_urlstring · required
Receptor JSON em POST.

Instagram Comment Scraper

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

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

Corpo de Requisições

target_urlstring · required
The absolute URL of the Instagram Reel or Post to extract comments from.
webhook_urlstring · required
Receptor JSON em POST.

Instagram Media Downloader

Resolves a public post, reel or carousel to its original files and returns a signed download link for every item. This endpoint answers the request itself rather than calling a webhook, because a lookup takes seconds: there is no job_id and nothing to poll. The links point at our own infrastructure, so the media never passes through a third party, and each one serves the file with a Content-Disposition attachment header.

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

Corpo de Requisições

target_urlstring · required
The absolute URL of a public Instagram post, reel or carousel. Any slide's link works for a carousel. Private accounts and stories are not reachable.
test_modeboolean · optional
Runs the lookup without spending a credit, for wiring up an integration.

Response

items[]array
One entry per media item, in the order the slides were posted. Each carries type, width, height, ext, a signed url and a thumbnail. Videos come back as a single progressive MP4 with audio, never a silent video-only stream.
download_allstring | null
A single link that streams the whole gallery as a zip. Null for a post with one item.
expires_atunix seconds
When the signed links stop working, six hours after the call. Fetch the files before then, or call the endpoint again for fresh links.

Gatilho de Recebimento

Aguarde de 20 a 30 segs.

Conteúdo JSON

status"completed" | "failed"
Completo ou falhou com msg.
magnetism_scorefloat (0.0 - 10.0)
0-10 para rank de view
outlier_statusboolean
Estouro com 2.0x a cima do perfil.
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
      }
    ]
  }
}

Erros e Limites

Resumo HTTP

200OK - Sucedido
400Lado do cliente erro.
401Autoridade não encontrada.
429Cota da API atingida.
Feito para a discrição. Pagamentos protegidos pela Lemon Squeezy.