jsonscraper
Markten
Terug naar het journaal

Vergelijk IG-profielen met campagnebriefings op controleerbare velden

Maak van een accountlijst een reproduceerbare controle met de IG Scraper API en Python

Redactioneel beleid Een fout melden

Vóór de start van een campagne kun je elk IG-account uit de briefing automatisch vergelijken met openbare profielgegevens. Zo’n controle spoort afwijkende gebruikersnamen, een privéstatus, gewijzigde namen of biografieën en aantallen berichten buiten het verwachte bereik op. Het resultaat is een controletabel voor de marketeer, geen automatische beoordeling van de geschiktheid van de maker.

Artikel: Vergelijk IG-profielen met campagnebriefings op controleerbare velden
Samenvatting: Controleer openbare IG-profielen vóór de start van een campagne: haal gegevens op via de gebruikersnaam, vergelijk ze met de briefing en rapporteer afwijkingen zonder ontbrekende gegevens als nulwaarden te behandelen.
Beeldrol: omslag — het centrale idee
Sectie: 
Visueel onderwerp: Redactionele foto: een gedrukte influencer-campagnebriefing en een compact CSV-validatierapport op een bureau, met profielgegevens weergegeven als eenvoudige neutrale kaarten voor gebruik
De controle vergelijkt de vereisten uit de briefing met specifieke openbare profielvelden.© jsonscraper · gemaakt met AI

Het probleem: een briefing veroudert sneller dan een spreadsheet

Een campagnelijst kan de accountnaam, een link, een indicatie van het aantal volgers en vereisten voor het openbare profiel bevatten. Die gegevens kunnen gemakkelijk uiteenlopen: een account verandert van gebruikersnaam, een profiel wordt privé en de cijfers in de briefing blijven ongewijzigd. Eén profiel handmatig controleren is eenvoudig; een lijst met accounts vóór elke campagne opnieuw nalopen is lastiger te beheren en reproduceerbaar uit te voeren.

Een nuttige aanpak is om voor elke rij expliciete regels vast te leggen, de beschikbare openbare velden op het moment van controle op te halen en de oorspronkelijke en actuele waarden naast elkaar te noteren. ‘Komt overeen’ betekent dan alleen dat een specifiek veld aan een specifieke regel voldoet; een specialist blijft verantwoordelijk voor de beoordeling van de doelgroep of de kwaliteit van de content.

Welke gegevens je opvraagt

De documentatie van de IG API-routes beschrijft de route GET /v1/user/by/username, met de verplichte parameter username. In het gecontroleerde antwoord staan de profielgegevens in het object ig: daarin staan de gebruikersnaam, volledige naam, biografie, privacy- en verificatiestatus, en het aantal berichten, volgers en gevolgde accounts. Deze velden beschrijven een momentopname van het beschikbare profiel.

Voor een eerste controle volstaat dit om de accountnaam, privacystatus en numerieke drempelwaarden te vergelijken. Je kunt de biografie aan de medewerker tonen of controleren met een eenvoudige regel, zoals de aanwezigheid van een verplichte term. Zo’n tekstfilter vindt een tekenreeks, maar beoordeelt op zichzelf niet de betekenis en bevestigt niet dat aan contractuele voorwaarden is voldaan.

De aanvraag in Python opnemen

Sla eerst de licentiesleutel op in de omgevingsvariabele JSONSCRAPER_INSTAGRAM_LICENSE_KEY. Het voorbeeld gebruikt het bevestigde basisadres, de route, de parameter username en de sleutelnaam license_key. Het CSV-bestand bevat de velden username,min_followers,max_followers,require_public; voor elk account vergelijkt het script het antwoord met de regels en markeert het rijen die moeten worden gecontroleerd.

import csv
import os
import sys
import requests

BASE_URL = "https://ig.jsonscraper.com"
API_KEY = os.environ.get("JSONSCRAPER_INSTAGRAM_LICENSE_KEY")
if not API_KEY:
    raise SystemExit("Set JSONSCRAPER_INSTAGRAM_LICENSE_KEY")

# brief.csv: username,min_followers,max_followers,require_public
with open("brief.csv", newline="", encoding="utf-8") as source:
    brief = list(csv.DictReader(source))

