Riferimento API

Panoramica

L’API di SNSTracker ti consente di gestire programmaticamente feed e canali di monitoraggio. Puoi creare feed (video, post, ecc.) e canali (account, profili), aggiornarli per ottenere i dati più recenti e ricevere notifiche in tempo reale tramite webhook.

Autenticazione

Tutte le richieste API richiedono l’autenticazione tramite una chiave API. Includi la tua chiave API nell’header X-API-Key.

Come ottenere la tua chiave API:

  1. Accedi a SNSTracker
  2. Vai su Impostazioni → API Keys
  3. Crea una nuova chiave API o usa una esistente
  4. Copia la chiave API (la vedrai solo una volta al momento della creazione)

Endpoint API

1. Crea feed

Crea feed di monitoraggio inviando URL di feed (video, post, ecc.).

POST /api/v1/feeds

Request

Headers:

  • X-API-Key: La tua chiave API (obbligatorio)
  • Content-Type: application/json

Request Body:

{
  "urls": [
    "https://www.tiktok.com/@user/video/1234567890",
    "https://www.instagram.com/p/ABC123/"
  ],
  "collectionId": "coll_abc123xyz"
}

Parametri:

  • urls (obbligatorio): Array di URL dei feed da monitorare. Massimo 200 URL per richiesta.
  • collectionId (opzionale): ID della collezione in cui verranno aggiunti i feed. Se non fornito, verrà usata la collezione predefinita del tuo team.

Response

Risposta di successo (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": 2,
    "failed": 0,
    "total": 2,
    "results": [
      {
        "index": 0,
        "url": "https://www.tiktok.com/@user/video/1234567890",
        "platform": "tiktok",
        "feedId": "feed_abc123xyz",
        "success": true
      },
      {
        "index": 1,
        "url": "https://www.instagram.com/p/ABC123/",
        "platform": "instagram",
        "feedId": "feed_def456uvw",
        "success": true
      }
    ],
    "errors": [],
    "message": "Feed creati con successo. I dati saranno aggiornati a breve."
  }
}

Campi della risposta:

  • success: Numero di feed creati con successo
  • failed: Numero di creazioni feed fallite
  • total: Numero totale di URL forniti
  • results: Array dei risultati per ciascun URL
    • index: Indice a base zero nell’array della richiesta
    • url: URL validato e standardizzato
    • platform: Piattaforma rilevata (tiktok, instagram, youtube, ecc.)
    • feedId: Identificatore univoco del feed creato
    • success: Indica se il feed è stato creato correttamente
    • skipped: (opzionale) Indica se il feed è stato saltato perché già esistente
    • resumed: (opzionale) Indica se un feed interrotto è stato ripreso
    • error: (opzionale) Messaggio di errore se la creazione è fallita
  • errors: Array di errori per gli URL non riusciti

Esempio di richiesta

curl -X POST https://snstracker.com/api/v1/feeds \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "https://www.tiktok.com/@user/video/1234567890"
    ]
  }'

2. Aggiorna feed

Aggiorna i feed esistenti per ottenere immediatamente i dati più recenti. Solo i feed con stato "Pending" o "Tracked" possono essere aggiornati.

POST /api/v1/feeds/refresh

Request

Headers:

  • X-API-Key: La tua chiave API (obbligatorio)
  • Content-Type: application/json

Request Body:

{
  "feedIds": ["feed_abc123xyz", "feed_def456uvw"]
}

Parametri:

  • feedIds (obbligatorio): Array di ID feed da aggiornare

Response

Risposta di successo (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "feedIds": ["feed_abc123xyz", "feed_def456uvw"],
    "total": 2,
    "message": "Aggiornati con successo 2 feed"
  }
}

Campi della risposta:

  • success: Indica se l’operazione di aggiornamento è riuscita
  • feedIds: Array degli ID dei feed aggiornati
  • total: Numero di feed aggiornati
  • message: Messaggio di successo

Esempio di richiesta

curl -X POST https://snstracker.com/api/v1/feeds/refresh \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "feedIds": ["feed_abc123xyz"]
  }'

3. Crea canali

Crea canali di monitoraggio inviando URL dei canali (profili account, ecc.).

Channel pricing note: Xiaohongshu channel tasks are priced separately from the default channel task price and currently cost 10 credits per successful request.

