Social Media Content Intelligence API Documentation

Read supplied posts, comments, and analytics exports, calculate engagement from those numbers, and organize the supplied text. Payment is the exact USDC price on Base with x402.

POSThttps://brainiac.software/api/v1/social-content/post-performance-analyze$0.04 USDC

Analyze post performance

Calculate engagement and an engagement rate from supplied impressions, likes, comments, shares, and saves. A missing count is left out, and no rate is calculated without impressions. Equal rates keep the caller's input order.

Body

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
postsNoarray; Array
commentsNoarray; Array
hashtagsNoarray; Array
windowNoobject; Object
platformNostring
accountNoobject; Object

Request exampleJSON

{
  "text": "Post: P-1 | instagram | 2026-11-01 | 1000 | 40 | 5 | 2 | 1 | Launch day #launch\nPost: P-2 | instagram | 2026-11-02 | 100 | 4 | 0 | 0 | 0 | Launch day #launch\nPost: P-3 | instagram | 2026-11-03 | | 3 | 1 | 0 | 0 | Office hours\n"
}

Response exampleJSON

{
  "checkedAt": "2026-11-03T18:00:00.000Z",
  "status": "checked",
  "posts": [
    {
      "id": "P-1",
      "platform": "instagram",
      "date": "2026-11-01",
      "impressions": 1000,
      "impressionsSupplied": true,
      "likes": 40,
      "comments": 5,
      "shares": 2,
      "saves": 1,
      "engagement": 48,
      "engagementSupplied": true,
      "counted": "likes,comments,shares,saves",
      "rate": 0.048,
      "rateCalculated": true,
      "rank": 1
    },
    {
      "id": "P-2",
      "platform": "instagram",
      "date": "2026-11-02",
      "impressions": 100,
      "impressionsSupplied": true,
      "likes": 4,
      "comments": 0,
      "shares": 0,
      "saves": 0,
      "engagement": 4,
      "engagementSupplied": true,
      "counted": "likes,comments,shares,saves",
      "rate": 0.04,
      "rateCalculated": true,
      "rank": 2
    },
    {
      "id": "P-3",
      "platform": "instagram",
      "date": "2026-11-03",
      "impressions": 0,
      "impressionsSupplied": false,
      "likes": 3,
      "comments": 1,
      "shares": 0,
      "saves": 0,
      "engagement": 4,
      "engagementSupplied": true,
      "counted": "likes,comments,shares,saves",
      "rate": 0,
      "rateCalculated": false,
      "rank": 3
    }
  ],
  "published": false,
  "scraped": false,
  "reachInvented": false,
  "postsRemoved": false,
  "findings": [
    {
      "kind": "missing",
      "code": "impressions_missing",
      "subject": "P-3",
      "detail": "Impressions were not supplied, so no engagement rate was calculated."
    }
  ],
  "limitations": [
    "Engagement metrics are calculated only from numbers supplied in the request.",
    "No account is scraped and no platform restriction is bypassed.",
    "No post is published or scheduled.",
    "Hashtag counts and impressions come only from the supplied posts and hashtag rows. Current popularity and reach are not estimated.",
    "A calendar slot or repurposed draft uses text from the request. Text is shortened only for a documented character limit of a specified platform."
  ]
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/social-content/post-performance-analyze" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "text": "Post: P-1 | instagram | 2026-11-01 | 1000 | 40 | 5 | 2 | 1 | Launch day #launch\nPost: P-2 | instagram | 2026-11-02 | 100 | 4 | 0 | 0 | 0 | Launch day #launch\nPost: P-3 | instagram | 2026-11-03 | | 3 | 1 | 0 | 0 | Office hours\n"
}
JSON
POSThttps://brainiac.software/api/v1/social-content/calendar-generate$0.05 USDC

Draft a content calendar

Place supplied posts on a caller-supplied window. Dated posts stay on their date. Undated posts fill empty days in input order. No caption is written and nothing is scheduled.

Body

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
postsNoarray; Array
commentsNoarray; Array
hashtagsNoarray; Array
windowNoobject; Object
platformNostring
accountNoobject; Object

