jsonscraper
Marchés
Retour au journal

Vérifiez les profils IG à partir des critères de campagne

Transformez une liste de comptes en contrôles reproductibles avec l’IG Scraper API et Python

Politique éditoriale Signaler une erreur

Avant le lancement d’une campagne, il est possible de comparer automatiquement chaque compte IG du brief aux données publiques de son profil. Ce contrôle permet de repérer un nom d’utilisateur incorrect, un compte privé, une modification du nom ou de la biographie, ainsi qu’un nombre de publications hors de la plage attendue. Le résultat est un tableau de contrôles destiné au spécialiste marketing, et non une décision automatisée sur l’adéquation du créateur.

Article : Vérifiez les profils IG à partir des critères de campagne
Résumé : Vérifiez les profils IG publics avant le lancement d’une campagne : récupérez les informations par nom d’utilisateur, comparez-les au brief et établissez un rapport des écarts sans remplacer les données manquantes par des zéros.
Rôle de l’image : couverture — idée centrale
Section : 
Sujet visuel : Photo éditoriale : brief de campagne d’influence imprimé et rapport de validation CSV compact sur un bureau, les données de profil étant représentées par des cartes neutres simples à utiliser
Le contrôle compare les exigences du brief à des champs publics précis du profil.© jsonscraper · créé avec l’IA

Le problème : le brief devient obsolète plus vite que le tableau

La liste d’une campagne peut contenir le nom d’un compte, un lien, un objectif d’abonnés et des exigences relatives au profil public. Ces informations peuvent vite diverger : le compte change de nom d’utilisateur, le profil devient privé et les chiffres du brief restent inchangés. Vérifier un profil à la main est simple ; répéter l’opération pour une liste de comptes avant chaque campagne devient plus difficile à contrôler et à reproduire.

Une solution utile consiste à définir des règles explicites pour chaque ligne, à récupérer les champs publics disponibles au moment du contrôle et à consigner côte à côte les valeurs attendues et réelles. « Conforme » signifie alors uniquement qu’un champ précis respecte une règle précise ; l’évaluation de l’audience ou de la qualité du contenu reste du ressort d’un spécialiste.

Quelles données demander

Le répertoire des endpoints de l’IG API décrit la route GET /v1/user/by/username, qui requiert le paramètre username. Dans la réponse vérifiée, les données du profil se trouvent dans l’objet ig : on y trouve le nom d’utilisateur, le nom complet, la biographie, les indicateurs de confidentialité et de vérification, ainsi que le nombre de publications, d’abonnés et d’abonnements. Ces champs décrivent un instantané accessible du profil.

Pour un contrôle préliminaire, cela suffit à comparer le nom du compte, son statut de confidentialité et des seuils numériques. La biographie peut être affichée à l’opérateur pour examen ou contrôlée au moyen d’une règle simple, par exemple la présence d’un terme obligatoire. Ce filtre textuel repère une correspondance de chaîne, mais n’évalue pas le sens et ne confirme pas, à lui seul, le respect des conditions contractuelles.

Intégrer la requête en Python

Commencez par enregistrer la clé de licence dans la variable d’environnement JSONSCRAPER_INSTAGRAM_LICENSE_KEY. L’exemple utilise l’adresse de base, la route, le paramètre username et le nom de clé license_key vérifiés. Le fichier CSV contient les champs username,min_followers,max_followers,require_public ; pour chaque compte, le script compare la réponse aux règles et signale les lignes à vérifier.

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 

Exécutez python check_profiles.py. Installez la bibliothèque requests, définissez la variable d’environnement dans l’environnement d’exécution et placez brief.csv à côté du script. N’inscrivez pas la clé dans le code source ou dans le CSV de sortie. Le script traite les comptes les uns après les autres, ce qui facilite la vérification et le débogage de petits ensembles de comptes.

Pourquoi les données manquantes doivent rester visibles

Les règles de contrôle doivent distinguer une valeur nulle d’un champ absent. Dans l’exemple, le nombre d’abonnés n’est jugé conforme que si le champ numérique existe ; si le compteur est absent, la condition n’est pas confirmée et l’entrée est envoyée pour vérification manuelle. Un seuil min_followers vide est également signalé comme une erreur dans les données d’entrée, plutôt que converti automatiquement en zéro.

La validation de la réponse doit faire partie du processus de travail. Le script vérifie d’abord que le statut externe est égal à ok, puis s’assure que l’objet ig est présent. Une erreur HTTP, un JSON inattendu ou une règle incorrecte sont consignés dans le rapport sans inclure le texte de l’exception, qui pourrait exposer la clé dans l’URL. L’opérateur peut ainsi distinguer un échec de requête d’un profil non conforme sans divulguer le secret.

Lire les résultats et automatiser le contrôle

Le fichier profile_check.csv contient le nom d’utilisateur demandé, le nom renvoyé, les champs publics disponibles, les résultats des différentes vérifications et l’indicateur général needs_review. L’équipe peut filtrer les lignes à partir de cet indicateur, tandis que le développeur peut enregistrer le rapport dans un espace de stockage ou le transmettre à l’étape suivante du processus ETL. Pour planifier l’exécution, utilisez un ordonnanceur et enregistrez la date séparément afin de comparer les instantanés des campagnes.

Article : Vérifiez les profils IG à partir des critères de campagne
Résumé : Vérifiez les profils IG publics avant le lancement d’une campagne : récupérez les informations par nom d’utilisateur, comparez-les au brief et établissez un rapport des écarts sans remplacer les données manquantes par des zéros.
Rôle de l’image : illustration complémentaire 2 — un aspect spécifique différent
Section : Lire les résultats et automatiser le contrôle
Sujet visuel : Infographie en russe illustrant le processus : lignes du brief CSV → GET /v1/use
Le schéma montre le parcours de la ligne du brief au rapport, y compris la vérification manuelle des données manquantes.© jsonscraper · illustration générée par l’IA

Si une règle change, conservez-la dans le brief plutôt que de l’inscrire en dur dans le code. Les seuils deviennent ainsi vérifiables : chaque ligne indique la plage d’abonnés ou le statut de confidentialité attendu. Il est possible d’ajouter un contrôle de la présence d’un texte donné dans la biographie, mais une correspondance littérale ne remplace pas l’évaluation qualitative d’un spécialiste.

La page IG Scraper API présente l’adresse de base, un exemple de requête et un lien vers Postman. Le scénario ci-dessus utilise uniquement la recherche de profil par nom d’utilisateur, dont le fonctionnement est confirmé, et ne suppose pas que cette requête renvoie des publications.

Le résultat pratique est un contrôle préliminaire reproductible : au lieu d’examiner manuellement toute la liste, l’équipe obtient un relevé des correspondances et des exceptions liées à des champs précis du brief. Cela accélère les vérifications avant le lancement, tout en laissant la décision sur l’adéquation à la campagne au spécialiste responsable.

Personnes

Aucune personne répertoriée pour cet article pour le moment.

Continuez à lireVérifiez les profils IG par rapport au brief de campagne avant le lancement : contrôle via API
Lire le prochain article

Transformez vos lectures en intégration fonctionnelle

Explorez les API de données sociales de jsonscraper, testez des requêtes et créez votre prochain workflow.

Explorer les API