POST /api/v1/channels

Request

Headers:

  • X-API-Key: La tua chiave API (obbligatorio)
  • Content-Type: application/json

Request Body:

{
  "urls": [
    "https://www.tiktok.com/@username",
    "https://www.instagram.com/username/"
  ],
  "collectionId": "coll_abc123xyz"
}

Parametri:

  • urls (obbligatorio): Array di URL dei canali da monitorare. Massimo 5 URL per richiesta.
  • collectionId (opzionale): ID della collezione in cui verranno aggiunti i canali. Se non fornito, verrà usata la collezione predefinita del tuo team.

Response

Risposta di successo (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": 2,
    "failed": 0,
    "total": 2,
    "results": [
      {
        "index": 0,
        "url": "https://www.tiktok.com/@username",
        "platform": "tiktok",
        "channelId": "channel_abc123xyz",
        "success": true
      },
      {
        "index": 1,
        "url": "https://www.instagram.com/username/",
        "platform": "instagram",
        "channelId": "channel_def456uvw",
        "success": true
      }
    ],
    "errors": [],
    "message": "Canali creati con successo. I dati saranno aggiornati a breve."
  }
}

Campi della risposta:

  • success: Numero di canali creati con successo
  • failed: Numero di creazioni canali fallite
  • total: Numero totale di URL forniti
  • results: Array dei risultati per ciascun URL
    • index: Indice a base zero nell’array della richiesta
    • url: URL validato e standardizzato
    • platform: Piattaforma rilevata (tiktok, instagram, youtube, ecc.)
    • channelId: Identificatore univoco del canale creato
    • success: Indica se il canale è stato creato correttamente
    • skipped: (opzionale) Indica se il canale è stato saltato perché già esistente
    • resumed: (opzionale) Indica se un canale interrotto è stato ripreso
    • error: (opzionale) Messaggio di errore se la creazione è fallita
  • errors: Array di errori per gli URL non riusciti

Esempio di richiesta

curl -X POST https://snstracker.com/api/v1/channels \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "https://www.tiktok.com/@username"
    ]
  }'

4. Aggiorna canali

Aggiorna i canali esistenti per ottenere immediatamente i dati più recenti. Solo i canali con stato "Pending" o "Tracked" possono essere aggiornati.

Channel pricing note: Xiaohongshu channel tasks are priced separately from the default channel task price and currently cost 10 credits per successful request.

POST /api/v1/channels/refresh

Request

Headers:

  • X-API-Key: La tua chiave API (obbligatorio)
  • Content-Type: application/json

Request Body:

{
  "channelIds": ["channel_abc123xyz", "channel_def456uvw"]
}

Parametri:

  • channelIds (obbligatorio): Array di ID canale da aggiornare

Response

Risposta di successo (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "channelIds": ["channel_abc123xyz", "channel_def456uvw"],
    "total": 2,
    "message": "Aggiornati con successo 2 canali"
  }
}

Campi della risposta:

  • success: Indica se l’operazione di aggiornamento è riuscita
  • channelIds: Array degli ID dei canali aggiornati
  • total: Numero di canali aggiornati
  • message: Messaggio di successo

Esempio di richiesta

curl -X POST https://snstracker.com/api/v1/channels/refresh \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "channelIds": ["channel_abc123xyz"]
  }'

5. Sincronizza feed

Sincronizza i dati dei feed direttamente dal servizio di scraping. Questo endpoint recupera immediatamente i dati più recenti e consuma crediti al completamento della sincronizzazione. Tutti i membri e le chiavi API del team condividono un unico limite tra tutti gli endpoint di sync. Il limite condiviso è 1 per Starter o senza abbonamento valido, 5 per Standard e 10 per Premium.

⚠️ Nota importante: Questo endpoint di sync è autonomo e NON si integra con la piattaforma web. Le operazioni di sync:

  • NON creeranno o aggiorneranno record feed nella dashboard web
  • NON appariranno nell’elenco feed o nelle collezioni
  • NON attiveranno webhook o notifiche
  • SOLO restituiranno i dati recuperati direttamente nella risposta API

Questo endpoint è progettato per un recupero dati una tantum via API. Per creare feed di monitoraggio persistenti che appaiono nella piattaforma web, usa invece l’endpoint Crea feed.

