Establishments
Get establishment insights
Returns the latest valid figures Sofia collected for each connected account. An account not yet collected reads awaiting, never zero.
Authorizations
AuthorizationstringrequiredYour personal key or OAuth access token, sent as
Bearer <token>.
Path parameters
idstringrequiredIdentifier of the establishment.
Query parameters
periodstringThe period; the last 28 days when omitted.
Allowed values:
last24Hourslast7Dayslast28Days
Response
200application/json
The figures of each connected account.
establishmentIdstringrequiredIdentifier of the establishment
periodstringrequiredPeriod covered by the figures
Allowed values:
last24Hourslast7Dayslast28Daysdataobject[]requiredThe figures of each connected account
Show child attributes
platformstringrequiredNetwork platform identifier
viewsobjectrequiredTimes the content was displayed or played. Instagram calls this
views; it can count the same account more than once, so it is never interchangeable with reach.Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
reachobjectrequiredUnique accounts that saw the content at least once, over the period.
Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
reachDeltaPercentobjectrequiredReach change vs the previous period, in signed percent.
Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
accountsEngagedobjectrequiredUnique accounts that interacted with the content.
Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
totalInteractionsobjectrequiredLikes, comments, saves, shares and other supported interactions.
Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
likesobjectrequiredLikes over the period.
Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
commentsobjectrequiredComments over the period.
Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
sharesobjectrequiredShares over the period.
Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
savesobjectrequiredSaves over the period.
Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
engagementRatePercentobjectrequiredTotal interactions divided by accounts reached, in percent. Calculated by Sofia, not a figure the platform reports. Unavailable when reach is missing or zero.
Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
engagementDeltaPointsobjectrequiredEngagement rate change vs the previous period, in points.
Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
followersDeltaobjectrequiredNet follower change over the period. Meta withholds it for Instagram accounts under 100 followers, reported as
below-follower-threshold, not as an error and not as 0.Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
postsPublishedDuringPeriodobjectrequiredPosts published during the period.
Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
followersTotalobjectrequiredAbsolute follower count reported by the connected profile. On Instagram this comes from
instagram_business_basic, not from Insights.availablewith value 0 means the platform reported zero; an absence isunavailablewith its reason, the two are never the same figure.Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
postsTotalobjectrequiredAbsolute number of posts on the network, all time, reported by the connected profile. Same contract as
followersTotal: a reported zero stays zero, an absence stays absent.Show child attributes
statusstringrequiredWhether the platform actually reported this metric.
availablemay carry a value of 0, a measured zero.unavailablenever carries a value.Allowed values:
availableunavailablevaluenumberThe measured figure. Present only when status is
available; 0 is a real value.reasonstringWhy the metric is missing.
below-follower-thresholdis Meta withholding audience metrics under 100 followers, not an error.permission-deniedis a missing Insights scope on the connected account, permanent until the owner reconnects, never transient.not-collectedis Sofia itself not measuring this figure on this endpoint yet, the platform was never asked, so it is not to blame.Allowed values:
not-returnedunsupportedbelow-follower-thresholdpermission-deniederrornot-collectedaccount-not-eligibledata-not-readyoutside-retention-windowmayBeDelayedbooleanTrue while the platform may still be filling this window in, Instagram publishes some figures up to 48 hours late.
sourceMetricstringThe platform field this figure comes from,
full_video_watched_rateon TikTok,post_video_view_timeon Facebook. Two networks call different things "completion"; without this, a report would put them side by side as if they were comparable.granularitystringWhat the figure covers: a lifetime total, one hour, one day, the whole requested period as the network aggregated it, or one second of video. A daily series, a period aggregate and a lifetime total are not the same measurement and must not be charted on the same axis, nor summed into one another.
Allowed values:
lifetimehourdayperiodvideo-second
hasInsightsDatabooleanrequiredTrue when at least one Insights call succeeded. Followers and post counts also come from the basic profile scope, so their presence alone does not prove Insights are readable.
mayBeDelayedbooleanrequiredTrue while the platform may still be filling this window in (up to 48 hours).
socialAccountIdstringrequiredThe connected account these figures belong to.
collectionobjectrequiredCollection facts behind these figures.
Show child attributes
statestringrequiredawaiting-first-collection: the account is connected and no valid answer exists yet, every metric readsnot-collected.Allowed values:
collectedawaiting-first-collectionisOutdatedbooleanrequiredTrue when a later attempt did not succeed, or the next collection is more than an hour late. The figures stay valid for their own window and date; they are not current.
isCollectingbooleanrequiredTrue while a collection of this account is running.
collectedAtnumberWhen the network answered (unix ms).
windowStartnumberStart of the window the network was asked for (unix ms).
windowEndnumberEnd of the window the network was asked for (unix ms).
completenessstringpartial: the network answered only part of the window, or some metrics failed.Allowed values:
completepartialnextCollectionAtnumberWhen the next collection is due (unix ms).
lastFailedAttemptobjectThe last attempt, when it ended after the figures shown and did not succeed.
Show child attributes
atnumberrequiredWhen the attempt ended (unix ms)
outcomestringrequireddeferred: the network asked Sofia to wait (rate limit, quota).failed: anything else.Allowed values:
faileddeferredreasonstringWhy, as Sofia classified it (
reauthentication-required,platform-error…).
reachDailySeriesnumber[]Daily reach values. Absent when the platform returned no series, never zero-filled.
engagementDailySeriesnumber[]Daily engagement rate in percent. Absent on Instagram:
total_interactionshas no time-series mode, so no honest per-day rate exists.followersDailySeriesnumber[]Daily net follower change. Absent when the platform does not report it.
fetchedAtnumberWhen the network answered (unix ms). Absent until the first collection succeeds.
401
The token is missing, unknown, expired or revoked.
403
The token does not have the insights:read scope.
404
Establishment outside the Workspace of the token.
4XXapplication/json
Any other error, in the error envelope.