Python SDK BulkPublish

Python SDK for scheduling and publishing social posts

Publish from Python with a client that works the way you do, synchronous for scripts and async for services. Schedule posts, upload media and pull analytics into your own analysis.

Python SDK integration for BulkPublish

Python SDK operations

Python SDK can use 89 operations, sorted below into 17 areas. The list is read from the code Python SDK talks to, so everything on it works today.

AreaOperations
Analytics analytics.account(),analytics.engagement(),analytics.links(),analytics.post_history(),analytics.refresh(),analytics.summary()
Calendar notes calendar_notes.create(),calendar_notes.delete(),calendar_notes.list(),calendar_notes.update()
Channel sets channel_sets.create(),channel_sets.delete(),channel_sets.list(),channel_sets.update()
Channels channels.disconnect(),channels.get(),channels.health(),channels.list(),channels.list_platforms(),channels.update()
Client connect links client_connect_links.create(),client_connect_links.delete(),client_connect_links.list()
Hashtag groups hashtag_groups.create(),hashtag_groups.delete(),hashtag_groups.get(),hashtag_groups.list(),hashtag_groups.update()
Inbox inbox.list_conversations(),inbox.list_messages(),inbox.send_message(),inbox.update_conversation()
Labels labels.create(),labels.delete(),labels.list(),labels.update()
Media media.abort_multipart(),media.complete_multipart(),media.create_multipart(),media.delete(),media.get(),media.get_labels(),media.list(),media.set_labels(),media.thumbnail(),media.update(),media.upload()
Notifications notifications.delete(),notifications.list(),notifications.mark_read(),notifications.preferences(),notifications.update_preferences()
Organisations organizations.create(),organizations.list()
Platforms platforms.list()
Posts posts.approve(),posts.bulk(),posts.create(),posts.delete(),posts.engagement(),posts.get(),posts.list(),posts.metrics(),posts.moderate_comment(),posts.publish(),posts.publish_as_story(),posts.queue_slot(),posts.reject(),posts.reply_to_comment(),posts.retry(),posts.share(),posts.unshare(),posts.update()
Review links review_links.create(),review_links.delete(),review_links.list()
RSS autopost rss_feeds.create(),rss_feeds.delete(),rss_feeds.list(),rss_feeds.update()
Recurring schedules schedules.create(),schedules.delete(),schedules.list(),schedules.update()
Templates templates.create(),templates.delete(),templates.get(),templates.list(),templates.update()

Where the posts go

Whatever Python SDK schedules can go to any of these 15 networks, to one account or to all of them at once. Each one links to its own page with its limits and post types.

Python SDK setup

Install it with pip, pass your API key, and use either the sync or the async client. Both expose the same methods.

  1. Create a BulkPublish account and connect the channels you want to publish to.
  2. Open Settings, then Developer, and make an API key. Keys belong to one organisation and can be revoked without touching the rest.
  3. Send the key as a bearer token on every request. The reference has a worked example for each operation.

Ways teams use this

Suits data teams, automation scripts and Django or FastAPI apps that need posting or reporting built in.

  • Bulk upload a month of posts in one pass, then let the queue send them out at the times you set.
  • Write once and cross-post everywhere. One post, adapted per network, goes to every connected channel together.
  • Turn a blog or podcast RSS feed into automatic posts the moment a new item appears.
  • Read the numbers back. Impressions, engagement and link clicks come back the same way the posts went out.

Details

The practical facts about Python SDK in one place, for setting it up now or checking something later.

DetailValue
Authentication API key, made under Settings then Developer
Install pip install bulkpublish
Operations 89 operations
Networks 15 networks

Open Python SDK · Read the API docs

Frequently asked questions

What people usually want to know before they connect Python SDK.

Which parts of BulkPublish does it reach?

89 operations, listed above. Posts, media, labels, channel sets, recurring schedules, RSS autopost and analytics are all covered, which is everything the app itself calls.

How does authentication work?

An API key, sent as a bearer token. Make one under Settings then Developer. A key belongs to one organisation, and you can revoke it on its own without disturbing anything else.

Which networks can I publish to?

All 15 of them, in one call. Send the same text everywhere or override it per network, and the post is checked against each network limit before it is queued rather than after it fails.

Can I upload images and video?

Yes. Upload in one request for small files, or take a direct upload URL and send large video straight to storage in parts. Both give you a media id you attach to a post.

Can I read analytics back?

Yes. Per-post metrics and account summaries come back for every network that publishes them, and link clicks are measured by BulkPublish itself, so those are there even where a network reports nothing.

Is it free to use?

Yes, on every plan including the free one. There is no separate API charge. What you schedule counts against the same monthly post allowance as anything written in the app.

Still stuck? The Help Center walks through it step by step.

Guides and tutorials

Walkthroughs from our blog that use Python SDK.

Read the blog

BulkPublish also works with 28 other tools. Pick one to see how it connects.

Start publishing

Create an account, connect your channels, and your first post can be scheduled a couple of minutes later. Free plan, no card, cancel whenever you like.