POST /api/v1/feeds/sync

Request

Headers:

  • X-API-Key: La tua chiave API (obbligatorio)
  • Content-Type: application/json

Request Body:

{
  "url": "https://www.tiktok.com/@user/video/1234567890"
}

Parametri:

  • url (obbligatorio): URL del feed da sincronizzare. Deve essere una stringa valida e non vuota.

Response

Risposta di successo (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "url": "https://www.tiktok.com/@user/video/1234567890",
    "feedInfo": {
      "feed_id": "1234567890",
      "platform": 1,
      "platform_name": "tiktok",
      "url": "https://www.tiktok.com/@user/video/1234567890",
      "views": 1000000,
      "likes": 200000,
      "comments": 1000,
      "shares": 2000,
      "bookmarks": 200,
      "engagement": 512000,
      "description": "Video description",
      "hashtags": ["tag1", "tag2"],
      "publish_at": 1234567890
    }
  }
}

Campi della risposta:

  • success: Indica se l’operazione di sincronizzazione è riuscita
  • url: URL del feed sincronizzato
  • feedInfo: Informazioni complete del feed, inclusi metriche, descrizione, hashtag, ecc.

Risposte di errore:

  • 429 Too Many Requests: È stato raggiunto il limite condiviso del team. La richiesta non viene accodata.
  • 400 Bad Request: Crediti insufficienti o URL non valido

Esempio di richiesta

curl -X POST https://snstracker.com/api/v1/feeds/sync \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.tiktok.com/@user/video/1234567890"
  }'

6. Sincronizza canale

Sincronizza i dati dei canali direttamente dal servizio di scraping. Questo endpoint recupera immediatamente i dati più recenti e consuma crediti al completamento della sincronizzazione. Tutti i membri e le chiavi API del team condividono un unico limite tra tutti gli endpoint di sync. Il limite condiviso è 1 per Starter o senza abbonamento valido, 5 per Standard e 10 per Premium.

Channel pricing note: Xiaohongshu channel tasks are priced separately from the default channel task price and currently cost 10 credits per successful request.

⚠️ Nota importante: Questo endpoint di sync è autonomo e NON si integra con la piattaforma web. Le operazioni di sync:

  • NON creeranno o aggiorneranno record canale nella dashboard web
  • NON appariranno nell’elenco canali o nelle collezioni
  • NON attiveranno webhook o notifiche
  • SOLO restituiranno i dati recuperati direttamente nella risposta API

Questo endpoint è progettato per un recupero dati una tantum via API. Per creare canali di monitoraggio persistenti che appaiono nella piattaforma web, usa invece l’endpoint Crea canali.

POST /api/v1/channels/sync

Request

Headers:

  • X-API-Key: La tua chiave API (obbligatorio)
  • Content-Type: application/json

Request Body:

{
  "url": "https://www.tiktok.com/@username"
}

Parametri:

  • url (obbligatorio): URL del canale da sincronizzare. Deve essere una stringa valida e non vuota.

Response

Risposta di successo (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "url": "https://www.tiktok.com/@username",
    "channelInfo": {
      "id": "1234567890",
      "platform": 1,
      "platform_name": "tiktok",
      "username": "username",
      "nickname": "User Name",
      "description": "Channel description",
      "followers": 1000000,
      "followings": 2000,
      "likes": 200000000,
      "total_count": 1000,
      "track_count": 1000,
      "status": 1
    }
  }
}

Campi della risposta:

  • success: Indica se l’operazione di sincronizzazione è riuscita
  • url: URL del canale sincronizzato
  • channelInfo: Informazioni complete del canale, inclusi metriche, descrizione, ecc.

Risposte di errore:

  • 429 Too Many Requests: È stato raggiunto il limite condiviso del team. La richiesta non viene accodata.
  • 400 Bad Request: Crediti insufficienti o URL non valido

Esempio di richiesta

curl -X POST https://snstracker.com/api/v1/channels/sync \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.tiktok.com/@username"
  }'

7. Sincronizzare i contenuti del canale

Restituisce una pagina con al massimo 12 elementi per richiesta per Instagram e Reels, senza paginazione automatica. instagram include immagini, video e caroselli; reels restituisce video Reels.