Request exampleJSON

{
  "text": "Platform: instagram\nWindow: 2026-11-03 | 3\nPost: P-1 | instagram | 2026-11-04 | | | | | | Monday note\nPost: P-2 | | | | | | | | Undated note\nPost: P-3 | x | 2026-11-04 | | | | | | Other platform\n"
}

Response exampleJSON

{
  "checkedAt": "2026-11-03T18:00:00.000Z",
  "status": "drafted",
  "scheduled": false,
  "slots": [
    {
      "date": "2026-11-03",
      "id": "P-2",
      "platform": "",
      "text": "Undated note",
      "source": "undated"
    },
    {
      "date": "2026-11-04",
      "id": "P-1",
      "platform": "instagram",
      "text": "Monday note",
      "source": "dated"
    }
  ],
  "unplaced": [
    {
      "id": "P-3",
      "reason": "platform_differs"
    }
  ],
  "published": false,
  "scraped": false,
  "reachInvented": false,
  "postsRemoved": false,
  "findings": [
    {
      "kind": "observation",
      "code": "platform_differs",
      "subject": "P-3",
      "detail": "This post names a different platform from the requested target. It was not rewritten."
    }
  ],
  "limitations": [
    "Engagement metrics are calculated only from numbers supplied in the request.",
    "No account is scraped and no platform restriction is bypassed.",
    "No post is published or scheduled.",
    "Hashtag counts and impressions come only from the supplied posts and hashtag rows. Current popularity and reach are not estimated.",
    "A calendar slot or repurposed draft uses text from the request. Text is shortened only for a documented character limit of a specified platform."
  ]
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/social-content/calendar-generate" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "text": "Platform: instagram\nWindow: 2026-11-03 | 3\nPost: P-1 | instagram | 2026-11-04 | | | | | | Monday note\nPost: P-2 | | | | | | | | Undated note\nPost: P-3 | x | 2026-11-04 | | | | | | Other platform\n"
}
JSON
POSThttps://brainiac.software/api/v1/social-content/repurpose$0.05 USDC

Repurpose content for a platform

Shorten supplied text to a documented character limit only when the caller names a target platform. No words are added and nothing is published.

Body

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
postsNoarray; Array
commentsNoarray; Array
hashtagsNoarray; Array
windowNoobject; Object
platformNostring
accountNoobject; Object

Request exampleJSON

{
  "platform": "x",
  "posts": [
    {
      "id": "P-1",
      "text": "word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word"
    },
    {
      "id": "P-2",
      "text": "Short note"
    }
  ]
}

Response exampleJSON

{
  "checkedAt": "2026-11-03T18:00:00.000Z",
  "status": "drafted",
  "scheduled": false,
  "platform": "x",
  "limit": 280,
  "drafts": [
    {
      "id": "P-1",
      "platform": "x",
      "text": "word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word",
      "characters": 279,
      "limit": 280,
      "truncated": true,
      "adapted": true
    },
    {
      "id": "P-2",
      "platform": "x",
      "text": "Short note",
      "characters": 10,
      "limit": 280,
      "truncated": false,
      "adapted": false
    }
  ],
  "published": false,
  "scraped": false,
  "reachInvented": false,
  "postsRemoved": false,
  "findings": [
    {
      "kind": "observation",
      "code": "text_shortened",
      "subject": "P-1",
      "detail": "The draft was cut to 280 characters for the specified platform. No words were added."
    }
  ],
  "limitations": [
    "Engagement metrics are calculated only from numbers supplied in the request.",
    "No account is scraped and no platform restriction is bypassed.",
    "No post is published or scheduled.",
    "Hashtag counts and impressions come only from the supplied posts and hashtag rows. Current popularity and reach are not estimated.",
    "A calendar slot or repurposed draft uses text from the request. Text is shortened only for a documented character limit of a specified platform."
  ]
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/social-content/repurpose" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "platform": "x",
  "posts": [
    {
      "id": "P-1",
      "text": "word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word"
    },
    {
      "id": "P-2",
      "text": "Short note"
    }
  ]
}
JSON
POSThttps://brainiac.software/api/v1/social-content/hashtag-analyze$0.04 USDC

