Skip to content

Socifyr Python SDK ​

The socifyr package is a small Python client for the Socifyr REST API. Create one Socifyr object with an API key and workspace ID, then call methods on uploads, workspaces, analytics and ai. Responses come back as plain dict and list values, not typed models.

python
from socifyr import Socifyr

client = Socifyr(api_key="sk_...", workspace_id="ws_...")

ack = client.uploads.text(
    connections=["x-myhandle", "linkedin-mybrand"],
    text="Shipped v2 today.",
)
print(ack["requestId"])

Each request sends Authorization: Bearer <api_key> and X-Workspace-Id, and the client returns the data part of the { success, data } envelope.

How do I install it? ​

bash
pip install socifyr

Requires Python 3.9 or newer and the requests library. See Installation.

What can the Python SDK do? ​

ResourceMethodsPage
uploadstext, photos, video, bulk_schedule, get_status, list, get, retry, publish_draftUploads
workspaceslist_connections, refresh_connection, reconnect_link, usageWorkspaces
analyticsget, get_post, sync, followers, accountsAnalytics
aigenerate_caption, suggest_hashtagsReference
module functionverify_webhook_signatureWebhooks

There is no media resource, no file upload, no webhook management and no engagement resource. See Media for the workaround.

How does it compare with the TypeScript SDK? ​

CapabilityTypeScript SDKPython SDK
Publish textyesyes
Publish photos and video by media ID or URLyesyes
Upload raw files while postingyes (Buffer, Blob)no
Publish documentsyesno
Per-platform options (platformOptions)yesno
title, description, linkUrl, contentFormat fieldsyesno
Schedule (scheduledAt, timezone)yesscheduled_at on all; timezone on text only
Save draftall create methodstext only
Bulk CSV or rows schedulingyesyes
Status, list, getyesyes
Wait for completion helperwaitForCompletionno, poll get_status
Retry failed channels, publish draftyesyes
Cancel, publish now, update draft, archiveyesno
Media library (list, update, delete)yesno
AI captions and hashtagsyesyes (no brand_voice, no status)
Analytics: aggregate, post, syncyesyes
Follower growth and account comparisonyesyes
Platform metrics metadatayesno
Engagement backfill and insights resetyesno
Webhook CRUD and deliveriesyesno
Webhook signature verificationyesyes
Parse webhook event helperyesno, use json.loads
Workspaces, members, invitations, API keysyesno
List, refresh, reconnect connectionsyesyes
Automatic retriessafe methods onlynone
Typed modelsyesno, dict
Approvals (submit, approve, reject)nono

For anything marked "no" you can call the REST API directly or use the TypeScript SDK.

FAQ ​

Does client.uploads.text() wait for the post to publish? ​

No. Every create method in the Python SDK sends async: true, so the call returns an acknowledgement with requestId and you poll get_status. See Uploads.

Is the package async? ​

No. It uses requests and blocks. Run it in a thread or worker if you need concurrency.

Where do credentials come from? ​

Constructor arguments first, then the SOCIFYR_API_KEY, SOCIFYR_WORKSPACE_ID and SOCIFYR_API_URL environment variables. See Configuration.

Next steps ​