API-referentie

Overzicht

Met de SNSTracker API kun je monitoring-feeds en -kanalen programmatisch beheren. Je kunt feeds (video's, posts, enz.) en kanalen (accounts, profielen) aanmaken, ze verversen om de nieuwste data op te halen en realtime meldingen ontvangen via webhooks.

Authenticatie

Alle API-verzoeken vereisen authenticatie met een API-sleutel. Voeg je API-sleutel toe in de X-API-Key-header.

Hoe je je API-sleutel krijgt:

  1. Log in op SNSTracker
  2. Ga naar Instellingen → API-sleutels
  3. Maak een nieuwe API-sleutel aan of gebruik een bestaande
  4. Kopieer de API-sleutel (je ziet deze slechts één keer bij het aanmaken)

API-endpoints

1. Feeds aanmaken

Maak monitoring-feeds aan door feed-URL's (video's, posts, enz.) in te dienen.

POST /api/v1/feeds

Request

Headers:

  • X-API-Key: Je API-sleutel (vereist)
  • Content-Type: application/json

Request body:

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

Parameters:

  • urls (vereist): Array met feed-URL's om te monitoren. Maximaal 200 URL's per verzoek.
  • collectionId (optioneel): Collectie-ID waar feeds aan worden toegevoegd. Als niet opgegeven, wordt de standaardcollectie van je team gebruikt.

Response

Succesresponse (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": "Feeds succesvol aangemaakt. Data wordt binnenkort bijgewerkt."
  }
}

Responsevelden:

  • success: Aantal succesvol aangemaakte feeds
  • failed: Aantal mislukte feed-aanmaken
  • total: Totaal aantal opgegeven URL's
  • results: Array met resultaten per URL
    • index: Nulgebaseerde index in de request-array
    • url: De gevalideerde en gestandaardiseerde URL
    • platform: Gedetecteerd platform (tiktok, instagram, youtube, enz.)
    • feedId: Unieke identifier van de aangemaakte feed
    • success: Of de feed succesvol is aangemaakt
    • skipped: (optioneel) Of de feed is overgeslagen omdat deze al bestaat
    • resumed: (optioneel) Of een gestopte feed is hervat
    • error: (optioneel) Foutmelding als aanmaken is mislukt
  • errors: Array met fouten voor mislukte URL's

Voorbeeldrequest

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. Feeds verversen

Ververs bestaande feeds om direct de nieuwste data op te halen. Alleen feeds met status "Pending" of "Tracked" kunnen worden ververst.

POST /api/v1/feeds/refresh

Request

Headers:

  • X-API-Key: Je API-sleutel (vereist)
  • Content-Type: application/json

Request body:

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

Parameters:

  • feedIds (vereist): Array met feed-ID's om te verversen

Response

Succesresponse (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "feedIds": ["feed_abc123xyz", "feed_def456uvw"],
    "total": 2,
    "message": "2 feed(s) succesvol ververst"
  }
}

Responsevelden:

  • success: Of de verversactie succesvol was
  • feedIds: Array met feed-ID's die zijn ververst
  • total: Aantal ververste feeds
  • message: Succesmelding

Voorbeeldrequest

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. Kanalen aanmaken

Maak monitoring-kanalen aan door kanaal-URL's (accountprofielen, enz.) in te dienen.

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: Je API-sleutel (vereist)
  • Content-Type: application/json

Request body:

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

Parameters:

  • urls (vereist): Array met kanaal-URL's om te monitoren. Maximaal 5 URL's per verzoek.
  • collectionId (optioneel): Collectie-ID waar kanalen aan worden toegevoegd. Als niet opgegeven, wordt de standaardcollectie van je team gebruikt.

Response

Succesresponse (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": "Kanalen succesvol aangemaakt. Data wordt binnenkort bijgewerkt."
  }
}

Responsevelden:

  • success: Aantal succesvol aangemaakte kanalen
  • failed: Aantal mislukte kanaal-aanmaken
  • total: Totaal aantal opgegeven URL's
  • results: Array met resultaten per URL
    • index: Nulgebaseerde index in de request-array
    • url: De gevalideerde en gestandaardiseerde URL
    • platform: Gedetecteerd platform (tiktok, instagram, youtube, enz.)
    • channelId: Unieke identifier van het aangemaakte kanaal
    • success: Of het kanaal succesvol is aangemaakt
    • skipped: (optioneel) Of het kanaal is overgeslagen omdat het al bestaat
    • resumed: (optioneel) Of een gestopt kanaal is hervat
    • error: (optioneel) Foutmelding als aanmaken is mislukt
  • errors: Array met fouten voor mislukte URL's

