Publiez de manière programmatique sur 15 plateformes en un seul appel API. Conçu pour les développeurs, les agents IA, les LLM et les workflows agentiques qui nécessitent une automatisation fiable des réseaux sociaux, sans session de navigateur ni interaction manuelle.
from bulkpublish import BulkPublish
bp = BulkPublish("bp_votre_clé_ici")
bp.posts.create(
content="Lancement de notre nouveau produit aujourd'hui !",
channels=[{"channelId": 1, "platform": "x"}, {"channelId": 2, "platform": "linkedin"}],
status="scheduled",
scheduled_at="2026-04-10T09:00:00Z",
)
Pourquoi BulkPublish ?
La plupart des outils de médias sociaux sont conçus pour les humains qui cliquent sur des boutons. BulkPublish est conçu pour le code — que ce code soit écrit par un développeur, un agent IA, un LLM avec utilisation d'outils ou un workflow autonome.
- Sans interface par conception — Pas de navigateur, pas d'interface utilisateur, pas de pop-ups OAuth au moment de l'exécution. Connectez les comptes une fois dans le tableau de bord, puis automatisez tout via l'API.
- Natif IA — Serveur MCP pour Claude, définitions d'outils pour GPT et LangChain, réponses JSON structurées que les LLM analysent de manière fiable.
- Prêt pour les agents — API déterministe avec des codes d'erreur clairs. Les agents IA peuvent créer des publications, vérifier le statut, réessayer les échecs et lire les analyses de manière autonome.
- 15 plateformes, un seul point de terminaison — Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr, Snapchat.
Cas d'utilisation
- Gestionnaires de médias sociaux IA — Laissez Claude, GPT ou des agents personnalisés planifier et publier des publications de manière autonome
- Pipelines de contenu — Automatisation RSS-vers-réseaux sociaux, blog-vers-réseaux sociaux, newsletter-vers-réseaux sociaux
- Planification en masse — Téléchargez un CSV ou alimentez un calendrier de contenu et planifiez des semaines de publications de manière programmatique
- Syndication multiplateforme — Publiez une fois sur toutes les plateformes avec une optimisation de contenu par plateforme
- Tableaux de bord d'analyse — Récupérez les données d'engagement dans vos propres outils, feuilles de calcul ou analyses IA
- Alternatives à Zapier/n8n/Make — Accès API direct sans middleware, latence réduite, plus de contrôle
- Création de contenu alimentée par LLM — Générez du contenu avec l'IA, publiez-le avec BulkPublish, suivez les performances, itérez
Démarrage rapide
1. Inscription
Créez un compte gratuit sur app.bulkpublish.com.
2. Obtenez votre clé API
Allez dans Paramètres > Développeur dans le tableau de bord et créez une clé API. Les clés commencent par bp_ et ne sont affichées qu'une seule fois — conservez-la en toute sécurité.
3. Connectez les plateformes
Connectez vos comptes sociaux dans le tableau de bord sous Canaux. L'API utilise vos canaux connectés pour publier.
4. Installez un SDK
Python
pip install bulkpublish
Node.js
npm install bulkpublish
Homebrew (macOS/Linux)
brew tap azeemkafridi/bulkpublish && brew install bulkpublish
Ou appelez directement l'API REST avec curl, fetch, requests ou tout autre client HTTP.
5. Effectuez votre premier appel API
curl -X POST https://app.bulkpublish.com/api/posts \
-H "Authorization: Bearer bp_votre_clé_ici" \
-H "Content-Type: application/json" \
-d '{
"content": "Bonjour depuis l'API BulkPublish !",
"channels": [{"channelId": 1, "platform": "linkedin"}],
"status": "draft"
}'
Intégration avec les agents IA
Serveur MCP (Claude, Cursor, Windsurf, Claude Code)
BulkPublish fournit un serveur MCP pour que les assistants IA puissent gérer vos réseaux sociaux directement :
{
"mcpServers": {
"bulkpublish": {
"command": "npx",
"args": ["-y", "@bulkpublish/mcp-server"],
"env": {
"BULKPUBLISH_API_KEY": "bp_votre_clé_ici"
}
}
}
}
50 outils disponibles : create_post, list_channels, upload_media, get_analytics, le compositeur interactif compose_post (applications MCP), et plus encore. Fonctionne localement (stdio) ou hébergé via Streamable HTTP à https://mcp.bulkpublish.com/mcp. Voir mcp-server/README.md.
Compétences en contenu pour les réseaux sociaux
BulkPublish comprend une bibliothèque de 24 compétences pour les agents IA afin de planifier, adapter, réviser, planifier et publier du contenu sur les réseaux sociaux : Compétences en contenu pour les réseaux sociaux.
Utilisation d'outils LLM / Appel de fonctions
Définitions d'outils prêtes à l'emploi pour les agents IA autonomes :
- Exemple d'utilisation d'outils Claude — SDK Anthropic avec définitions d'outils pour la planification de publications
- Exemple d'appel de fonctions OpenAI — GPT-4 avec fonctions pour la gestion des publications
- Exemple d'outil LangChain — Agent LangChain avec outils BulkPublish
Tous les exemples sont des scripts complets et exécutables avec gestion des erreurs.
Exemples de code
Créer une publication
from bulkpublish import BulkPublish
bp = BulkPublish("bp_votre_clé_ici")
post = bp.posts.create(
content="Découvrez notre dernière mise à jour !",
channels=[
{"channelId": 1, "platform": "facebook"},
{"channelId": 2, "platform": "x"},
{"channelId": 3, "platform": "linkedin"},
],
status="draft",
)
import { BulkPublish } from 'bulkpublish';
const bp = new BulkPublish({ apiKey: 'bp_votre_clé_ici' });
const post = await bp.posts.create({
content: 'Découvrez notre dernière mise à jour !',
channels: [
{ channelId: 1, platform: 'facebook' },
{ channelId: 2, platform: 'x' },
{ channelId: 3, platform: 'linkedin' },
],
status: 'draft',
});
Planifier une publication
post = bp.posts.create(
content="Ceci sera publié demain matin.",
channels=[{"channelId": 1, "platform": "instagram"}],
status="scheduled",
scheduled_at="2026-04-10T09:00:00Z",
timezone="America/New_York",
)
Télécharger un média et publier
media = bp.media.upload("./product-photo.jpg")
post = bp.posts.create(
content="Notre tout nouveau produit est arrivé.",
channels=[{"channelId": 1, "platform": "instagram"}],
media_files=[media["file"]["id"]],
status="scheduled",
scheduled_at="2026-04-10T12:00:00Z",
)
Exemple d'automatisation : Planification en masse à partir d'un CSV
import csv
from bulkpublish import BulkPublish
bp = BulkPublish("bp_votre_clé_ici")
channels = bp.channels.list()["channels"]
with open("content-calendar.csv") as f:
for row in csv.DictReader(f):
bp.posts.create(
content=row["content"],
channels=[{"channelId": ch["id"], "platform": ch["platform"]} for ch in channels],
status="scheduled",
scheduled_at=row["scheduled_at"],
timezone="America/New_York",
)
Plus d'exemples dans examples/ — y compris scripts d'automatisation Python, exemples Node.js, référence curl et intégrations d'agents IA.
Fonctionnalités
- 15 plateformes — Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr, Snapchat
- Planification — Planifiez des publications à tout moment futur avec prise en charge des fuseaux horaires, ou laissez les créneaux de file d'attente choisir les heures optimales
- Téléchargements de médias — Images (JPEG, PNG, WebP, GIF) et vidéos (MP4, MOV, WebM) jusqu'à 100 Mo
- Planifications récurrentes — Répétez les publications quotidiennement, hebdomadairement, bi-mensuellement ou mensuellement à une heure fixe
- Analyses — Suivez les impressions, les likes, les commentaires, les partages et l'engagement. Chaque plateforme rapporte un sous-ensemble différent de métriques, et la réponse indique lesquelles (
supportedMetrics/supportedTotals) afin qu'un0ne soit jamais confondu avec une mesure — voir Métriques par plateforme - Suivi des liens — Optionnel par organisation, ou par publication via
linkTrackingOverride, pour réécrire les liens viabulkpubli.shet compter les clics. Signalé commelinkClicks/totalLinkClickset mesuré par BulkPublish plutôt que par la plateforme, donc cela fonctionne même lorsque la plateforme ne signale rien — voir Limites de caractères - Étiquettes — Organisez les publications et les médias avec des étiquettes colorées
- Opérations groupées — Supprimez ou réessayez plusieurs publications en une seule requête
- Fils — Publications multipartites pour X, Threads, Bluesky et Mastodon
- Premier commentaire automatique — Ajoutez automatiquement un commentaire après la publication sur n'importe quelle plateforme
- Tous les types de publications — Reels, Stories, Carrousels, Threads, Shorts, Vidéo — définissez par plateforme via
postTypeOverrides - Contenu par plateforme — Personnalisez le texte et les options par plateforme en une seule publication
- Options spécifiques à la plateforme — Collaborateurs Instagram, confidentialité TikTok, catégories YouTube, tableaux Pinterest, et plus encore
Référence de l'API
Documentation interactive complète de l'API : app.bulkpublish.com/docs
URL de base
https://app.bulkpublish.com
Authentification
Authorization: Bearer bp_votre_clé_ici
Points de terminaison principaux
| Méthode | Point de terminaison | Description |
|---|---|---|
POST | /api/posts | Créer une publication (brouillon, planifiée ou immédiate) |
GET | /api/posts | Lister les publications (paginées, filtrables par statut/date/canal/étiquette) |
GET | /api/posts/:id | Obtenir une publication avec les statuts et métriques de la plateforme |
PUT | /api/posts/:id | Mettre à jour un brouillon ou une publication planifiée |
DELETE | /api/posts/:id | Supprimer une publication |
POST | /api/posts/:id/publish | Publier un brouillon immédiatement |
POST | /api/posts/:id/retry | Réessayer les plateformes en échec |
POST | /api/posts/:id/approve | Approuver une publication en attente d'approbation d'équipe (rôles avec post:approve) |
POST | /api/posts/:id/reject | Rejeter une publication en attente en brouillon, avec une raison optionnelle |
POST | /api/posts/bulk | Suppression ou nouvelle tentative en masse |
GET | /api/channels | Lister les canaux de réseaux sociaux connectés |
GET | /api/channels/:id/health | Vérifier l'état du jeton du canal |
GET | /api/channels/:id/options | Obtenir les options de la plateforme (tableaux Pinterest, playlists YouTube) |
GET | /api/channels/:id/mentions | Rechercher des utilisateurs pour @mention (X, Bluesky) |
GET/POST | /api/channel-sets | Groupes de canaux enregistrés pour un ciblage en un clic (mise à jour/suppression via /api/channel-sets/:id) |
GET/POST | /api/rss-feeds | Flux RSS/Atom pour publication automatique — les nouveaux éléments deviennent des publications (mise à jour/suppression via /api/rss-feeds/:id) |
POST | /api/media | Télécharger un fichier média (formulaire multipart, jusqu'à 100 Mo) |
POST | /api/media/multipart/create | Démarrer un téléchargement fragmenté pour les fichiers volumineux (vidéos jusqu'à 1 Go, parties de 10 Mo) |
POST | /api/media/multipart/complete | Assembler les parties téléchargées et enregistrer le fichier média |
GET | /api/media | Lister les fichiers médias téléchargés |
GET | /api/analytics/summary | Résumé des analyses pour une plage de dates |
GET | /api/analytics/engagement | Données d'engagement groupées par jour/semaine/mois |
POST | /api/schedules | Créer une planification récurrente |
GET | /api/quotas/usage | Vérifier les limites du plan actuel et l'utilisation |
Consultez la spécification OpenAPI pour la liste complète des points de terminaison.
Plateformes prises en charge
| Plateforme | Types de publications | Média |
|---|---|---|
| Publication, Story | Images, Vidéos | |
| Fil, Reel, Story, Carrousel | Images (JPEG), Vidéos (MP4, MOV) | |
| X / Twitter | Tweet, Fil | Images, Vidéos, GIF |
| TikTok | Vidéo, Diaporama photo | Vidéos (MP4, MOV), Images |
| YouTube | Vidéo, Short | Vidéos (MP4, MOV, WebM, AVI, WMV, FLV) |
| Threads | Publication, Fil, Publication avec citation | Images, Vidéos |
| Bluesky | Publication, Fil | Images |
| Épingle | Images | |
| Google Business Profile | Publication, Offre | Images, Vidéos |
| Publication, Article | Images, Vidéos | |
| Mastodon | Publication, Fil | Images, Vidéos |
| Discord | Message (webhook) | Images, Vidéos, GIF |
| Telegram | Message (bot) | Images, Vidéos, Documents |
| Tumblr | Publication | Images |
| Snapchat | Spotlight, Story (géré) | Vidéos (MP4, MOV) |
Contribution
Nous accueillons les contributions ! Consultez le guide de contribution pour commencer. L'API BulkPublish est sous licence MIT — voir LICENSE pour plus de détails.