Vertical Viral

Référence de l'API

L'API de Vertical Viral est conçu pour l'extraction asynchrone des algorithmes secrets.

Authentification

Tous les appels doivent utiliser votre jeton. Accès: Dashboard API.

Ne jamais dévoiler votre clé secrète. Protégez-la.

En-tête Authorization
curl -X POST https://verticalviral.io/api/scrape/reelsanalyzer \
  -H "Authorization: Bearer vv_live_xt789..." \
  -H "Content-Type: application/json"

Instagram Reels Analyzer

Créer une session invisible de manière asynchrone.

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

Corps de Requête

target_usernamestring · required
Handle Instagram sans @. Ex: nike
webhook_urlstring · required
Endpoint pour la réception de votre POST JSON.
depthinteger · optional
Nombre de Reels. (Défaut 30, max 150).
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
  }'

Réponse Immédiate (200 OK)

La confirmation retourne le job_id à sauvegarder en base de données.

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

Corps de Requête

target_usernamestring · required
The exact Instagram handle to analyze without the @ symbol.
webhook_urlstring · required
Endpoint pour la réception de votre POST JSON.

Instagram Comment Scraper

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

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

Corps de Requête

target_urlstring · required
The absolute URL of the Instagram Reel or Post to extract comments from.
webhook_urlstring · required
Endpoint pour la réception de votre POST JSON.

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

Corps de Requête

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.

Attente d'Événement

Il enverra les données (en général 20 sec).

Clés Principales

status"completed" | "failed"
Échec possible via error_message.
magnetism_scorefloat (0.0 - 10.0)
Score magnétique en proportion (0-10).
outlier_statusboolean
Indique true si les vues ont dépassé X2 de la moyenne absolue.
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
      }
    ]
  }
}

Erreurs et Limites

Signaux HTTP.

200OK - Succès de la file d'attente.
400Bad Request - Paramètre manquant.
401Unauthorized - Jeton manquant.
429Too Many Requests - Quota.
Conçu pour la discrétion. Paiements sécurisés par Lemon Squeezy.