BulkPublish

Publique em massa para várias redes sociais de uma vez.

Documentação

BulkPublish Logo

BulkPublish API

A API gratuita de mídias sociais criada para automação, agentes de IA e LLMs.

License 15 Platforms MCP Server PyPI npm

Facebook Instagram X / Twitter TikTok YouTube Threads Bluesky Pinterest Google Business LinkedIn Mastodon Discord Telegram Tumblr Snapchat

Comece agora » · Documentação da API · Site · Servidor MCP


BulkPublish Multi-Platform Composer

Publique programaticamente em 15 plataformas com uma única chamada de API. Criado para desenvolvedores, agentes de IA, LLMs e fluxos de trabalho agênticos que precisam de automação confiável de mídias sociais sem sessões de navegador ou interação manual.

from bulkpublish import BulkPublish

bp = BulkPublish("bp_your_key_here")
bp.posts.create(
    content="Launching our new product today!",
    channels=[{"channelId": 1, "platform": "x"}, {"channelId": 2, "platform": "linkedin"}],
    status="scheduled",
    scheduled_at="2026-04-10T09:00:00Z",
)

Por que BulkPublish?

A maioria das ferramentas de mídias sociais é feita para humanos clicando em botões. O BulkPublish é feito para código — seja esse código escrito por um desenvolvedor, um agente de IA, um LLM com uso de ferramentas ou um fluxo de trabalho autônomo.

  • Headless por design — Sem navegador, sem interface, sem pop-ups de OAuth em tempo de execução. Conecte contas uma vez no painel e automatize tudo via API.
  • Nativo para IA — Servidor MCP para Claude, definições de ferramentas para GPT e LangChain, respostas JSON estruturadas que LLMs analisam de forma confiável.
  • Pronto para agentes — API determinística com códigos de erro claros. Agentes de IA podem criar posts, verificar status, repetir falhas e ler análises de forma autônoma.
  • 15 plataformas, um endpoint — Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr, Snapchat.

Casos de Uso

  • Gerentes de mídias sociais com IA — Deixe Claude, GPT ou agentes personalizados agendarem e publicarem posts de forma autônoma
  • Pipelines de conteúdo — Automação de RSS para redes sociais, blog para redes sociais, newsletter para redes sociais
  • Agendamento em massa — Envie um CSV ou alimente um calendário de conteúdo e agende semanas de posts programaticamente
  • Sindicação entre plataformas — Publique uma vez em todas as plataformas com otimização de conteúdo por plataforma
  • Painéis de análise — Puxe dados de engajamento para suas próprias ferramentas, planilhas ou análise com IA
  • Alternativas ao Zapier/n8n/Make — Acesso direto à API sem middleware, menor latência, mais controle
  • Criação de conteúdo com LLM — Gere conteúdo com IA, publique com BulkPublish, acompanhe o desempenho e itere

Início Rápido

1. Cadastre-se

Crie uma conta gratuita em app.bulkpublish.com.

2. Obtenha sua chave de API

Vá para Configurações > Desenvolvedor no painel e crie uma chave de API. As chaves começam com bp_ e são exibidas apenas uma vez — salve-a com segurança.

3. Conecte as plataformas

Conecte suas contas de mídias sociais no painel em Canais. A API usa seus canais conectados para publicar.

4. Instale um SDK

Python

pip install bulkpublish

Node.js

npm install bulkpublish

Homebrew (macOS/Linux)

brew tap azeemkafridi/bulkpublish && brew install bulkpublish

Ou chame a API REST diretamente com curl, fetch, requests ou qualquer cliente HTTP.

5. Faça sua primeira chamada de API

curl -X POST https://app.bulkpublish.com/api/posts \
  -H "Authorization: Bearer bp_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Hello from the BulkPublish API!",
    "channels": [{"channelId": 1, "platform": "linkedin"}],
    "status": "draft"
  }'

Integração com Agentes de IA

Servidor MCP (Claude, Cursor, Windsurf, Claude Code)

O BulkPublish inclui um servidor MCP para que assistentes de IA possam gerenciar suas mídias sociais diretamente:

{
  "mcpServers": {
    "bulkpublish": {
      "command": "npx",
      "args": ["-y", "@bulkpublish/mcp-server"],
      "env": {
        "BULKPUBLISH_API_KEY": "bp_your_key_here"
      }
    }
  }
}

50 ferramentas disponíveis: create_post, list_channels, upload_media, get_analytics, o compositor interativo compose_post (MCP Apps) e muito mais. Executa localmente (stdio) ou hospedado via Streamable HTTP em https://mcp.bulkpublish.com/mcp. Veja mcp-server/README.md.

