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

  • Gestores 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 — Traga 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á em 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"
      }
    }
  }
}

79 ferramentas no servidor local (stdio): create_post, list_channels, upload_media, get_analytics, o compositor interativo compose_post (aplicativos MCP) e mais. O servidor hospedado em https://mcp.bulkpublish.com/mcp (OAuth 2.1) oferece o perfil core com 20 ferramentas: canais, posts, mídia, análises e os painéis interativos. O perfil inbox com 27 ferramentas adiciona leitura e resposta a mensagens diretas, avaliações e comentários. Consulte mcp-server/README.md.

Habilidades de conteúdo para mídias sociais

O BulkPublish inclui uma biblioteca de 24 habilidades para agentes de IA planejarem, adaptarem, revisarem, agendarem e publicarem conteúdo de mídias sociais: Habilidades de conteúdo para mídias sociais.

Uso de ferramentas LLM / Function Calling

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 os slots da fila escolherem horários ideais
  • Envio 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 — consulte 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 — consulte Limites de caracteres
  • Etiquetas — Organize posts e mídia com etiquetas coloridas
  • Grupos de hashtags — Salve conjuntos de hashtags e insira-os em um post com uma única chamada
  • Modelos — Salve o texto de um post e comece novos posts a partir dele
  • Links de revisão — Compartilhe uma página somente leitura de um post com alguém que não tem conta
  • Notas no calendário — Fixe campanhas, feriados e lembretes em dias do calendário
  • 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 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 uma postagem (rascunho, agendada ou imediata)
GET/api/postsListar postagens (paginado, filtrável por status/data/canal/etiqueta)
GET/api/posts/:idObter uma postagem com status de plataforma e métricas
PUT/api/posts/:idAtualizar um rascunho ou postagem agendada
DELETE/api/posts/:idExcluir uma postagem
POST/api/posts/:id/publishPublicar um rascunho imediatamente
POST/api/posts/:id/retryTentar novamente plataformas com falha
POST/api/posts/:id/approveAprovar uma postagem aguardando aprovação da equipe (funções com post:approve)
POST/api/posts/:id/rejectRejeitar uma postagem pendente de volta para rascunho, com um motivo opcional
POST/api/posts/bulkExclusão em massa ou nova tentativa
GET/api/channelsListar canais de mídia social conectados
GET/api/channels/:id/healthVerificar a saúde do token do canal
GET/api/channels/:id/optionsObter opções de plataforma (quadros do Pinterest, playlists do YouTube, blogs do Tumblr, canais do Discord, ?q=/?subreddit= do Reddit, pesquisa de local ?q= do Threads)
GET/api/channels/:id/mentionsPesquisar contas para @menção (X, Bluesky, Mastodon, Páginas do LinkedIn — resultados do LinkedIn são @[Name](urn:li:organization:ID) tokens mais o slug vanityName em que corresponderam)
GET/POST/api/templatesModelos de postagem salvos (obter/atualizar/excluir via /api/templates/:id)
GET/POST/api/calendar-notesNotas fixadas em dias do calendário, intervalo ?from&to (atualizar/excluir via /api/calendar-notes/:id)
POST/DELETE/api/posts/:id/shareCriar ou revogar o link de revisão somente leitura da postagem (/p/<token>)
GET/POST/api/hashtag-groupsGrupos de hashtags salvos, 1-30 hashtags cada (obter/atualizar/excluir via /api/hashtag-groups/:id)
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 se tornam postagens (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ídia grande (vídeos até 1GB, partes de 10MB)
POST/api/media/multipart/completeMontar 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/engagementTotais de engajamento, detalhamentos por dia / por plataforma / por canal, listas classificadas e completas de postagens — filtrável por canais, plataformas, etiquetas, formato e tipo de mídia; compare=1 adiciona o período anterior
GET/api/analytics/post-historyCada snapshot de métricas armazenado para uma postagem, por plataforma (tendência desde a publicação)
GET/api/analytics/linksLinks rastreados do bulkpubli.sh com contagens de cliques
POST/api/schedulesCriar um agendamento recorrente
GET/api/quotas/usageVerificar limites e uso do plano atual
GET/api/inbox/conversationsCaixa de entrada: mensagens diretas, avaliações e threads de comentários, com filtros e paginação por cursor (Pro e Business)
GET/POST/api/inbox/conversations/:id/messagesLer uma conversa, ou enviar uma resposta para a pessoa na plataforma
PATCH/api/inbox/conversations/:idMarcar como lida, arquivar, adiar ou atribuir uma conversa
GET/api/posts/:id/engagementComentários e reações em uma postagem publicada, por canal
POST/api/posts/:id/comments/replyResponder a um comentário em uma postagem publicada
POST/api/posts/:id/comments/moderateCurtir, descurtir, ocultar, reexibir ou excluir um comentário

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

Plataformas Suportadas

PlataformaTipos de PostagemMídia
FacebookPostagem, HistóriaImagens, Vídeos
InstagramFeed, Reel, História, CarrosselImagens (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)
ThreadsPostagem, Thread, Postagem com CitaçãoImagens, Vídeos
BlueskyPostagem, ThreadImagens
PinterestPinImagens, Vídeos
Google Business ProfilePostagem, Evento, OfertaImagens
LinkedInPostagem, Multi-imagem, Carrossel PDF, ArtigoImagens (JPEG, PNG, GIF), Vídeos (MP4)
MastodonPostagem, ThreadImagens, Vídeos
SnapchatHistória, História Salva, SpotlightExatamente 1 imagem (JPG, PNG) ou vídeo (MP4, MOV, vertical, máx. 1GB; vídeo de história 5–60s, Spotlight 6–60s)

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

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

| Agendamentos recorrentes | — | 10 | Ilimitado |

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

Guias

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