# `instagram-profil` — connecteur enrichissement (palier 4) _Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-18 16:14 — ne pas éditer à la main, régénérer._ **État : actif** · Famille : enrichissement (enrichment) · Backend : Scrapfly · Créateurs découverts : 0 · touchés : 0 ## Description de la source Connecteur ENRICHISSEMENT Instagram — profil public par créateur : abonnés, badge vérifié, bio, liens de bio (→ découverte croisée des autres plateformes + page link-in-bio). Mode d'accès : Scrapfly (plateforme hostile au scraping, pas d'API publique de lecture) — palier 4 du catalogue (§9), CGU/rate-limit respectés (§15). - **Notes (registre)** : abonnés, badge, bio, liens de bio → link_in_bio_url + comptes croisés - **Signal d'identité** : cross_link (0.90) pour les liens de bio découverts (colonne `accounts.signal` / `confidence`) - **Module** : `creaka/connectors/instagram.py` — classe `InstagramConnector` (`kind = "enrichment"`) ## Accès - **Accès (registre)** : Scrapfly (profil public web_profile_info — pas d'API publique de lecture) - **Type d'accès (code)** : pages HTML publiques - **Endpoint de base** : https://i.instagram.com/api/v1/users/web_profile_info/ - **URLs du module** : https://i.instagram.com/api/v1/users/web_profile_info/ - **Pagination** : réponse unique (pas de pagination) - **Backend anti-bot / rendu** : Scrapfly (asp + render_js — contournement anti-bot) - **Politesse** : 1.5 s entre requêtes, timeout 30 s, UA `CreaKaBot/1.0 (+https://www.crea-ka.com/bot)` - **Authentification** : aucune — contenu public / API anonyme ## Champs récupérés → schéma cible Cible d'**enrichissement** : colonnes de la table `accounts` pour la/les plateforme(s) `instagram` (495 comptes en BD, confiance moyenne 0.88). | Colonne `accounts` | Contenu | Renseignée | Exemple réel | |---|---|---|---| | `handle` | Handle | 100 % | catherinepaiz | | `url` | URL du profil | 100 % | https://www.instagram.com/catherinepaiz/ | | `followers` | Abonnés | 73 % | 7022873 | | `verified` | Badge vérifié | 62 % | 1 | | `confidence` | Confiance d'identité | 100 % | 0.85 | | `signal` | Signal d'identité | 100 % | base_publique | | `metrics` | Métriques détaillées (JSON) | 62 % | {"following": 248, "posts": 667, "is_business": false, "highlight_reels": 22, "avg_likes"… | | `last_checked` | Dernière vérification | 100 % | 2026-08-18T19:58:58Z | ## Fréquence & budget - **Cadence déclarée (registre)** : hebdomadaire (gros créateurs) / mensuelle - **Cadence observée** (médiane sync_log) : ≈ 3.2 h - **Dernier passage** : 2026-08-18T12:04:24Z — 288 créateurs, 789 comptes, +0 / ~288, 0 erreur(s), 1756 s - **Throttling** : 1.5 s entre requêtes (`request_delay`) ## Volumétrie & complétude - **Créateurs découverts par la source** (`doc.source`) : 0 · **fiches touchées** (`source_ids`) : 0 - **Comptes `instagram` en BD** : 495 — abonnés 73 % · métriques 62 % · dernière vérification 2026-08-18T20:05:02Z - **Runs journalisés (60 derniers)** : 5, dont 0 avec erreurs ## Erreurs connues & dépannage Aucune erreur ni alerte dans les 60 derniers runs journalisés. Rejouer la source seule : `python3 run.py sync instagram-profil` · vérifier `sync_log` (`SELECT * FROM sync_log WHERE source='instagram-profil' ORDER BY ts DESC LIMIT 5;`). ## Licence, attribution & conditions - **Cadre d'accès (registre)** : Scrapfly (profil public web_profile_info — pas d'API publique de lecture) - **API publique** utilisée selon ses conditions (pas de clé détournée, throttling poli) ; données limitées aux profils publics. - Retrait sur demande : contact@spboucher.ai (opt-out honoré à la prochaine ingestion). ## Historique - 2026-08-17 — plus ancien passage journalisé dans `sync_log` (fenêtre des 60 derniers). - 2026-08-18 — vague d'enrichissement : standardisation de la documentation des connecteurs (fiche générée par `scripts/gen_connector_docs.py`).