Uso de Ferramentas / Chamada de Funções com LLM

Definições de ferramentas prontas para agentes de IA autônomos:

Todos os exemplos são scripts completos e executáveis com tratamento de erros.

Exemplos de Código

Criar um Post

PythonNode.js
from bulkpublish import BulkPublish

bp = BulkPublish("bp_your_key_here")

post = bp.posts.create(
    content="Check out our latest update!",
    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_your_key_here' });

const post = await bp.posts.create({
  content: 'Check out our latest update!',
  channels: [
    { channelId: 1, platform: 'facebook' },
    { channelId: 2, platform: 'x' },
    { channelId: 3, platform: 'linkedin' },
  ],
  status: 'draft',
});

Agendar um Post

post = bp.posts.create(
    content="This will go out tomorrow morning.",
    channels=[{"channelId": 1, "platform": "instagram"}],
    status="scheduled",
    scheduled_at="2026-04-10T09:00:00Z",
    timezone="America/New_York",
)

Enviar Mídia e Publicar

media = bp.media.upload("./product-photo.jpg")

post = bp.posts.create(
    content="Our newest product is here.",
    channels=[{"channelId": 1, "platform": "instagram"}],
    media_files=[media["file"]["id"]],
    status="scheduled",
    scheduled_at="2026-04-10T12:00:00Z",
)

Exemplo de Automação: Agendamento em Massa a partir de CSV

import csv
from bulkpublish import BulkPublish

bp = BulkPublish("bp_your_key_here")
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",
        )

Mais exemplos em examples/ — incluindo scripts de automação em Python, exemplos em Node.js, referência curl e integrações com agentes de IA.

Recursos

  • 15 plataformas — Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr, Snapchat
  • Agendamento — Agende posts para qualquer horário futuro com suporte a fusos horários, ou deixe as vagas da fila escolherem horários ideais
  • Upload de mídia — Imagens (JPEG, PNG, WebP, GIF) e vídeos (MP4, MOV, WebM) de até 100 MB
  • Agendamentos recorrentes — Repita posts diariamente, semanalmente, quinzenalmente ou mensalmente em um horário definido
  • Análises — Acompanhe impressões, curtidas, comentários, compartilhamentos e engajamento. Cada plataforma reporta um subconjunto diferente de métricas, e a resposta indica quais (supportedMetrics / supportedTotals) para que um 0 nunca seja confundido com uma medição — veja Métricas por Plataforma
  • Rastreamento de links — Opte por organização ou por post via linkTrackingOverride para reescrever links através de bulkpubli.sh e contar os cliques. Reportado como linkClicks / totalLinkClicks e medido pelo BulkPublish em vez da plataforma, funcionando mesmo onde a plataforma não reporta nada — veja Limites de Caracteres
  • Etiquetas — Organize posts e mídias com etiquetas coloridas
  • Operações em massa — Exclua ou repita vários posts em uma única solicitação
  • Threads — Posts em várias partes para X, Threads, Bluesky e Mastodon
  • Primeiro comentário automático — Adicione automaticamente um comentário após publicar em qualquer plataforma
  • Todos os tipos de post — Reels, Stories, Carousels, Threads, Shorts, Vídeo — definidos por plataforma via postTypeOverrides
  • Conteúdo por plataforma — Personalize texto e opções por plataforma em um único post
  • Opções específicas de plataforma — Colaboradores do Instagram, privacidade do TikTok, categorias do YouTube, quadros do Pinterest e muito mais

Referência da API

Documentação interativa completa da API: app.bulkpublish.com/docs

URL Base

https://app.bulkpublish.com

Autenticação

Authorization: Bearer bp_your_key_here

Endpoints Principais

