Zernio
APIFor you
Zernio
APIFor you
API Reference

Posting Analytics

Cross-platform

Get post analyticsGETAnalytics changed since a cursorGETSync an external postPOSTGet post analytics timelineGETGet daily aggregated metricsGETGet best times to postGETGet content performance decayGETGet frequency vs engagementGETGet follower statsGET

Instagram

Get Instagram insightsGETGet Instagram follower historyGETGet Instagram demographicsGET

YouTube

Get YouTube channel insightsGETGet YouTube daily viewsGETGet YouTube video retention curveGETGet YouTube demographicsGET

LinkedIn

Get LinkedIn aggregate statsGETGet LinkedIn org analyticsGETGet LinkedIn post statsGETGet LinkedIn post reactionsGET

Facebook

Get Facebook Page insightsGETGet Facebook post reactionsGETGet Facebook post monetization earningsGET

TikTok

Get TikTok account-level insightsGET

Google Business

Get Google Business Profile performance metricsGETGet Google Business Profile search keywordsGET

Other

Get an analytics dashboardGETGet Facebook Page demographicsGETGet Instagram online followersGETGet LinkedIn organization follower demographicsGETList the posts a Facebook Page is tagged inGETList visitor posts on a Facebook PageGET
Dashboard
OverviewPlatformsAPI ReferenceResources
Posting Analytics

List visitor posts on a Facebook Page

Returns the posts other people published on the connected Facebook Page, newest first. Zernio reads the Page feed (Graph /{page-id}/feed, which works on New Pages Experience Pages, unlike the deprecated visitor_posts edge) and drops the posts the Page published itself and the posts other people published on their own timeline that only tag the Page. A Page without visitor posts returns an empty data array.

Cursor-paginated: pass nextCursor from the previous response as cursor to read the next page. limit sets how many feed entries are scanned, so a page can hold fewer posts than limit, or none, while nextCursor is not null. nextCursor is null when there are no more pages, and the final page can come back empty.

Works on facebook accounts with a Page selected. Meta requires the pages_read_user_content permission, which Zernio requests with the comments scope: an account connected without it receives Meta's refusal as platform_api_error.


GET
/v1/accounts/{accountId}/facebook-visitor-posts

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Path Parameters

accountId*string

The ID of a connected Facebook Page account.

Query Parameters

limit?integer

Number of Page feed entries to scan. The Page's own posts are dropped from them.

Range1 <= value <= 100
Default25
cursor?string

The nextCursor of the previous page.

Length1 <= length <= 4096

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.analytics.listFacebookVisitorPosts({  path: {    accountId: 'account_abc123',  },});console.log(data);
{  "data": [    {      "id": "108765432101234_900000000000001",      "message": "Love this page",      "createdTime": "2026-10-20T08:00:00+0000",      "from": {        "id": "27000000000001",        "name": "Jane Visitor"      },      "permalinkUrl": "https://www.facebook.com/108765432101234/posts/900000000000001",      "media": null    }  ],  "nextCursor": "QVFIUa"}
Was this page helpful?

List the posts a Facebook Page is tagged in

Returns the public posts where other people or Pages tagged the connected Facebook Page, as Meta returns them from the Page's `tagged` edge. Cursor-paginated: pass `nextCursor` from the previous response as `cursor` to read the next page. `nextCursor` is null when there are no more pages. Meta does not say whether a page is the last one, so the final page can come back empty with `nextCursor` null. Works for `facebook` accounts with a Page selected. Meta needs the `pages_read_user_content` permission on the connection: a connection made without it gets Meta's refusal back as `platform_api_error`, and reconnecting the account grants it.

List conversation analytics

Per-conversation listing with per-row totals + first/last message timestamps. The inbox analog of GET /v1/analytics (posts listing): same filter shape, same pagination, same sort/order semantics. Use as the entry point for the per-conversation analytics drawer at /v1/analytics/inbox/conversations/{conversationId}. Rows are enriched with the conversation's participant info (`participantName`, `participantUsername`, `participantPicture`) and last-message preview by joining the Conversation document scoped to the caller's team. Max date range is 365 days.