POST /api/v1/channels/feeds/sync
X-API-Key: your-api-key
Content-Type: application/json

Request and pagination

{
  "platform": "instagram",
  "channel_name": "instagram"
}
  • count è un intero positivo facoltativo che indica il numero desiderato di elementi in questa pagina, senza valore predefinito. I limiti dipendono dalla piattaforma: Instagram e Reels restituiscono al massimo 12 elementi per richiesta, talvolta meno. Se omesso, viene usata la dimensione di pagina predefinita della piattaforma.
  • Omettere cursor per la prima pagina. Per la successiva inviare il precedente next_cursor invariato, mantenendo platform e channel_name. Alla fine: has_more=false, next_cursor=null.
{
  "platform": "instagram",
  "channel_name": "instagram",
  "cursor": "previous-next-cursor"
}

Ogni pagina ottenuta correttamente costa 10 crediti, incluse le pagine vuote. Solo le richieste non riuscite sono gratuite; prima della richiesta servono almeno 10 crediti. La concorrenza del team è condivisa con le altre API di sincronizzazione e non vengono creati record nella dashboard.

Response example (placeholder cursor) — reels, lunacut.edit, count=1

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "platform": "reels",
    "channel_name": "lunacut.edit",
    "channel_url": "https://www.instagram.com/lunacut.edit/",
    "requested_count": 1,
    "returned_count": 1,
    "has_more": true,
    "next_cursor": "cursor-from-response",
    "items": [
      {
        "feed_id": "4009169989985582972",
        "platform": 5,
        "platform_name": "reels",
        "type": "video",
        "url": "https://www.instagram.com/reel/Dejbt1JPz98/",
        "author_username": "lunacut.edit",
        "publish_at": 1792150387,
        "duration": 70.077,
        "view_count": 310475
      }
    ]
  }
}

platform and channel_name are required. channel_name is the username, not the display name; leading @ is accepted and dots are preserved. requested_count is null when count is omitted; returned_count equals items.length. Unknown metrics/timestamps are null. Posts may lack timestamps and carousel details. items uses the existing feed fields, including video_url, image_urls and cover_url; the example shows only selected fields. publish_at is Unix seconds and duration is seconds. Upstream order is preserved, without a most-popular sorting option; deduplicate across pages by feed_id. Empty pages can still have a next cursor; a carousel counts as one post.

Le metriche in items, come visualizzazioni (view_count), Mi piace (like_count), salvataggi (bookmark_count) e commenti (comment_count), dipendono dalla piattaforma e dai dati del suo elenco di contenuti. Alcune possono non essere disponibili. Le metriche non disponibili vengono restituite come null, che non significa zero.

Per cercare le metriche mancanti nell’elenco, chiama separatamente POST /api/v1/feeds/sync, passando l’url dell’elemento nel campo url del corpo della richiesta. La richiesta di dettaglio viene addebitata separatamente secondo le regole di tale endpoint. I risultati dipendono dai dati forniti dalla piattaforma; non è garantito il recupero di tutte le metriche mancanti.

HTTP: 400 invalid input/cursor or insufficient initial credits; 401 invalid API key; 403 disabled team or inaccessible channel; 402 insufficient credits at settlement; 429 team concurrency limit (Retry-After: 1); 502 upstream/invalid page; 503 service unavailable; 504 timeout.

8. Ottenere informazioni aggiuntive del profilo

POST /api/v1/channels/about/sync

Solo Instagram e Reels. Stesso url obbligatorio di /api/v1/channels/sync: https://www.instagram.com/lunacut.edit/ oppure https://www.instagram.com/lunacut.edit/reels/. Non servono platform, count o cursor. Post e altre piattaforme non sono supportati.

curl -X POST https://snstracker.com/api/v1/channels/about/sync \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.instagram.com/lunacut.edit/"}'

Ogni richiesta riuscita costa 80 crediti, anche con campi null. Gli errori non vengono addebitati; servono almeno 80 crediti prima della richiesta. Concorrenza condivisa con le altre API sincrone del team: Starter/nessun abbonamento attivo 1, Standard 5, Premium 10. Nessun record o webhook creato.