results = []
for row in brief:
    username = row.get("username", "").strip()
    minimum_text = row.get("min_followers", "").strip()
    if not username or not minimum_text:
        results.append({
            "requested_username": username,
            "needs_review": True,
            "error": "Missing username or min_followers",
        })
        continue

    try:
        response = requests.get(
            f"{BASE_URL}/v1/user/by/username",
            params={"username": username, "license_key": API_KEY},
            timeout=30,
        )
        response.raise_for_status()
        payload = response.json()
        if payload.get("status") != "ok" or not isinstance(payload.get("ig"), dict):
            raise ValueError("Unexpected API response")
        profile = payload["ig"]

        followers = profile.get("follower_count")
        minimum = int(minimum_text)
        maximum_text = row.get("max_followers", "").strip()
        maximum = int(maximum_text) if maximum_text else None
        public_required = row.get("require_public", "").strip().lower() == "true"

        checks = {
            "username_matches": (
                isinstance(profile.get("username"), str)
                and profile["username"].lower() == username.lstrip("@").lower()
            ),
            "followers_in_range": (
                isinstance(followers, int)
                and followers >= minimum
                and (maximum is None or followers

Uitvoeren: python check_profiles.py. Installeer de bibliotheek requests, stel de omgevingsvariabele in de uitvoeromgeving in en plaats brief.csv in dezelfde map. Sla de sleutel niet op in de broncode of het uiteindelijke CSV-bestand. Het script verwerkt de lijst achtereenvolgens, wat handig is om kleine groepen accounts te controleren en fouten op te sporen.

Waarom ontbrekende gegevens zichtbaar moeten blijven

Bij de controles is het belangrijk onderscheid te maken tussen een nulwaarde en een ontbrekend veld. In het voorbeeld telt het aantal volgers alleen als passend wanneer er een numeriek veld aanwezig is; als de teller ontbreekt, is de voorwaarde niet bevestigd en wordt de vermelding handmatig gecontroleerd. Een lege drempelwaarde voor min_followers wordt eveneens gemarkeerd als invoerfout, en niet automatisch omgezet in nul.

Het controleren van het antwoord hoort onderdeel te zijn van de workflow. Het script controleert eerst of de externe status gelijk is aan ok en kijkt daarna of het object ig aanwezig is. Een HTTP-fout, onverwachte JSON of ongeldige regel komt in het rapport terecht zonder de tekst van de uitzondering, die de sleutel in de URL zou kunnen prijsgeven. Zo kan de medewerker een aanvraagfout onderscheiden van een profielafwijking, zonder het geheim te verspreiden.

Het resultaat lezen en de controle automatiseren

Het bestand profile_check.csv bevat de oorspronkelijke gebruikersnaam, de geretourneerde naam, beschikbare openbare velden, de resultaten van afzonderlijke voorwaarden en de algemene markering needs_review. Het team kan op deze markering filteren; een ontwikkelaar kan het rapport opslaan in een gegevensopslag of doorgeven aan de volgende stap in een ETL-proces. Plan het script voor periodieke uitvoering in en sla de uitvoerdatum apart op, zodat campagneopnamen kunnen worden vergeleken.

Artikel: Vergelijk IG-profielen met campagnebriefings op controleerbare velden
Samenvatting: Controleer openbare IG-profielen vóór de start van een campagne: haal gegevens op via de gebruikersnaam, vergelijk ze met de briefing en rapporteer afwijkingen zonder ontbrekende gegevens als nulwaarden te behandelen.
Beeldrol: ondersteunende illustratie 2 — een ander specifiek aspect
Sectie: Het resultaat lezen en de controle automatiseren
Visueel onderwerp: Infografiek in het Russisch met de workflow: CSV-briefingregels → GET /v1/use
Het schema toont de route van een briefingregel naar een rapport, inclusief handmatige controle van ontbrekende gegevens.© jsonscraper · AI-gegenereerde illustratie

Als een regel verandert, bewaar die dan in de briefing in plaats van hem in de code vast te leggen. Zo zijn de drempelwaarden controleerbaar: per rij is zichtbaar welk bereik voor het aantal volgers of welke privacystatus werd verwacht. Voor de biografie kun je een controle toevoegen op de aanwezigheid van een bepaalde tekst, maar een letterlijke overeenkomst vervangt geen inhoudelijke beoordeling door een specialist.

Op de pagina IG Scraper API staan het basisadres, een voorbeeldverzoek en een link naar Postman. Het bovenstaande scenario gebruikt alleen de bevestigde profielopzoeking op gebruikersnaam en gaat er niet van uit dat deze aanvraag berichten retourneert.

Het praktische resultaat is een reproduceerbare eerste controle: in plaats van de hele lijst handmatig te bekijken, krijgt het team een overzicht van overeenkomsten en uitzonderingen die aan specifieke briefingvelden zijn gekoppeld. Dat versnelt de controle vóór de start, terwijl de verantwoordelijke specialist blijft bepalen of een profiel bij de campagne past.

Mensen

Er zijn nog geen mensen vermeld voor dit artikel.

Blijf lezenControleer IG-profielen vóór de campagne met een API-controle
Lees het volgende artikel

Maak van wat je leest een werkende integratie

Ontdek de socialdata-API's van jsonscraper, test aanvragen en bouw je volgende workflow.

API's verkennen