# `podcastindex` — connecteur enrichissement (palier 2) _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 : prêt — clés requises** · Famille : enrichissement (enrichment) · Backend : direct · Créateurs découverts : 0 · touchés : 0 ## Description de la source Connecteur ENRICHISSEMENT « podcastindex » — API Podcast Index (OFFICIELLE, gratuite ; clé + secret requis, inscription gratuite : https://api.podcastindex.org). Palier 2 (§9, §10). Sans clés : passage sauté PROPREMENT (SkipSource, comme twitch). - **Notes (registre)** : episodeCount, lastUpdateTime, itunesId, image, catégories des balados par feed_url. En attendant les clés, balados-rss couvre les mêmes champs sans clé. - **Signal d'identité** : api_officielle (0.95) (colonne `accounts.signal` / `confidence`) - **Module** : `creaka/connectors/podcastindex.py` — classe `PodcastIndexConnector` (`kind = "enrichment"`) ## Accès - **Accès (registre)** : API Podcast Index (officielle, GRATUITE — inscription requise : https://api.podcastindex.org ; PODCASTINDEX_API_KEY/SECRET dans .env) — sauté proprement sans clés - **Type d'accès (code)** : API JSON - **Endpoint de base** : https://api.podcastindex.org/api/1.0/podcasts/byfeedurl - **URLs du module** : https://api.podcastindex.org · https://api.podcastindex.org/api/1.0/podcasts/byfeedurl - **Pagination** : réponse unique (pas de pagination) - **Backend anti-bot / rendu** : requests direct (session UA CreaKaBot, throttling poli) - **Politesse** : 0.4 s entre requêtes, timeout 30 s, UA `CreaKaBot/1.0 (+https://www.crea-ka.com/bot)` - **Authentification** : clé(s) API requise(s) — voir statut/registre ## Champs récupérés → schéma cible Cible d'**enrichissement** : colonnes de la table `accounts` pour la/les plateforme(s) `podcast` (462 comptes en BD, confiance moyenne 0.98). | Colonne `accounts` | Contenu | Renseignée | Exemple réel | |---|---|---|---| | `handle` | Handle | 100 % | — | | `url` | URL du profil | 100 % | — | | `followers` | Abonnés | 0 % | — | | `verified` | Badge vérifié | 0 % | — | | `confidence` | Confiance d'identité | 100 % | — | | `signal` | Signal d'identité | 100 % | — | | `metrics` | Métriques détaillées (JSON) | 100 % | — | | `last_checked` | Dernière vérification | 100 % | — | ## Fréquence & budget - **Cadence déclarée (registre)** : quotidienne (watch), re-visite 7 j par balado - **Cadence observée** (médiane sync_log) : — - **Throttling** : 0.4 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 `podcast` en BD** : 462 — abonnés 0 % · métriques 100 % · dernière vérification 2026-08-18T20:11:39Z - **Runs journalisés (60 derniers)** : 0, dont 0 avec erreurs ## Erreurs connues & dépannage Aucune erreur ni alerte dans les 60 derniers runs journalisés. **Statut du registre** : prêt — clés requises Rejouer la source seule : `python3 run.py sync podcastindex` · vérifier `sync_log` (`SELECT * FROM sync_log WHERE source='podcastindex' ORDER BY ts DESC LIMIT 5;`). ## Licence, attribution & conditions - **Cadre d'accès (registre)** : API Podcast Index (officielle, GRATUITE — inscription requise : https://api.podcastindex.org ; PODCASTINDEX_API_KEY/SECRET dans .env) — sauté proprement sans clés - **Profils publics uniquement** : UA identifiable `CreaKaBot/1.0 (+https://www.crea-ka.com/bot; contact@spboucher.ai)`, throttling poli, respect des opt-out (`data/optout.json`) et du volet éthique (`creaka/ethics.py` — mineurs exclus via `is_minor`). - Retrait sur demande : contact@spboucher.ai (opt-out honoré à la prochaine ingestion). ## Historique - 2026-08-18 — vague d'enrichissement : standardisation de la documentation des connecteurs (fiche générée par `scripts/gen_connector_docs.py`).