Analyze supplied hashtags

Count hashtags in the supplied posts and copy post and impression figures from supplied hashtag rows. The counts stay separate. Current popularity and reach are not estimated.

Body

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
postsNoarray; Array
commentsNoarray; Array
hashtagsNoarray; Array
windowNoobject; Object
platformNostring
accountNoobject; Object

Request exampleJSON

{
  "text": "Post: P-1 | instagram | 2026-11-01 | | | | | | Hello #launch #brand\nPost: P-2 | instagram | 2026-11-02 | | | | | | Again #launch\nHashtag: brand | 10 | 500\n"
}

Response exampleJSON

{
  "checkedAt": "2026-11-03T18:00:00.000Z",
  "status": "checked",
  "hashtags": [
    {
      "tag": "#launch",
      "postCount": 2,
      "datasetPosts": 0,
      "datasetPostsSupplied": false,
      "impressions": 0,
      "impressionsSupplied": false,
      "interpretation": "stated"
    },
    {
      "tag": "#brand",
      "postCount": 1,
      "datasetPosts": 10,
      "datasetPostsSupplied": true,
      "impressions": 500,
      "impressionsSupplied": true,
      "interpretation": "stated"
    }
  ],
  "published": false,
  "scraped": false,
  "reachInvented": false,
  "postsRemoved": false,
  "findings": [],
  "limitations": [
    "Engagement metrics are calculated only from numbers supplied in the request.",
    "No account is scraped and no platform restriction is bypassed.",
    "No post is published or scheduled.",
    "Hashtag counts and impressions come only from the supplied posts and hashtag rows. Current popularity and reach are not estimated.",
    "A calendar slot or repurposed draft uses text from the request. Text is shortened only for a documented character limit of a specified platform."
  ]
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/social-content/hashtag-analyze" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "text": "Post: P-1 | instagram | 2026-11-01 | | | | | | Hello #launch #brand\nPost: P-2 | instagram | 2026-11-02 | | | | | | Again #launch\nHashtag: brand | 10 | 500\n"
}
JSON
POSThttps://brainiac.software/api/v1/social-content/comment-classify$0.03 USDC

Classify supplied comments

Match a supplied type to question, praise, complaint, spam, or request. Without a type, a comment is labeled only when one documented keyword rule matches. No moderation action is taken.

Body

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
postsNoarray; Array
commentsNoarray; Array
hashtagsNoarray; Array
windowNoobject; Object
platformNostring
accountNoobject; Object

Request exampleJSON

{
  "text": "Comment: C-1 | P-1 | | Where is the link?\nComment: C-2 | P-1 | | Thanks for this\nComment: C-3 | P-1 | erase | Please remove this\n"
}

Response exampleJSON

{
  "checkedAt": "2026-11-03T18:00:00.000Z",
  "status": "classified",
  "moderationAction": false,
  "comments": [
    {
      "id": "C-1",
      "postId": "P-1",
      "category": "question",
      "method": "keyword",
      "recognized": true,
      "matches": "question",
      "interpretation": "keyword"
    },
    {
      "id": "C-2",
      "postId": "P-1",
      "category": "praise",
      "method": "keyword",
      "recognized": true,
      "matches": "praise",
      "interpretation": "keyword"
    },
    {
      "id": "C-3",
      "postId": "P-1",
      "category": "",
      "method": "stated",
      "recognized": false,
      "matches": "",
      "interpretation": "none"
    }
  ],
  "published": false,
  "scraped": false,
  "reachInvented": false,
  "postsRemoved": false,
  "findings": [
    {
      "kind": "observation",
      "code": "type_unrecognized",
      "subject": "C-3",
      "detail": "The comment type is not question, praise, complaint, spam, or request. It was not remapped."
    }
  ],
  "limitations": [
    "Engagement metrics are calculated only from numbers supplied in the request.",
    "No account is scraped and no platform restriction is bypassed.",
    "No post is published or scheduled.",
    "Hashtag counts and impressions come only from the supplied posts and hashtag rows. Current popularity and reach are not estimated.",
    "A calendar slot or repurposed draft uses text from the request. Text is shortened only for a documented character limit of a specified platform."
  ]
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/social-content/comment-classify" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "text": "Comment: C-1 | P-1 | | Where is the link?\nComment: C-2 | P-1 | | Thanks for this\nComment: C-3 | P-1 | erase | Please remove this\n"
}
JSON
POSThttps://brainiac.software/api/v1/social-content/engagement-anomaly-detect$0.05 USDC