Voorbeeldrequest

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. Kanalen verversen

Ververs bestaande kanalen om direct de nieuwste data op te halen. Alleen kanalen met status "Pending" of "Tracked" kunnen worden ververst.

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: Je API-sleutel (vereist)
  • Content-Type: application/json

Request body:

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

Parameters:

  • channelIds (vereist): Array met kanaal-ID's om te verversen

Response

Succesresponse (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "channelIds": ["channel_abc123xyz", "channel_def456uvw"],
    "total": 2,
    "message": "2 kanaal/kanalen succesvol ververst"
  }
}

Responsevelden:

  • success: Of de verversactie succesvol was
  • channelIds: Array met kanaal-ID's die zijn ververst
  • total: Aantal ververste kanalen
  • message: Succesmelding

Voorbeeldrequest

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. Feed synchroniseren

Synchroniseer feeddata direct vanuit de scrapy-service. Dit endpoint haalt onmiddellijk de nieuwste feeddata op en verbruikt credits bij een succesvolle sync. Alle teamleden en API-sleutels delen één limiet voor alle sync-endpoints. De gedeelde limiet is 1 voor Starter of zonder geldig abonnement, 5 voor Standaard en 10 voor Premium.

⚠️ Belangrijke opmerking: Dit sync-endpoint is standalone en integreert NIET met het webplatform. Sync-operaties zullen:

  • GEEN feed-records aanmaken of bijwerken in het webdashboard
  • NIET verschijnen in je feedlijst of collecties
  • GEEN webhooks of meldingen activeren
  • ALLEEN de opgehaalde data direct in de API-response retourneren

Dit endpoint is bedoeld voor eenmalige data-opvraag via de API. Om persistente monitoring-feeds aan te maken die in het webplatform verschijnen, gebruik je de endpoint Feeds aanmaken.

POST /api/v1/feeds/sync

Request

Headers:

  • X-API-Key: Je API-sleutel (vereist)
  • Content-Type: application/json

Request body:

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

Parameters:

  • url (vereist): Feed-URL om te synchroniseren. Moet een geldige, niet-lege string zijn.

Response

Succesresponse (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": "Videobeschrijving",
      "hashtags": ["tag1", "tag2"],
      "publish_at": 1234567890
    }
  }
}

Responsevelden:

  • success: Of de sync-operatie succesvol was
  • url: De gesynchroniseerde feed-URL
  • feedInfo: Volledige feedinformatie inclusief metrics, beschrijving, hashtags, enz.

Error responses:

  • 429 Too Many Requests: De gedeelde teamlimiet is bereikt. Het verzoek wordt niet in een wachtrij geplaatst.
  • 400 Bad Request: Onvoldoende credits of ongeldige URL

Voorbeeldrequest

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. Kanaal synchroniseren

Synchroniseer kanaaldata direct vanuit de scrapy-service. Dit endpoint haalt onmiddellijk de nieuwste kanaaldata op en verbruikt credits bij een succesvolle sync. Alle teamleden en API-sleutels delen één limiet voor alle sync-endpoints. De gedeelde limiet is 1 voor Starter of zonder geldig abonnement, 5 voor Standaard en 10 voor Premium.

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

⚠️ Belangrijke opmerking: Dit sync-endpoint is standalone en integreert NIET met het webplatform. Sync-operaties zullen:

  • GEEN kanaal-records aanmaken of bijwerken in het webdashboard
  • NIET verschijnen in je kanaallijst of collecties
  • GEEN webhooks of meldingen activeren
  • ALLEEN de opgehaalde data direct in de API-response retourneren

Dit endpoint is bedoeld voor eenmalige data-opvraag via de API. Om persistente monitoring-kanalen aan te maken die in het webplatform verschijnen, gebruik je de endpoint Kanalen aanmaken.

POST /api/v1/channels/sync

Request

Headers:

  • X-API-Key: Je API-sleutel (vereist)
  • Content-Type: application/json

Request body:

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

Parameters:

  • url (vereist): Kanaal-URL om te synchroniseren. Moet een geldige, niet-lege string zijn.

Response

Succesresponse (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": "Gebruikersnaam",
      "description": "Kanaalbeschrijving",
      "followers": 1000000,
      "followings": 2000,
      "likes": 200000000,
      "total_count": 1000,
      "track_count": 1000,
      "status": 1
    }
  }
}

Responsevelden:

  • success: Of de sync-operatie succesvol was
  • url: De gesynchroniseerde kanaal-URL
  • channelInfo: Volledige kanaalinformatie inclusief metrics, beschrijving, enz.

