Communitygithub.com

azeemkafridi/bulkpublish-api

La meilleure API gratuite de publication et planification pour les réseaux sociaux. Kits SDK pour Python et Node, serveur MCP pour les agents IA, 11 plateformes.

Qu'est-ce que bulkpublish-api ?

BulkPublish API est une API de publication et planification de médias sociaux conçue pour les développeurs, les agents IA et les LLM. Elle permet de publier du contenu sur 15 plateformes sociales en un seul appel API, sans nécessiter de navigateur ou d'interaction manuelle. La solution propose des SDK pour Python et Node.js, un serveur MCP (Model Context Protocol) pour une intégration transparente avec des assistants IA comme Claude, et des outils de fonction pour des agents autonomes. Les cas d'utilisation incluent la gestion automatisée des réseaux sociaux, les pipelines de contenu (RSS, blogs, newsletters), la planification en masse à partir de CSV, la syndication multiplateforme et l'analyse des performances. L'API est headless, ce qui signifie que les connexions aux comptes sociaux se font une fois via un tableau de bord, puis tout est automatisé par code. Elle supporte Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr et Snapchat.

Compatible avec✓Claude Code✓Codex CLI✓Cursor✓Antigravity✓Windsurf
npx skills add https://github.com/azeemkafridi/bulkpublish-api/tree/main

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Aperçu

Depuis le README du skill

bulkpublish-api preview
bulkpublish-api preview
bulkpublish-api preview
bulkpublish-api preview
bulkpublish-api preview
bulkpublish-api preview
bulkpublish-api preview
bulkpublish-api preview

Documentation

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 :

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'un 0 ne 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 via bulkpubli.sh et compter les clics. Signalé comme linkClicks / totalLinkClicks et 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éthodePoint de terminaisonDescription
POST/api/postsCréer une publication (brouillon, planifiée ou immédiate)
GET/api/postsLister les publications (paginées, filtrables par statut/date/canal/étiquette)
GET/api/posts/:idObtenir une publication avec les statuts et métriques de la plateforme
PUT/api/posts/:idMettre à jour un brouillon ou une publication planifiée
DELETE/api/posts/:idSupprimer une publication
POST/api/posts/:id/publishPublier un brouillon immédiatement
POST/api/posts/:id/retryRéessayer les plateformes en échec
POST/api/posts/:id/approveApprouver une publication en attente d'approbation d'équipe (rôles avec post:approve)
POST/api/posts/:id/rejectRejeter une publication en attente en brouillon, avec une raison optionnelle
POST/api/posts/bulkSuppression ou nouvelle tentative en masse
GET/api/channelsLister les canaux de réseaux sociaux connectés
GET/api/channels/:id/healthVérifier l'état du jeton du canal
GET/api/channels/:id/optionsObtenir les options de la plateforme (tableaux Pinterest, playlists YouTube)
GET/api/channels/:id/mentionsRechercher des utilisateurs pour @mention (X, Bluesky)
GET/POST/api/channel-setsGroupes de canaux enregistrés pour un ciblage en un clic (mise à jour/suppression via /api/channel-sets/:id)
GET/POST/api/rss-feedsFlux RSS/Atom pour publication automatique — les nouveaux éléments deviennent des publications (mise à jour/suppression via /api/rss-feeds/:id)
POST/api/mediaTélécharger un fichier média (formulaire multipart, jusqu'à 100 Mo)
POST/api/media/multipart/createDémarrer un téléchargement fragmenté pour les fichiers volumineux (vidéos jusqu'à 1 Go, parties de 10 Mo)
POST/api/media/multipart/completeAssembler les parties téléchargées et enregistrer le fichier média
GET/api/mediaLister les fichiers médias téléchargés
GET/api/analytics/summaryRésumé des analyses pour une plage de dates
GET/api/analytics/engagementDonnées d'engagement groupées par jour/semaine/mois
POST/api/schedulesCréer une planification récurrente
GET/api/quotas/usageVé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

PlateformeTypes de publicationsMédia
FacebookPublication, StoryImages, Vidéos
InstagramFil, Reel, Story, CarrouselImages (JPEG), Vidéos (MP4, MOV)
X / TwitterTweet, FilImages, Vidéos, GIF
TikTokVidéo, Diaporama photoVidéos (MP4, MOV), Images
YouTubeVidéo, ShortVidéos (MP4, MOV, WebM, AVI, WMV, FLV)
ThreadsPublication, Fil, Publication avec citationImages, Vidéos
BlueskyPublication, FilImages
PinterestÉpingleImages
Google Business ProfilePublication, OffreImages, Vidéos
LinkedInPublication, ArticleImages, Vidéos
MastodonPublication, FilImages, Vidéos
DiscordMessage (webhook)Images, Vidéos, GIF
TelegramMessage (bot)Images, Vidéos, Documents
TumblrPublicationImages
SnapchatSpotlight, 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.

Skills associés