Detect engagement anomalies

Apply a Tukey 1.5 IQR fence to engagement rates when at least 8 posts have impressions and an engagement count. A point outside the fence is not a confirmed anomaly.

Body

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
postsNoarray; Array
commentsNoarray; Array
hashtagsNoarray; Array
windowNoobject; Object
platformNostring
accountNoobject; Object

Request exampleJSON

{
  "posts": [
    {
      "id": "P-1",
      "text": "Note",
      "impressions": 1000,
      "likes": 10
    },
    {
      "id": "P-2",
      "text": "Note",
      "impressions": 1000,
      "likes": 12
    },
    {
      "id": "P-3",
      "text": "Note",
      "impressions": 1000,
      "likes": 11
    },
    {
      "id": "P-4",
      "text": "Note",
      "impressions": 1000,
      "likes": 9
    },
    {
      "id": "P-5",
      "text": "Note",
      "impressions": 1000,
      "likes": 10
    },
    {
      "id": "P-6",
      "text": "Note",
      "impressions": 1000,
      "likes": 13
    },
    {
      "id": "P-7",
      "text": "Note",
      "impressions": 1000,
      "likes": 8
    },
    {
      "id": "P-8",
      "text": "Note",
      "impressions": 1000,
      "likes": 400
    }
  ]
}

Response exampleJSON

{
  "checkedAt": "2026-11-03T18:00:00.000Z",
  "status": "checked",
  "anomalyConfirmed": false,
  "lower": 0.006,
  "upper": 0.016,
  "posts": [
    {
      "id": "P-1",
      "rate": 0.01,
      "outside": false,
      "confirmed": false
    },
    {
      "id": "P-2",
      "rate": 0.012,
      "outside": false,
      "confirmed": false
    },
    {
      "id": "P-3",
      "rate": 0.011,
      "outside": false,
      "confirmed": false
    },
    {
      "id": "P-4",
      "rate": 0.009,
      "outside": false,
      "confirmed": false
    },
    {
      "id": "P-5",
      "rate": 0.01,
      "outside": false,
      "confirmed": false
    },
    {
      "id": "P-6",
      "rate": 0.013,
      "outside": false,
      "confirmed": false
    },
    {
      "id": "P-7",
      "rate": 0.008,
      "outside": false,
      "confirmed": false
    },
    {
      "id": "P-8",
      "rate": 0.4,
      "outside": true,
      "confirmed": false
    }
  ],
  "published": false,
  "scraped": false,
  "reachInvented": false,
  "postsRemoved": false,
  "findings": [
    {
      "kind": "observation",
      "code": "possible_anomaly",
      "subject": "P-8",
      "detail": "This engagement rate is outside the Tukey 1.5 IQR fence. It is not a confirmed anomaly."
    }
  ],
  "limitations": [
    "Engagement metrics are calculated only from numbers supplied in the request.",
    "No account is scraped and no platform restriction is bypassed.",
    "No post is published or scheduled.",
    "Hashtag counts and impressions come only from the supplied posts and hashtag rows. Current popularity and reach are not estimated.",
    "A calendar slot or repurposed draft uses text from the request. Text is shortened only for a documented character limit of a specified platform."
  ]
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/social-content/engagement-anomaly-detect" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "posts": [
    {
      "id": "P-1",
      "text": "Note",
      "impressions": 1000,
      "likes": 10
    },
    {
      "id": "P-2",
      "text": "Note",
      "impressions": 1000,
      "likes": 12
    },
    {
      "id": "P-3",
      "text": "Note",
      "impressions": 1000,
      "likes": 11
    },
    {
      "id": "P-4",
      "text": "Note",
      "impressions": 1000,
      "likes": 9
    },
    {
      "id": "P-5",
      "text": "Note",
      "impressions": 1000,
      "likes": 10
    },
    {
      "id": "P-6",
      "text": "Note",
      "impressions": 1000,
      "likes": 13
    },
    {
      "id": "P-7",
      "text": "Note",
      "impressions": 1000,
      "likes": 8
    },
    {
      "id": "P-8",
      "text": "Note",
      "impressions": 1000,
      "likes": 400
    }
  ]
}
JSON
POSThttps://brainiac.software/api/v1/social-content/duplicate-detect$0.05 USDC