Error responses:

  • 429 Too Many Requests: De gedeelde teamlimiet is bereikt. Het verzoek wordt niet in een wachtrij geplaatst.
  • 400 Bad Request: Onvoldoende credits of ongeldige URL

Voorbeeldrequest

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. Kanaalinhoud synchroniseren

Retourneert één pagina met maximaal 12 items per verzoek voor Instagram en Reels, zonder automatische paginering. instagram bevat afbeeldingen, video’s en carrousels; reels retourneert Reels-video’s.

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 is een optioneel positief geheel getal voor het gewenste aantal items op deze pagina, zonder standaardwaarde. De limieten verschillen per platform: Instagram en Reels geven maximaal 12 items per verzoek terug, mogelijk minder. Zonder deze parameter geldt de standaardpaginagrootte van het platform.
  • Laat cursor weg voor de eerste pagina. Stuur daarna de vorige next_cursor ongewijzigd terug met dezelfde platform en channel_name. Aan het einde: has_more=false, next_cursor=null.
{
  "platform": "instagram",
  "channel_name": "instagram",
  "cursor": "previous-next-cursor"
}

Elke succesvol opgehaalde pagina kost 10 credits, ook lege pagina’s. Alleen mislukte verzoeken zijn gratis; vooraf zijn minimaal 10 credits nodig. De teamlimiet wordt gedeeld met andere sync-API’s en er worden geen dashboardrecords gemaakt.

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.

Statistieken in items, zoals weergaven (view_count), likes (like_count), opgeslagen items (bookmark_count) en reacties (comment_count), zijn afhankelijk van het platform en de gegevens in de kanaallijst. Sommige statistieken zijn niet beschikbaar. Ontbrekende waarden worden als null teruggegeven; dat betekent niet nul.

Om ontbrekende statistieken op te vragen, roept u POST /api/v1/feeds/sync apart aan met de url van het item als het veld url in de aanvraagbody. Deze detailaanvraag wordt apart berekend volgens de regels van dat endpoint. De resultaten hangen af van de gegevens die het platform verstrekt; niet alle ontbrekende statistieken zijn gegarandeerd op te halen.

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. Extra profielinformatie ophalen

POST /api/v1/channels/about/sync

Alleen Instagram en Reels. Dezelfde verplichte url als /api/v1/channels/sync: https://www.instagram.com/lunacut.edit/ of https://www.instagram.com/lunacut.edit/reels/. Geen platform, count of cursor nodig. Berichten en andere platforms worden niet ondersteund.

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/"}'

Elke geslaagde aanvraag kost 80 credits, ook bij null-velden. Fouten zijn gratis; vooraf zijn minstens 80 credits vereist. Gedeelde teamlimiet met alle synchrone API’s: Starter/geen actief abonnement 1, Standard 5, Premium 10. Geen dashboardrecords of webhooks.

Voorbeeldantwoord; velden hangen af van de openbare accountgegevens.

{
  "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: openbaar land/regio, alleen bij country_visible=true, geen actuele IP-locatie. country_visible: zichtbaarheid of null indien onbekend. date_joined: registratiemaand (YYYY-MM) of null indien afwezig/onherkend. date_joined_text: oorspronkelijke datumtekst of null. Geen bio, volgersaantal of eerdere namen.

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

Webhook-integratie

SNSTracker ondersteunt webhooks om realtime meldingen te ontvangen wanneer gemonitorde content aan je ingestelde drempels voldoet. Je kunt webhooks instellen om meldingen te ontvangen over:

  • Feed-updates: Wanneer weergaven, engagement (likes + comments + shares) toenemen boven je drempel
  • Kanaalupdates: Wanneer volgers, gevolgd of likes toenemen boven je drempel

Webhooks instellen

  1. Configureer webhookdoelen in je Collecties-instellingen
  2. Schakel meldingen in in je Collectieconfiguratie
  3. Stel drempels in voor metrics die je wilt monitoren

Voor gedetailleerde instructies voor webhookconfiguratie, raadpleeg de Webhookconfiguratiegids.

Error responses

Alle endpoints kunnen de volgende error responses retourneren:

401 Unauthorized - Missing API Key

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

401 Unauthorized - Invalid API Key

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

400 Bad Request - Invalid Input

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

400 Bad Request - Too Many URLs (Feeds aanmaken)

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

400 Bad Request - Too Many URLs (Kanalen aanmaken)

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

400 Bad Request - Insufficient Credits

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

429 Too Many Requests - Gelijktijdige teamsynchronisatie

{
  "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 - Invalid Collection

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

404 Not Found

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

of

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

Gebruiksvoorbeelden

Python-voorbeeld - Feeds aanmaken

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"Successfully created {result['data']['success']} feeds")
    for feed in result["data"]["results"]:
        print(f"  - {feed['url']}: {feed['feedId']}")
else:
    print(f"Error: {result['message']}")

JavaScript-voorbeeld - Feeds verversen

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(`Successfully refreshed ${result.data.total} feeds`);
  result.data.feedIds.forEach((feedId) => {
    console.log(`  - ${feedId}`);
  });
} else {
  console.error(`Error: ${result.message}`);
}