MétodoEndpointDescrição
POST/api/postsCriar um post (rascunho, agendado ou imediato)
GET/api/postsListar posts (paginado, filtrável por status/data/canal/etiqueta)
GET/api/posts/:idObter um post com status e métricas da plataforma
PUT/api/posts/:idAtualizar um rascunho ou post agendado
DELETE/api/posts/:idExcluir um post
POST/api/posts/:id/publishPublicar um rascunho imediatamente
POST/api/posts/:id/retryRepetir plataformas com falha
POST/api/posts/:id/approveAprovar um post aguardando aprovação da equipe (funções com post:approve)
POST/api/posts/:id/rejectRejeitar um post pendente de volta para rascunho, com motivo opcional
POST/api/posts/bulkExcluir ou repetir em massa
GET/api/channelsListar canais de mídias sociais conectados
GET/api/channels/:id/healthVerificar a saúde do token do canal
GET/api/channels/:id/optionsObter opções da plataforma (quadros do Pinterest, playlists do YouTube)
GET/api/channels/:id/mentionsBuscar usuários para @menção (X, Bluesky)
GET/POST/api/channel-setsGrupos de canais salvos para segmentação com um clique (atualizar/excluir via /api/channel-sets/:id)
GET/POST/api/rss-feedsFeeds de autopostagem RSS/Atom — novos itens viram posts (atualizar/excluir via /api/rss-feeds/:id)
POST/api/mediaEnviar um arquivo de mídia (formulário multipart, até 100MB)
POST/api/media/multipart/createIniciar um upload em partes para mídias grandes (vídeos até 1GB, partes de 10MB)
POST/api/media/multipart/completeMontar as partes enviadas e registrar o arquivo de mídia
GET/api/mediaListar mídias enviadas
GET/api/analytics/summaryResumo de análises para um intervalo de datas
GET/api/analytics/engagementDados de engajamento agrupados por dia/semana/mês
POST/api/schedulesCriar um agendamento recorrente
GET/api/quotas/usageVerificar limites e uso do plano atual

Veja a especificação OpenAPI para a lista completa de endpoints.

Plataformas Suportadas

PlataformaTipos de PostMídia
FacebookPost, StoryImagens, Vídeos
InstagramFeed, Reel, Story, CarouselImagens (JPEG), Vídeos (MP4, MOV)
X / TwitterTweet, ThreadImagens, Vídeos, GIFs
TikTokVídeo, Apresentação de FotosVídeos (MP4, MOV), Imagens
YouTubeVídeo, ShortVídeos (MP4, MOV, WebM, AVI, WMV, FLV)
ThreadsPost, Thread, Post com CitaçãoImagens, Vídeos
BlueskyPost, ThreadImagens
PinterestPinImagens, Vídeos
Google Business ProfilePost, Evento, OfertaImagens
LinkedInPost, Multi-imagem, Carrossel PDF, ArtigoImagens (JPEG, PNG, GIF), Vídeos (MP4)
MastodonPost, ThreadImagens, Vídeos
SnapchatStory, Story Salva, SpotlightExatamente 1 imagem (JPG, PNG) ou vídeo (MP4, MOV, vertical, 5–60s, máx. 1GB)

SDKs

Python

pip install bulkpublish

Suporta síncrono e assíncrono. Docstrings ricas em cada método para consumo por IDE e LLM.

Node.js / TypeScript

npm install bulkpublish

Tipos TypeScript completos, zero dependências, fetch nativo (Node 18+).

Homebrew (macOS/Linux)

brew tap azeemkafridi/bulkpublish && brew install bulkpublish

Instala o SDK Node via Homebrew.

API REST

Nenhum SDK necessário — qualquer cliente HTTP funciona:

curl https://app.bulkpublish.com/api/channels \
  -H "Authorization: Bearer bp_your_key_here"

Limites de Taxa

LimiteGratuitoProBusiness
Gravações/min606060
Leituras/min300300300
Solicitações diárias de API1005.00050.000
Chaves de API1510

| Agendamentos recorrentes | — | 10 | Ilimitados |

Veja o guia de limites de taxa para cabeçalhos, estratégias de backoff e melhores práticas.

Guias

  • Autenticação — Chaves de API, autorização, gerenciamento de chaves
  • Agendamento — Posts agendados, vagas na fila, agendamentos recorrentes, fusos horários
  • Uploads de Mídia — Uploads de arquivos, formatos suportados, uso de mídia em posts
  • Opções de Plataforma — Configuração e peculiaridades por plataforma
  • Limites de Taxa — Limites de rajada, cotas diárias, melhores práticas

Integrações

PlataformaPacoteInstalação
ZapierBulkPublish no ZapierPesquise "BulkPublish" no Zapier
n8nn8n-nodes-bulkpublishConfigurações > Nós da Comunidade > n8n-nodes-bulkpublish
Homebrewhomebrew-bulkpublishbrew tap azeemkafridi/bulkpublish && brew install bulkpublish

Links

RecursoURL
Painelapp.bulkpublish.com
Documentação da APIapp.bulkpublish.com/docs
Sitebulkpublish.com
E-mailsupport@bulkpublish.com

Licença

MIT

Plugin do Cursor

Este repositório também funciona como um repositório de marketplace do Cursor. O plugin em plugins/bulkpublish aponta o Cursor para o servidor MCP hospedado e inclui seis habilidades de referência.

Instale em Configurações do Cursor → Plugins, ou execute /add-plugin bulkpublish.

node scripts/validate-cursor-plugin.mjs