Detect repeated content

Group posts whose text matches after trimming, and list pairs that share at least 90 percent of their tokens. No post is removed.

Body

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
postsNoarray; Array
commentsNoarray; Array
hashtagsNoarray; Array
windowNoobject; Object
platformNostring
accountNoobject; Object

Request exampleJSON

{
  "text": "Post: P-1 | | | | | | | | Same caption here today\nPost: P-2 | | | | | | | | Same caption here today\nPost: P-3 | | | | | | | | A different caption\n"
}

Response exampleJSON

{
  "checkedAt": "2026-11-03T18:00:00.000Z",
  "status": "checked",
  "groups": [
    {
      "exact": true,
      "similarity": 1,
      "confirmed": true,
      "posts": [
        {
          "id": "P-1"
        },
        {
          "id": "P-2"
        }
      ]
    }
  ],
  "published": false,
  "scraped": false,
  "reachInvented": false,
  "postsRemoved": false,
  "findings": [
    {
      "kind": "conflict",
      "code": "duplicate_text",
      "subject": "P-1",
      "detail": "These posts use the same text after trimming. No post was removed."
    }
  ],
  "limitations": [
    "Engagement metrics are calculated only from numbers supplied in the request.",
    "No account is scraped and no platform restriction is bypassed.",
    "No post is published or scheduled.",
    "Hashtag counts and impressions come only from the supplied posts and hashtag rows. Current popularity and reach are not estimated.",
    "A calendar slot or repurposed draft uses text from the request. Text is shortened only for a documented character limit of a specified platform."
  ]
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/social-content/duplicate-detect" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "text": "Post: P-1 | | | | | | | | Same caption here today\nPost: P-2 | | | | | | | | Same caption here today\nPost: P-3 | | | | | | | | A different caption\n"
}
JSON
POSThttps://brainiac.software/api/v1/social-content/account-performance-report$0.12 USDC

Report account performance

Combine supplied totals, platform splits, calendar slots, drafts, hashtags, comments, rate fences, and repeated text. The report does not publish content or estimate reach.

Body

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
postsNoarray; Array
commentsNoarray; Array
hashtagsNoarray; Array
windowNoobject; Object
platformNostring
accountNoobject; Object

Request exampleJSON

{
  "text": "Platform: instagram\nWindow: 2026-11-03 | 2\nAccount: Example Brand | instagram | 1200\nPost: P-1 | instagram | 2026-11-03 | 1000 | 40 | 5 | 2 | 1 | Hello #launch\nPost: P-2 | instagram | 2026-11-04 | 100 | 4 | 0 | 0 | 0 | Hello #launch\nComment: C-1 | P-1 | | Where is the link?\nHashtag: launch | 4 | 100\n"
}

Response exampleJSON

