Statusbrew Companion social inbox & post insights API
Statusbrew Companion App is Statusbrew's Android client for the social-media workspace that community managers and agency operators already run on the web. They live in the Engage inbox to answer Instagram, Facebook, TikTok, YouTube, LinkedIn, X, WhatsApp and Google Business comments, mentions, reviews and DMs; they also review the publish planner, approve or reject scheduled posts with one tap, check per-post insights, look up CRM contacts, and watch competitor channels — with Instagram and TikTok native share when a network blocks direct publish from the phone. Sign-in is email and password, a magic link, or TFA, and the phone is a companion to the desktop workspace rather than a second product. Statusbrew is an India-founded SaaS (offices in Amritsar, London, Prague and Tokyo) used by brand and agency teams in the US, India and other English-speaking markets, sitting with Hootsuite, Sprout Social and Buffer as a unified inbox-plus-publisher rather than a single-network native app. Google Play lists it as a Business app with 82.1K ratings.
Assigned comment threads carry conversationId, conversationState and conversationAssignedTo on every inbound Instagram, TikTok or WhatsApp mention, while published-post insight rows add impressions, reach and engagements for the same socialProfileId. Folder badges expose inboxId, openCountsMap and unreadCountsMap; planner cards list scheduledAt, caption and postGroupId; CRM rows join contactId, email and customFields onto the handle that spoke.
Agency SLA boards watch assignment and snoozeUntil clocks, warehouse jobs rank creative by impressions and videoViews, and brand-intel notebooks line competitor externalId handles up against Instagram hashtag mediaCount. openData Studio turns those objects into callable open data.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Sign in with email
POST
/v1/session/signinopendataExchanges the teammate email and password for a session cookie and the default spaceId / organizationId that scope every later Engage, planner and insights call. Magic-link and TFA sit on the same sign-in flow.
Auth: Unauthenticated. The client then stores the session cookie and sends X-XSRF-TOKEN from the XSRF-TOKEN cookie on later calls.
- password
- displayName
- organizationId
- spaceId
- isAdmin
- role
POST /v1/session/signin HTTP/1.1 Content-Type: application/json X-Requested-With: XMLHttpRequest { "email": "[email protected]", "password": "********" }{ "email": "[email protected]", "displayName": "Alex Rao", "organizationId": "org_8f21", "spaceId": "spc_19c4", "isAdmin": false, "role": "member" }List Engage inboxes
GET
/v1/workspaces/{workspaceId}/inboxesopendataReturns the space's Engage inboxes with inboxId plus openCountsMap and unreadCountsMap used by the mobile inbox switcher and folder badges.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- inboxId
- inboxName
- inboxType
- socialNetwork
- openCountsMap
- unreadCountsMap
GET /v1/workspaces/spc_19c4/inboxes HTTP/1.1 Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest{ "inboxes": [ { "inboxId": "inb_main", "inboxName": "Brand mentions", "inboxType": "mentions", "socialNetwork": "instagram" } ], "openCountsMap": {"inb_main": 14}, "unreadCountsMap": {"inb_main": 6} }List folder conversations
GET
/v1/workspaces/{workspaceId}/inboxes/{inboxId}/threadsopendataPages the Engage folder's conversation list with assignment, sentiment, priority and network identity for the inbox screen.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- conversationId
- conversationState
- conversationPriority
- conversationSentiment
- conversationType
- conversationAssignedTo
- socialNetwork
- socialProfileId
- username
- displayName
- unread
- snoozeUntil
GET /v1/workspaces/spc_19c4/inboxes/inb_main/threads?limit=30 HTTP/1.1 Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest{ "conversations": [ { "conversationId": "cnv_7aa1", "conversationState": "open", "conversationPriority": "high", "conversationSentiment": "negative", "conversationType": "ig_comment", "conversationAssignedTo": "usr_alex", "socialNetwork": "instagram", "socialProfileId": "ig_harbor", "username": "guest.buyer", "displayName": "Guest Buyer", "lastMessageAt": "2026-10-11T18:04:22Z", "unread": true, "snoozeUntil": null } ] }Get conversation
GET
/v1/threads/{threadId}opendataLoads one Engage thread's state, assignee, CRM contactId, tags and permalink for the conversation-detail screen.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- conversationId
- conversationState
- conversationPriority
- conversationSentiment
- conversationAssignedTo
- permalink
- contactId
- tags
- customFields
- snoozeUntil
GET /v1/threads/cnv_7aa1 HTTP/1.1 Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest{ "conversationId": "cnv_7aa1", "conversationState": "open", "conversationPriority": "high", "conversationSentiment": "negative", "conversationType": "ig_comment", "conversationAssignedTo": "usr_alex", "socialNetwork": "instagram", "socialProfileId": "ig_harbor", "permalink": "https://instagram.com/p/Ab12/c/99", "contactId": "ct_4401", "tags": ["vip", "shipping"], "customFields": {"orderId": "SO-1042"}, "snoozeUntil": null }List associated messages
GET
/v1/threads/{threadId}/messagesopendataReturns the comment/DM thread body (messageType, text, permalink, attachments) shown under an Engage conversation.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- messageId
- conversationId
- messageType
- text
- username
- displayName
- profilePicture
- permalink
- attachments
GET /v1/threads/cnv_7aa1/messages HTTP/1.1 Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest{ "messages": [ { "messageId": "msg_901", "conversationId": "cnv_7aa1", "messageType": "ig_comment", "text": "When does this ship?", "username": "guest.buyer", "displayName": "Guest Buyer", "profilePicture": "https://cdn.example/u/guest.jpg", "permalink": "https://instagram.com/p/Ab12/c/99", "attachments": [], "createdAt": "2026-10-11T18:04:22Z" } ] }Send conversation reply
POST
/v1/threads/{threadId}/repliesopendataPosts a reply onto an Engage thread from the conversation-detail composer (comments, mentions and DMs).
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- conversationId
- messageId
- messageType
- text
- attachments
- username
- status
POST /v1/threads/cnv_7aa1/replies HTTP/1.1 Content-Type: application/json Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest { "text": "Ships tomorrow from the SF warehouse.", "messageType": "ig_comment", "attachments": [] }{ "messageId": "msg_902", "conversationId": "cnv_7aa1", "messageType": "ig_comment", "text": "Ships tomorrow from the SF warehouse.", "username": "harbor.studio", "createdAt": "2026-10-11T18:06:01Z", "status": "sent" }Execute conversation actions
POST
/v1/threads/{threadId}/actionsopendataApplies assign, priority, snooze or close writes from the conversation action sheet onto one Engage thread.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- conversationId
- assignedTo
- conversationAssignedTo
- conversationPriority
- conversationState
- snoozeUntil
- status
POST /v1/threads/cnv_7aa1/actions HTTP/1.1 Content-Type: application/json Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest { "actions": [ {"type": "assign", "assignedTo": "usr_alex"}, {"type": "set_priority", "conversationPriority": "high"}, {"type": "snooze", "snoozeUntil": "2026-10-12T09:00:00Z"} ] }{ "conversationId": "cnv_7aa1", "conversationState": "open", "conversationAssignedTo": "usr_alex", "conversationPriority": "high", "snoozeUntil": "2026-10-12T09:00:00Z", "status": "ok" }List conversation activities
GET
/v1/workspaces/{workspaceId}/thread-eventsopendataReturns the activity trail of assign, snooze, close and reply events shown on an Engage thread.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- activityId
- conversationId
- type
- actorId
- assignedTo
- snoozeUntil
- createdAt
GET /v1/workspaces/spc_19c4/thread-events?conversationId=cnv_7aa1 HTTP/1.1 Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest{ "activities": [ { "activityId": "act_12", "conversationId": "cnv_7aa1", "type": "conversationAssigned", "actorId": "usr_alex", "assignedTo": "usr_alex", "createdAt": "2026-10-11T18:05:10Z" }, { "activityId": "act_13", "conversationId": "cnv_7aa1", "type": "conversationSnoozed", "snoozeUntil": "2026-10-12T09:00:00Z", "createdAt": "2026-10-11T18:05:40Z" } ] }Get published post insights
GET
/v1/posts/{postId}/metricsopendataReads per-post insight metrics (impressions, reach, engagements, likes, comments, shares, saved, clicks, videoViews) for the post-detail insights pane.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- postId
- socialProfileId
- socialNetwork
- publishedAt
- impressions
- reach
- engagements
- likes
- comments
- shares
- saved
- clicks
- videoViews
GET /v1/posts/pst_55c2/metrics HTTP/1.1 Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest{ "postId": "pst_55c2", "socialProfileId": "ig_harbor", "socialNetwork": "instagram", "publishedAt": "2026-10-10T15:00:00Z", "impressions": 18420, "reach": 12110, "engagements": 932, "likes": 704, "comments": 41, "shares": 18, "saved": 129, "clicks": 40, "videoViews": 0 }Query publish-post performance
GET
/v1/workspaces/{workspaceId}/post-performanceopendataAggregates published-post performance for a date range so the mobile insights home can rank posts by impressions and engagements.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- spaceId
- startDate
- endDate
- metrics
- impressions
- reach
- engagements
- likes
- comments
- shares
- videoViews
- postId
GET /v1/workspaces/spc_19c4/post-performance?startDate=2026-10-01&endDate=2026-10-11 HTTP/1.1 Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest{ "spaceId": "spc_19c4", "startDate": "2026-10-01", "endDate": "2026-10-11", "metrics": { "impressions": 240110, "reach": 188440, "engagements": 9120, "likes": 7011, "comments": 640, "shares": 390, "videoViews": 22100 }, "posts": [ { "postId": "pst_55c2", "socialNetwork": "instagram", "impressions": 18420, "engagements": 932 } ] }List planner posts
GET
/v1/workspaces/{workspaceId}/calendar/{view}/itemsopendataLists calendar/planner posts with scheduledAt, caption and status for the mobile publish planner and approval queue.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- postId
- postGroupId
- socialProfileId
- socialNetwork
- caption
- postText
- scheduledAt
- publishedAt
- status
- mediaUrl
- thumbnailUrl
GET /v1/workspaces/spc_19c4/calendar/month/items HTTP/1.1 Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest{ "plannerPosts": [ { "postId": "pst_55c2", "postGroupId": "pg_88", "socialProfileId": "ig_harbor", "socialNetwork": "instagram", "caption": "Autumn drop — link in bio", "postText": "Autumn drop — link in bio", "scheduledAt": "2026-10-12T15:00:00Z", "publishedAt": null, "status": "scheduled", "mediaUrl": "https://cdn.example/m/drop.jpg", "thumbnailUrl": "https://cdn.example/m/drop_th.jpg" } ] }Approve scheduled post
POST
/v1/posts/{postId}/approvalopendataMarks a planner post approved so it can go out at scheduledAt (paired with reject and send-now on the same publish flow).
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- postId
- postGroupId
- status
- scheduledAt
- approvedBy
- socialProfileId
POST /v1/posts/pst_55c2/approval HTTP/1.1 Content-Type: application/json Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest { "postId": "pst_55c2" }{ "postId": "pst_55c2", "postGroupId": "pg_88", "status": "approved", "scheduledAt": "2026-10-12T15:00:00Z", "approvedBy": "usr_alex", "socialProfileId": "ig_harbor" }List connected channels
GET
/v1/workspaces/{workspaceId}/profilesopendataLists social profiles connected to the space (network, handle, externalId) used by Engage, planner and insights screens.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- socialProfileId
- socialNetwork
- username
- displayName
- externalId
- profilePicture
GET /v1/workspaces/spc_19c4/profiles?format=detailed HTTP/1.1 Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest{ "channels": [ { "socialProfileId": "ig_harbor", "socialNetwork": "instagram", "username": "harbor.studio", "displayName": "Harbor Studio", "externalId": "17841400000000000", "profilePicture": "https://cdn.example/u/harbor.jpg" } ] }Query CRM contacts
POST
/v1/workspaces/{workspaceId}/crm/searchosintSearches the space CRM for social contacts (handle, email, phone, tags, customFields) linked from Engage threads.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- contactId
- username
- displayName
- phone
- socialNetwork
- profilePicture
- tags
- customFields
POST /v1/workspaces/spc_19c4/crm/search HTTP/1.1 Content-Type: application/json Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest { "query": "guest.buyer", "limit": 20, "filters": [] }{ "contacts": [ { "contactId": "ct_4401", "username": "guest.buyer", "displayName": "Guest Buyer", "email": "[email protected]", "phone": "+1-415-555-0199", "socialNetwork": "instagram", "profilePicture": "https://cdn.example/u/guest.jpg", "tags": ["vip"], "customFields": {"orderId": "SO-1042"} } ] }Search competitor channels
GET
/v1/workspaces/{workspaceId}/rivals/{network}osintSearches competitor social channels tracked in the space (network, handle, externalId) for competitive monitoring.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- competitorChannelsCount
- id
- socialNetwork
- username
- displayName
- profilePicture
- externalId
GET /v1/workspaces/spc_19c4/rivals/instagram HTTP/1.1 Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest{ "competitorChannelsCount": 4, "channels": [ { "id": "cmp_ig_north", "socialNetwork": "instagram", "username": "north.studio", "displayName": "North Studio", "profilePicture": "https://cdn.example/u/north.jpg", "externalId": "17841400000000000" } ] }Get report widget insights
GET
/v1/dashboards/{widgetId}/seriesopendataReturns a saved-report widget's insight series (metricName, dimensions, impressions/reach/engagements) for mobile report viewing.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- widgetId
- metricName
- dimensions
- startDate
- endDate
- insights
- impressions
- reach
- engagements
- socialNetwork
GET /v1/dashboards/wdg_reach/series?startDate=2026-10-01&endDate=2026-10-11 HTTP/1.1 Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest{ "widgetId": "wdg_reach", "metricName": "impressions", "dimensions": ["socialNetwork"], "startDate": "2026-10-01", "endDate": "2026-10-11", "insights": [ {"socialNetwork": "instagram", "impressions": 120440, "reach": 98012, "engagements": 4102}, {"socialNetwork": "tiktok", "impressions": 88010, "reach": 64008, "engagements": 2210} ] }Get best time to post
GET
/v1/workspaces/{workspaceId}/schedule-hintsopendataSuggests historically strong publish hours for a socialProfileId so the planner can auto-slot a draft.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- spaceId
- socialProfileId
- socialNetwork
- weekday
- hour
- score
- engagements
GET /v1/workspaces/spc_19c4/schedule-hints?socialProfileId=ig_harbor HTTP/1.1 Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest{ "spaceId": "spc_19c4", "socialProfileId": "ig_harbor", "socialNetwork": "instagram", "slots": [ {"weekday": 2, "hour": 15, "score": 0.91, "engagements": 1204}, {"weekday": 4, "hour": 11, "score": 0.87, "engagements": 980} ] }List Instagram hashtag keywords
GET
/v1/workspaces/{workspaceId}/hashtag-watchosintLists Instagram hashtag keywords the space listens on, with mediaCount, for listening and hashtag-report screens.
Auth: Session cookie from POST /v1/session/signin plus X-XSRF-TOKEN CSRF header.
- instagramHashtagKeywordId
- hashtag
- mediaCount
- socialNetwork
GET /v1/workspaces/spc_19c4/hashtag-watch HTTP/1.1 Cookie: <session>; XSRF-TOKEN=<token> X-XSRF-TOKEN: <token> X-Requested-With: XMLHttpRequest{ "keywords": [ { "instagramHashtagKeywordId": "hk_autumn", "hashtag": "autumndrop", "mediaCount": 18420, "socialNetwork": "instagram" } ] }
Data categories
- conversations
- social-insights
- publishing
- contacts
- competitor-intel
- hashtags
Where teams use this data
Agency social-care SLA board
A desk board pulls conversationId, conversationState, conversationAssignedTo, conversationPriority and snoozeUntil from Engage threads, then overlays openCountsMap / unreadCountsMap per inboxId so shift leads can see which Instagram and TikTok queues are breaching first-response SLAs.
Nightly post-performance warehouse
A BI job pages publish-post insights and space-level performance for impressions, reach, engagements, likes, comments, shares, saved, clicks and videoViews, joining on socialProfileId and publishedAt to compare organic vs boosted creative.
CRM enrichment from social handles
Support ops match contactId, username, email, phone, tags and customFields from the contacts query onto tickets opened from Engage permalinks, so a commenter is the same person as the Shopify order without a second lookup.
Competitor and hashtag listening
A brand-intel notebook lists competitor channels (username, externalId, socialNetwork) next to Instagram hashtag mediaCount so content teams can see which rival handles and tags are moving before they slot the next planner caption.
Frequently asked questions
What social networks does the Statusbrew Companion API cover?
Conversation and post payloads always include socialNetwork plus socialProfileId. Connected channels cover Facebook, X, Instagram, LinkedIn, YouTube, Google Business Profile, Pinterest, WhatsApp, TikTok and Threads, so a row joins back to the profile that received the comment, mention or DM.
Which insight metrics are on a published post?
The post-insights call returns impressions, reach, engagements, likes, comments, shares, saved, clicks and videoViews for a postId, and the space-level publish-post performance call rolls the same metrics up across a startDate/endDate window.
How does the mobile app authenticate?
Teammates sign in with email and password (or a magic link, then TFA). The client keeps a session cookie and sends an X-XSRF-TOKEN header derived from the XSRF-TOKEN cookie on later Engage, planner and insights calls. The phone is a companion to the desktop workspace.
Can I read CRM contacts and competitor channels?
Yes. The contacts query returns contactId, username, email, phone, tags and customFields for people who messaged a connected profile. Competitor-channel search lists rival handles with externalId and socialNetwork for listening.
Apps similar to Statusbrew Companion App
- Hootsuite — Hootsuite is a social media marketing and management platform for creating, scheduling, inbox care and listening, with an Android app that schedules posts to X, Facebook, LinkedIn and Instagram.
- Sprout Social — Sprout Social is a social media management platform for planning and scheduling posts, engaging customers, performance analytics and listening, and it ships a companion Android app for those workflows away from the desktop.
- Buffer — Buffer is a social media management product for building a content library, scheduling posts and engaging a community across Instagram, Facebook, TikTok, LinkedIn, X, YouTube, Threads, Pinterest and Google Business Profile.
- Agorapulse — Agorapulse is social media management software with a social inbox, publishing, listening and reporting for networks including Facebook, Instagram, X, LinkedIn, Pinterest and TikTok.
- Later — Later is an influencer-marketing and social media management platform that schedules posts, runs a social inbox for comments and DMs, and supports approvals plus analytics.
- Sprinklr — Sprinklr Social is the social suite of Sprinklr's customer-experience platform, covering social publishing and engagement, listening, advertising and social customer service for enterprise teams.
- Meta Business Suite — Meta Business Suite is Meta's Android app for creating and scheduling posts and stories on a Facebook Page and Instagram account and answering messages and comments in one inbox.
- SocialPilot — SocialPilot is a social media management and scheduling tool for publishing, analytics, engagement and team collaboration across Facebook, Instagram, TikTok, LinkedIn, YouTube and Google Business Profile.
Topics
- Statusbrew API
- Statusbrew Companion
- social inbox API
- Instagram comment inbox
- post insights impressions reach
- social media planner API
- competitor channels
- Engage conversations
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use