Publica programáticamente en 15 plataformas desde una sola llamada API. Construido para desarrolladores, agentes de IA, LLMs y flujos de trabajo agentivos que necesitan automatización confiable de redes sociales sin sesiones de navegador ni interacción manual.
from bulkpublish import BulkPublish
bp = BulkPublish("bp_tu_clave_aqui")
bp.posts.create(
content="¡Lanzando nuestro nuevo producto hoy!",
channels=[{"channelId": 1, "platform": "x"}, {"channelId": 2, "platform": "linkedin"}],
status="scheduled",
scheduled_at="2026-04-10T09:00:00Z",
)
¿Por qué BulkPublish?
La mayoría de las herramientas de redes sociales están diseñadas para humanos que hacen clic en botones. BulkPublish está diseñado para código, ya sea que ese código esté escrito por un desarrollador, un agente de IA, un LLM con uso de herramientas o un flujo de trabajo autónomo.
- Headless por diseño — Sin navegador, sin IU, sin ventanas emergentes de OAuth en tiempo de ejecución. Conecta cuentas una vez en el panel de control, luego automatiza todo vía API.
- Nativo de IA — Servidor MCP para Claude, definiciones de herramientas para GPT y LangChain, respuestas JSON estructuradas que los LLMs analizan de manera confiable.
- Preparado para agentes — API determinista con códigos de error claros. Los agentes de IA pueden crear publicaciones, verificar el estado, reintentar fallos y leer análisis de forma autónoma.
- 15 plataformas, un solo endpoint — Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Perfil de Google Business, LinkedIn, Mastodon, Discord, Telegram, Tumblr, Snapchat.
Casos de Uso
- Gestores de redes sociales con IA — Permite que Claude, GPT o agentes personalizados programen y publiquen publicaciones de forma autónoma.
- Tuberías de contenido — Automatización RSS a redes sociales, blog a redes sociales, boletín a redes sociales.
- Programación masiva — Sube un CSV o alimenta un calendario de contenido y programa semanas de publicaciones programáticamente.
- Sindicación multiplataforma — Publica una vez en todas las plataformas con optimización de contenido por plataforma.
- Paneles de análisis — Extrae datos de participación en tus propias herramientas, hojas de cálculo o análisis de IA.
- Alternativas a Zapier/n8n/Make — Acceso directo a la API sin middleware, menor latencia, más control.
- Creación de contenido impulsada por LLM — Genera contenido con IA, publícalo con BulkPublish, rastrea el rendimiento, itera.
Inicio Rápido
1. Regístrate
Crea una cuenta gratuita en app.bulkpublish.com.
2. Obtén tu clave API
Ve a Configuración > Desarrollador en el panel de control y crea una clave API. Las claves comienzan con bp_ y se muestran solo una vez; guárdala de forma segura.
3. Conecta plataformas
Conecta tus cuentas de redes sociales en el panel de control bajo Canales. La API utiliza tus canales conectados para publicar.
4. Instala un SDK
Python
pip install bulkpublish
Node.js
npm install bulkpublish
Homebrew (macOS/Linux)
brew tap azeemkafridi/bulkpublish && brew install bulkpublish
O llama a la API REST directamente con curl, fetch, requests o cualquier cliente HTTP.
5. Haz tu primera llamada API
curl -X POST https://app.bulkpublish.com/api/posts \
-H "Authorization: Bearer bp_tu_clave_aqui" \
-H "Content-Type: application/json" \
-d '{
"content": "¡Hola desde la API de BulkPublish!",
"channels": [{"channelId": 1, "platform": "linkedin"}],
"status": "draft"
}'
Integración con Agentes de IA
Servidor MCP (Claude, Cursor, Windsurf, Claude Code)
BulkPublish incluye un servidor MCP para que los asistentes de IA puedan gestionar tus redes sociales directamente:
{
"mcpServers": {
"bulkpublish": {
"command": "npx",
"args": ["-y", "@bulkpublish/mcp-server"],
"env": {
"BULKPUBLISH_API_KEY": "bp_tu_clave_aqui"
}
}
}
}
50 herramientas disponibles: create_post, list_channels, upload_media, get_analytics, el compositor interactivo compose_post (Apps MCP) y más. Se ejecuta localmente (stdio) o alojado a través de Streamable HTTP en https://mcp.bulkpublish.com/mcp. Consulta mcp-server/README.md.
Habilidades de Contenido en Redes Sociales
BulkPublish incluye una biblioteca de 24 habilidades para que los agentes de IA planifiquen, adapten, revisen, programen y publiquen contenido en redes sociales: Habilidades de Contenido en Redes Sociales.
Uso de Herramientas / Llamadas a Funciones de LLM
Definiciones de herramientas listas para usar para agentes de IA autónomos:
- Ejemplo de tool_use de Claude — SDK de Anthropic con definiciones de herramientas para programar publicaciones.
- Ejemplo de function calling de OpenAI — GPT-4 con funciones para gestión de publicaciones.
- Ejemplo de herramienta de LangChain — Agente de LangChain con herramientas de BulkPublish.
Todos los ejemplos son scripts completos y ejecutables con manejo de errores.
Ejemplos de Código
Crear una Publicación
from bulkpublish import BulkPublish
bp = BulkPublish("bp_tu_clave_aqui")
post = bp.posts.create(
content="¡Mira nuestra última actualización!",
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_tu_clave_aqui' });
const post = await bp.posts.create({
content: '¡Mira nuestra última actualización!',
channels: [
{ channelId: 1, platform: 'facebook' },
{ channelId: 2, platform: 'x' },
{ channelId: 3, platform: 'linkedin' },
],
status: 'draft',
});
Programar una Publicación
post = bp.posts.create(
content="Esto se publicará mañana por la mañana.",
channels=[{"channelId": 1, "platform": "instagram"}],
status="scheduled",
scheduled_at="2026-04-10T09:00:00Z",
timezone="America/New_York",
)
Subir Medios y Publicar
media = bp.media.upload("./product-photo.jpg")
post = bp.posts.create(
content="Nuestro producto más nuevo está aquí.",
channels=[{"channelId": 1, "platform": "instagram"}],
media_files=[media["file"]["id"]],
status="scheduled",
scheduled_at="2026-04-10T12:00:00Z",
)
Ejemplo de Automatización: Programación Masiva desde CSV
import csv
from bulkpublish import BulkPublish
bp = BulkPublish("bp_tu_clave_aqui")
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",
)
Más ejemplos en examples/ — incluidos scripts de automatización en Python, ejemplos de Node.js, referencia de curl e integraciones con agentes de IA.
Funcionalidades
- 15 plataformas — Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Perfil de Google Business, LinkedIn, Mastodon, Discord, Telegram, Tumblr, Snapchat
- Programación — Programa publicaciones para cualquier momento futuro con soporte de zona horaria, o deja que los espacios de cola elijan momentos óptimos.
- Subidas de medios — Imágenes (JPEG, PNG, WebP, GIF) y videos (MP4, MOV, WebM) hasta 100 MB.
- Programaciones recurrentes — Repite publicaciones diariamente, semanalmente, quincenalmente o mensualmente a una hora fija del día.
- Análisis — Rastrea impresiones, me gusta, comentarios, compartidos y participación. Cada plataforma informa un subconjunto diferente de métricas, y la respuesta indica cuáles (
supportedMetrics/supportedTotals) para que un0nunca se confunda con una medición — consulta Métricas por Plataforma. - Seguimiento de enlaces — Opta por organización, o por publicación mediante
linkTrackingOverride, para reescribir enlaces a través debulkpubli.shy contar los clics. Se informa comolinkClicks/totalLinkClicksy es medido por BulkPublish en lugar de la plataforma, por lo que funciona incluso cuando la plataforma no informa nada — consulta Límites de Caracteres. - Etiquetas — Organiza publicaciones y medios con etiquetas de colores.
- Operaciones masivas — Elimina o reintenta múltiples publicaciones en una sola solicitud.
- Hilos — Publicaciones de varias partes para X, Threads, Bluesky y Mastodon.
- Primer comentario automático — Añade automáticamente un comentario después de publicar en cualquier plataforma.
- Todos los tipos de publicación — Reels, Stories, Carruseles, Hilos, Shorts, Video — configura por plataforma mediante
postTypeOverrides. - Contenido por plataforma — Personaliza texto y opciones por plataforma en una sola publicación.
- Opciones específicas de plataforma — Colaboradores de Instagram, privacidad de TikTok, categorías de YouTube, tableros de Pinterest y más.
Referencia de la API
Documentación interactiva completa de la API: app.bulkpublish.com/docs
URL Base
https://app.bulkpublish.com
Autenticación
Authorization: Bearer bp_tu_clave_aqui
Endpoints Principales
| Método | Endpoint | Descripción |
|---|---|---|
POST | /api/posts | Crear una publicación (borrador, programada o inmediata) |
GET | /api/posts | Listar publicaciones (paginadas, filtrables por estado/fecha/canal/etiqueta) |
GET | /api/posts/:id | Obtener una publicación con estados de plataforma y métricas |
PUT | /api/posts/:id | Actualizar un borrador o publicación programada |
DELETE | /api/posts/:id | Eliminar una publicación |
POST | /api/posts/:id/publish | Publicar un borrador inmediatamente |
POST | /api/posts/:id/retry | Reintentar plataformas fallidas |
POST | /api/posts/:id/approve | Aprobar una publicación que espera aprobación del equipo (roles con post:approve) |
POST | /api/posts/:id/reject | Rechazar una publicación pendiente de vuelta a borrador, con un motivo opcional |
POST | /api/posts/bulk | Eliminación o reintento masivo |
GET | /api/channels | Listar canales de redes sociales conectados |
GET | /api/channels/:id/health | Verificar el estado del token del canal |
GET | /api/channels/:id/options | Obtener opciones de plataforma (tableros de Pinterest, listas de reproducción de YouTube) |
GET | /api/channels/:id/mentions | Buscar usuarios para @mención (X, Bluesky) |
GET/POST | /api/channel-sets | Grupos de canales guardados para segmentación con un clic (actualización/eliminación mediante /api/channel-sets/:id) |
GET/POST | /api/rss-feeds | Fuentes RSS/Atom de publicación automática: los nuevos elementos se convierten en publicaciones (actualización/eliminación mediante /api/rss-feeds/:id) |
POST | /api/media | Subir un archivo multimedia (formulario multiparte, hasta 100 MB) |
POST | /api/media/multipart/create | Iniciar una subida fragmentada para medios grandes (videos de hasta 1 GB, partes de 10 MB) |
POST | /api/media/multipart/complete | Ensamblar las partes subidas y registrar el archivo multimedia |
GET | /api/media | Listar medios subidos |
GET | /api/analytics/summary | Resumen de análisis para un rango de fechas |
GET | /api/analytics/engagement | Datos de participación agrupados por día/semana/mes |
POST | /api/schedules | Crear una programación recurrente |
GET | /api/quotas/usage | Verificar los límites y el uso del plan actual |
Consulta la especificación OpenAPI para obtener la lista completa de endpoints.
Plataformas Soportadas
| Plataforma | Tipos de Publicación | Medios |
|---|---|---|
| Publicación, Historia | Imágenes, Videos | |
| Feed, Reel, Historia, Carrusel | Imágenes (JPEG), Videos (MP4, MOV) | |
| X / Twitter | Tweet, Hilo | Imágenes, Videos, GIFs |
| TikTok | Video, Presentación de Fotos | Videos (MP4, MOV), Imágenes |
| YouTube | Video, Short | Videos (MP4, MOV, WebM, AVI, WMV, FLV) |
| Threads | Publicación, Hilo, Publicación con Cita | Imágenes, Videos |
| Bluesky | Publicación, Hilo | Imágenes |
| Pin, Pin de Video | Imágenes (JPEG, PNG, WebP), Videos (MP4, MOV) | |
| Google Business Profile | Publicación | Imágenes, Videos |
| Publicación, Imagen, Video, Documento | Imágenes (JPEG, PNG, GIF), Videos (MP4), Documentos (PDF) | |
| Mastodon | Toot, Hilo | Imágenes, Videos, GIFs |
| Discord | Mensaje, Embed | Imágenes, Videos |
| Telegram | Mensaje, Foto, Video, Documento | Imágenes, Videos, GIFs, PDFs |
| Tumblr | Publicación de Texto, Foto, Video, Enlace, Cita, Chat, Audio | Imágenes, Videos, GIFs |
| Snapchat | Snap | Imágenes, Videos |
Límites (Plan Gratuito)
- 1000 publicaciones/mes — Cuenta todo el contenido publicado, programado o en borrador creado en un mes.
- 100 subidas de medios/mes — Imágenes y videos.
- 1 cargo por equipo — Comparte el plan con los miembros de tu equipo de forma gratuita.
- Hasta 15 canales — Conecta hasta 15 cuentas de redes sociales.
- Hasta 10 colas de programación — Horas de publicación optimizadas automáticamente.
- 3 meses de retención de análisis — Los datos de participación caducan después de 3 meses en el plan gratuito.
Licencia
Este repositorio está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.