{
  "checkedAt": "2026-11-03T18:00:00.000Z",
  "status": "checked",
  "scheduled": false,
  "anomalyConfirmed": false,
  "moderationAction": false,
  "accountName": "Example Brand",
  "accountPlatform": "instagram",
  "followers": 1200,
  "followersSupplied": true,
  "postCount": 2,
  "commentCount": 1,
  "impressions": 1100,
  "engagement": 52,
  "averageRate": 0.044,
  "averageCalculated": true,
  "posts": [
    {
      "id": "P-1",
      "platform": "instagram",
      "date": "2026-11-03",
      "impressions": 1000,
      "impressionsSupplied": true,
      "likes": 40,
      "comments": 5,
      "shares": 2,
      "saves": 1,
      "engagement": 48,
      "engagementSupplied": true,
      "counted": "likes,comments,shares,saves",
      "rate": 0.048,
      "rateCalculated": true,
      "rank": 1
    },
    {
      "id": "P-2",
      "platform": "instagram",
      "date": "2026-11-04",
      "impressions": 100,
      "impressionsSupplied": true,
      "likes": 4,
      "comments": 0,
      "shares": 0,
      "saves": 0,
      "engagement": 4,
      "engagementSupplied": true,
      "counted": "likes,comments,shares,saves",
      "rate": 0.04,
      "rateCalculated": true,
      "rank": 2
    }
  ],
  "byPlatform": [
    {
      "platform": "instagram",
      "posts": 2,
      "impressions": 1100,
      "engagement": 52
    }
  ],
  "slots": [
    {
      "date": "2026-11-03",
      "id": "P-1",
      "platform": "instagram",
      "text": "Hello #launch",
      "source": "dated"
    },
    {
      "date": "2026-11-04",
      "id": "P-2",
      "platform": "instagram",
      "text": "Hello #launch",
      "source": "dated"
    }
  ],
  "unplaced": [],
  "drafts": [
    {
      "id": "P-1",
      "platform": "instagram",
      "text": "Hello #launch",
      "characters": 13,
      "limit": 2200,
      "truncated": false,
      "adapted": false
    },
    {
      "id": "P-2",
      "platform": "instagram",
      "text": "Hello #launch",
      "characters": 13,
      "limit": 2200,
      "truncated": false,
      "adapted": false
    }
  ],
  "hashtags": [
    {
      "tag": "#launch",
      "postCount": 2,
      "datasetPosts": 4,
      "datasetPostsSupplied": true,
      "impressions": 100,
      "impressionsSupplied": true,
      "interpretation": "stated"
    }
  ],
  "comments": [
    {
      "id": "C-1",
      "postId": "P-1",
      "category": "question",
      "method": "keyword",
      "recognized": true,
      "matches": "question",
      "interpretation": "keyword"
    }
  ],
  "anomalies": [
    {
      "id": "P-1",
      "rate": 0.048,
      "outside": false,
      "confirmed": false
    },
    {
      "id": "P-2",
      "rate": 0.04,
      "outside": false,
      "confirmed": false
    }
  ],
  "groups": [
    {
      "exact": true,
      "similarity": 1,
      "confirmed": true,
      "posts": [
        {
          "id": "P-1"
        },
        {
          "id": "P-2"
        }
      ]
    }
  ],
  "published": false,
  "scraped": false,
  "reachInvented": false,
  "postsRemoved": false,
  "findings": [
    {
      "kind": "observation",
      "code": "sample_too_small",
      "subject": "",
      "detail": "Fewer than 8 posts have both impressions and an engagement count. No anomaly fence was applied."
    },
    {
      "kind": "conflict",
      "code": "duplicate_text",
      "subject": "P-1",
      "detail": "These posts use the same text after trimming. No post was removed."
    }
  ],
  "limitations": [
    "Engagement metrics are calculated only from numbers supplied in the request.",
    "No account is scraped and no platform restriction is bypassed.",
    "No post is published or scheduled.",
    "Hashtag counts and impressions come only from the supplied posts and hashtag rows. Current popularity and reach are not estimated.",
    "A calendar slot or repurposed draft uses text from the request. Text is shortened only for a documented character limit of a specified platform."
  ]
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/social-content/account-performance-report" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "text": "Platform: instagram\nWindow: 2026-11-03 | 2\nAccount: Example Brand | instagram | 1200\nPost: P-1 | instagram | 2026-11-03 | 1000 | 40 | 5 | 2 | 1 | Hello #launch\nPost: P-2 | instagram | 2026-11-04 | 100 | 4 | 0 | 0 | 0 | Hello #launch\nComment: C-1 | P-1 | | Where is the link?\nHashtag: launch | 4 | 100\n"
}
JSON