Belangrijke opmerkingen

  1. URL-validatie: Alle URL's worden automatisch gevalideerd vóór het aanmaken. Ongeldige URL's worden geweigerd.

  2. Dubbele items: Als een item met dezelfde URL al bestaat in de collectie:

    • Als het actief is, wordt het overgeslagen (gemarkeerd met skipped: true)
    • Als het gestopt is, wordt het hervat (gemarkeerd met resumed: true)
  3. Dataverzameling: Na succesvolle aanmaak worden items in de wachtrij gezet voor dataverzameling. Data is kort na aanmaak beschikbaar.

  4. Verversstatus: Alleen items met status "Pending" of "Tracked" kunnen worden ververst. Items met andere statussen worden gefilterd.

  5. Credits: Zorg dat je voldoende credits hebt voordat je verzoeken doet. Sync-operaties verbruiken credits direct bij succesvolle data-ophaling. Xiaohongshu channel tasks are priced separately and currently cost 10 credits per successful request. /api/v1/channels/feeds/sync: Elke succesvol opgehaalde pagina kost 10 credits, ook lege pagina’s. Alleen mislukte verzoeken zijn gratis; vooraf zijn minimaal 10 credits nodig. De teamlimiet wordt gedeeld met andere sync-API’s en er worden geen dashboardrecords gemaakt. /api/v1/channels/about/sync: Elke geslaagde aanvraag kost 80 credits, ook bij null-velden. Fouten zijn gratis; vooraf zijn minstens 80 credits vereist. Gedeelde teamlimiet met alle synchrone API’s: Starter/geen actief abonnement 1, Standard 5, Premium 10. Geen dashboardrecords of webhooks.

  6. Gelijktijdige teamsynchronisatie (/api/v1/feeds/sync + /api/v1/channels/sync + /api/v1/channels/feeds/sync + /api/v1/channels/about/sync): Alle teamleden en API-sleutels delen één limiet voor alle sync-endpoints. De gedeelde limiet is 1 voor Starter of zonder geldig abonnement, 5 voor Standaard en 10 voor Premium. De limiet volgt het momenteel geldige abonnement; een teamspecifieke instelling van de officiële ondersteuning heeft voorrang. Neem voor een hogere teamlimiet contact op met de officiële ondersteuning.

  7. Sync vs Create: De sync-endpoints (/api/v1/feeds/sync en /api/v1/channels/sync + /api/v1/channels/feeds/sync + /api/v1/channels/about/sync) zijn standalone en integreren NIET met het webplatform. Ze retourneren alleen data in de API-response en maken geen records aan in het dashboard. Om persistente monitoring-items aan te maken die in het webplatform verschijnen, gebruik je de Create-endpoints (/api/v1/feeds en /api/v1/channels).

  8. Opnieuw proberen: Wacht na een 429 tot een actief verzoek klaar is en probeer opnieuw met langere tussenpozen volgens Retry-After. Probeer het na een 503 later opnieuw.

  9. Ondersteunde platforms: TikTok, Instagram, YouTube en andere grote socialmediaplatforms.

Problemen oplossen

Probleem: "X-API-Key header is required"
Oplossing: Zorg dat je de X-API-Key-header in je verzoek opneemt.

Probleem: "Invalid API key"
Oplossing: Controleer of je API-sleutel correct is. Je kunt een nieuwe aanmaken via Instellingen → API-sleutels.

Probleem: "Maximum URLs allowed per request"
Oplossing: Verdeel je URL's over meerdere verzoeken. Feeds staan tot 200 URL's toe, kanalen tot 5 URL's per verzoek.

Probleem: "No collection found"
Oplossing: Maak eerst een collectie aan in het dashboard, of specificeer een bestaande collectie-ID.

Probleem: "Insufficient credits"
Oplossing: Koop meer credits of controleer je abonnementsplan.

Probleem: "No refreshable items found"
Oplossing: Alleen items met status "Pending" of "Tracked" kunnen worden ververst. Controleer de status van je items.

Probleem: Sommige URL's falen bij validatie
Oplossing: Controleer de errors-array in de response voor specifieke foutmeldingen. Zorg dat URL's van ondersteunde platforms zijn en publiek toegankelijk.