Risposta di esempio; i campi dipendono dalle informazioni pubbliche del profilo.

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "url": "https://www.instagram.com/lunacut.edit/",
    "channelAbout": {
      "platform": 6,
      "platform_name": "instagram",
      "username": "lunacut.edit",
      "channel_url": "https://www.instagram.com/lunacut.edit/",
      "country": "Brazil",
      "country_visible": true,
      "date_joined": "2020-05",
      "date_joined_text": "May 2020"
    }
  }
}

country: paese/regione pubblico, solo con country_visible=true, non la posizione IP in tempo reale. country_visible: visibilità, oppure null se ignota. date_joined: mese di iscrizione (YYYY-MM) o null se assente/non riconosciuto. date_joined_text: testo originale o null. Bio, follower e nomi precedenti non inclusi.

400 / 401 / 402 / 403 / 429 (Retry-After: 1) / 502 / 503 / 504.

Integrazione webhook

SNSTracker supporta webhook per ricevere notifiche in tempo reale quando i contenuti monitorati soddisfano le soglie configurate. Puoi configurare i webhook per ricevere notifiche su:

  • Aggiornamenti feed: Quando le visualizzazioni o il coinvolgimento (like + commenti + condivisioni) aumentano oltre la tua soglia
  • Aggiornamenti canale: Quando follower, seguiti o like aumentano oltre la tua soglia

Configurazione dei webhook

  1. Configura i target webhook nelle impostazioni delle Collezioni
  2. Abilita le notifiche nella configurazione della Collezione
  3. Imposta le soglie per le metriche che vuoi monitorare

Per istruzioni dettagliate sulla configurazione dei webhook, consulta la Guida alla configurazione dei webhook.

Risposte di errore

Tutti gli endpoint possono restituire le seguenti risposte di errore:

401 Unauthorized - Chiave API mancante

{
  "code": -1,
  "message": "X-API-Key header is required"
}

401 Unauthorized - Chiave API non valida

{
  "code": -1,
  "message": "Invalid API key"
}

400 Bad Request - Input non valido

{
  "code": -1,
  "message": "Invalid request: urls must be an array"
}

400 Bad Request - Troppi URL (Crea feed)

{
  "code": -1,
  "message": "Maximum 200 URLs allowed per request"
}

400 Bad Request - Troppi URL (Crea canali)

{
  "code": -1,
  "message": "Maximum 200 URLs allowed per request"
}

400 Bad Request - Crediti insufficienti

{
  "code": -1,
  "message": "Insufficient credits. Required: 10, Available: 5"
}

429 Too Many Requests - Concorrenza di sincronizzazione del team

{
  "code": -1,
  "message": "Maximum concurrent sync requests (1) reached for this team. Currently active: 1. Wait for a request to complete, or contact official support to increase the limit."
}

403 Forbidden - Collezione non valida

{
  "code": -1,
  "message": "Collection not found or does not belong to your team"
}

404 Not Found

{
  "code": -1,
  "message": "No feeds found"
}

oppure

{
  "code": -1,
  "message": "No channels found"
}

Esempi di utilizzo

Esempio Python - Crea feed

import requests

url = "https://snstracker.com/api/v1/feeds"
headers = {
    "X-API-Key": "your-api-key-here",
    "Content-Type": "application/json"
}
data = {
    "urls": [
        "https://www.tiktok.com/@user/video/1234567890",
        "https://www.instagram.com/p/ABC123/"
    ]
}

response = requests.post(url, json=data, headers=headers)
result = response.json()

if result["code"] == 0:
    print(f"Creati con successo {result['data']['success']} feed")
    for feed in result["data"]["results"]:
        print(f"  - {feed['url']}: {feed['feedId']}")
else:
    print(f"Errore: {result['message']}")

Esempio JavaScript - Aggiorna feed

const response = await fetch('https://snstracker.com/api/v1/feeds/refresh', {
  method: 'POST',
  headers: {
    'X-API-Key': 'your-api-key-here',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    feedIds: ['feed_abc123xyz', 'feed_def456uvw'],
  }),
});

const result = await response.json();

if (result.code === 0) {
  console.log(`Aggiornati con successo ${result.data.total} feed`);
  result.data.feedIds.forEach((feedId) => {
    console.log(`  - ${feedId}`);
  });
} else {
  console.error(`Errore: ${result.message}`);
}

Note importanti

  1. Validazione URL: Tutti gli URL vengono automaticamente validati prima della creazione. Gli URL non validi verranno rifiutati.

  2. Elementi duplicati: Se un elemento con lo stesso URL esiste già nella collezione:

    • Se è attivo, verrà saltato (contrassegnato con skipped: true)
    • Se è interrotto, verrà ripreso (contrassegnato con resumed: true)
  3. Raccolta dati: Dopo la creazione riuscita, gli elementi vengono messi in coda per la raccolta dati. I dati saranno disponibili poco dopo la creazione.

  4. Stato di aggiornamento: Solo gli elementi con stato "Pending" o "Tracked" possono essere aggiornati. Gli elementi con altri stati verranno esclusi.

  5. Crediti: Assicurati di avere crediti sufficienti prima di effettuare le richieste. Le operazioni di sync consumano crediti immediatamente al recupero dei dati riuscito. Xiaohongshu channel tasks are priced separately and currently cost 10 credits per successful request. /api/v1/channels/feeds/sync: Ogni pagina ottenuta correttamente costa 10 crediti, incluse le pagine vuote. Solo le richieste non riuscite sono gratuite; prima della richiesta servono almeno 10 crediti. La concorrenza del team è condivisa con le altre API di sincronizzazione e non vengono creati record nella dashboard. /api/v1/channels/about/sync: Ogni richiesta riuscita costa 80 crediti, anche con campi null. Gli errori non vengono addebitati; servono almeno 80 crediti prima della richiesta. Concorrenza condivisa con le altre API sincrone del team: Starter/nessun abbonamento attivo 1, Standard 5, Premium 10. Nessun record o webhook creato.

  6. Concorrenza di sincronizzazione del team (/api/v1/feeds/sync + /api/v1/channels/sync + /api/v1/channels/feeds/sync + /api/v1/channels/about/sync): Tutti i membri e le chiavi API del team condividono un unico limite tra tutti gli endpoint di sync. Il limite condiviso è 1 per Starter o senza abbonamento valido, 5 per Standard e 10 per Premium. Il limite segue l’abbonamento attualmente valido; un’impostazione specifica del team definita dal supporto ufficiale ha la precedenza. Per aumentare il limite del team, contatta il supporto ufficiale.

  7. Sync vs Create: Gli endpoint di sync (/api/v1/feeds/sync e /api/v1/channels/sync + /api/v1/channels/feeds/sync + /api/v1/channels/about/sync) sono autonomi e NON si integrano con la piattaforma web. Restituiscono solo i dati nella risposta API e non creano record nella dashboard. Per creare elementi di monitoraggio persistenti che appaiono nella piattaforma web, usa invece gli endpoint di creazione (/api/v1/feeds e /api/v1/channels).

  8. Nuovi tentativi: Dopo un 429, attendi il completamento di una richiesta attiva e riprova a intervalli crescenti rispettando Retry-After. Dopo un 503, riprova più tardi.

  9. Piattaforme supportate: TikTok, Instagram, YouTube e altre principali piattaforme di social media.

Risoluzione dei problemi

Problema: "X-API-Key header is required"
Soluzione: Assicurati di includere l’header X-API-Key nella richiesta.

Problema: "Invalid API key"
Soluzione: Verifica che la tua chiave API sia corretta. Puoi crearne una nuova da Impostazioni → API Keys.

Problema: "Maximum URLs allowed per request"
Soluzione: Suddividi gli URL in più richieste. I feed consentono fino a 200 URL, i canali fino a 5 URL per richiesta.

Problema: "No collection found"
Soluzione: Crea prima una collezione nella dashboard oppure specifica un ID collezione esistente.

Problema: "Insufficient credits"
Soluzione: Acquista più crediti o verifica il tuo piano di abbonamento.

Problema: "No refreshable items found"
Soluzione: Solo gli elementi con stato "Pending" o "Tracked" possono essere aggiornati. Controlla lo stato dei tuoi elementi.

Problema: Alcuni URL non superano la validazione
Soluzione: Controlla l’array errors nella risposta per messaggi di errore specifici. Assicurati che gli URL siano di piattaforme supportate e accessibili pubblicamente.