Real-time F&B social data for agents

Every food post on social, video included, decomposed into facts your agent can cite.

ReadsInstagramTikTokthrough official platform APIs

Reads the caption, the transcript, the on-screen text, and what happens in the video. Ships as Parquet + CSV with a data dictionary, methodology, and a hashed manifest.

analysis30Btokens of LLM analysis a month
throughput7Mmodel calls a month
from the video61%of findings come from the video, not the caption
evidence1:1every finding to its quoted passage
1.

Give your agent everything about F&B on social.

One bundle for any ingredient, dish, or brand: posts, findings, the taxonomy, sentiment, trends, creators. Every finding names the post and the passage it came from.

Tables · tomato release, Jun 6 – Aug 31 20268
posts5,776 rows

Every retrieved post, in the cohort or not: caption, transcript, a timestamped account of what happens in the video, relevance, and why it was excluded.

post_tags176,825

Every finding: the node, the quoted span, and the passage it came from. Direct and rolled, so you can work at any level of the tree.

nodes3,846

The taxonomy itself, induced from the corpus: labels, paths, tiers, and the editorial flag.

sentiment · sentiment_events5,550 · 5,712

Stance per post with strength; every opinion with who said it, what kind of statement it was, and the quote.

topic_metrics181

Share of conversation early vs late, with confidence intervals and a false-discovery correction.

post_metrics_history20,643

Hourly engagement over a post's first days. How fast it took off, not how it did over the quarter.

creators2,894

Perceived age band and presentation, each with its evidence sentence and the posts it was made from.

manifest.jsonSHA-256

Every input, hashed. Rebuild the export and get the same answer.

analysis_examples.sqlDuckDB
-- Distinct posts per family. Families overlap; never sum them.
SELECT n.family_id, COUNT(DISTINCT t.post_id) AS posts
FROM read_parquet('post_tags.parquet') t
JOIN read_parquet('nodes.parquet') n USING (node_id)
WHERE t.kind = 'direct'
GROUP BY 1 ORDER BY 2 DESC;
-- paired_ingredients  4905
-- occasions           3028
-- forms               2856

-- What tomato is eaten with, and how.
SELECT n.label, t.relation, COUNT(DISTINCT t.post_id) AS posts
FROM read_parquet('post_tags.parquet') t
JOIN read_parquet('nodes.parquet') n USING (node_id)
WHERE t.kind = 'direct' AND n.family_id = 'paired_ingredients'
GROUP BY 1, 2 ORDER BY 3 DESC LIMIT 3;
-- onion   in_dish  1081
-- garlic  in_dish   948
-- salt    in_dish   936

Count distinct post ids, never rows: a post can carry several findings in one family. The data dictionary says so on every table that needs it.

An API and MCP server over the same tables is next. Post retrieval is live today — docs.sociable.how

post_tags.csv · post DbLpibiRKt6 · 11 direct rows, 6 shownreal rows
nodekindrelationpassage_idevidence
preparations:layeringdirect·generated_play_by_play:0001stacking large red tomatoes into a pyramid shape
preparations:threadingdirect·generated_play_by_play:0003threading cherry tomatoes onto a string using a needle to create a garland
equipment:tooldirect·generated_play_by_play:0003needle
paired_ingredients:basildirectin_dishgenerated_play_by_play:0007fresh basil leaves
occasions:summerdirect·caption:000summer
uses:tomato saladdirect·generated_summary:000fresh tomato and basil salad
A slice of the release, as shipped: every table filtered to 100 cohort posts, the whole taxonomy, the whole trend table, plus the data dictionary and methodology.Download the sample data100 posts · 8 tables · CSV · 532 KB

Why this instead of social listening

Built for retrieval you can put in front of a customer.

Precision, not keyword match

A post counts only when it's about the item.

Central or supporting, graded from the video and the caption together. Every exclusion is exported with its reason. Nothing is deleted, so the cohort can be widened.

caption · “summer table setting”
video 0:06 · threading cherry tomatoes onto a string
central · 4,284 of 5,776 posts in cohort
Depth, not a mention count

Every finding, with its passage.

Typed families per dataset — sixteen for an ingredient, a dozen for a brand. Each finding is a node, a quoted span, and where it came from: the caption, the transcript, the on-screen text, or what happens in the video.

preparations · threading · video 0:06
paired_ingredients · basil · in_dish · video 0:12
occasions · summer · caption
Sentiment that keeps its shape

Not a score.

Stance per post with strength, and every opinion as an event: who said it, what kind of statement it was — observation, claim, evaluation, intention — and about which target. Missing is not neutral. A rating is not a sentiment.

▲ positive · target: tomato salad
creator · observation · video 0:16
“takes a bite of the tomato salad, and smiles”
2.

The map builds itself.

From the creator base to a trend, without anyone writing the categories in advance. Ours watches the video and learns them from the posts.

01

Source

Every food post from a creator base we've already analyzed, retrieved by item, window, and food topic. In the cohort or not, nothing is deleted.

2,894 creators · 5,776 posts · one release
02

Multimodal analysis

Each post is watched, not just read: the caption, the transcript, the on-screen text, and a timestamped account of what happens in the video.

4 passages per post · 61% of findings from the video
03

Enrichment

Every passage becomes typed findings: a node, a quoted span, and where it came from. New concepts are proposed, checked against the tree, then added or merged.

176,825 findings · 3,846 nodes · 16 families
04

Trend detection

Share of conversation early vs late per topic, with 95% intervals and a false-discovery correction. A topic earns a bar only when its lower bound clears 0.5%.

181 topics tested · 10+ creators · none past 40%

Which is why it knows the difference between sun-dried and sliced, and a keyword search doesn’t.

And why a topic earns a bar only when the lower bound of its 95% interval clears 0.5% of the conversation, with 10+ creators and no single creator past 40%.

Compared

Same post. Different answer.

A real reel from the tomato release. What a caption-only tool sees on the left. What we extracted on the right.

Caption only

Just a simple summer table setting to gather your friends and family this season 🍅

matchtomato · a supplier credit and an emoji
matchsummer · table setting
matchthree brand handles · dinnerware, a shirt, pants
nothing about what was done with the tomatoes, or how it landed
Sociable Labs
video 0:01preparations · layering · “stacking large red tomatoes into a pyramid shape
video 0:06preparations · threading · “threading cherry tomatoes onto a string using a needle
video 0:12paired_ingredients · basil · in_dish · “sliced tomatoes and fresh basil leaves
captionoccasions · summer · “summer table setting
video 0:16sentiment · ▲ positive · tomato salad · creator · “takes a bite of the tomato salad, and smiles at the camera
central · in cohort · 11 findings, each with its passage

instagram.com/reel/DbLpibiRKt6 · @chloecleroux · 72.5K likes · Jul 24, 2026

Provenance & terms

What’s in the bundle, where it came from, and what you may do with it.

CategoryFood and beverage only. No general-purpose social firehose.
SourceInstagram and TikTok, collected through official platform APIs.
What we analyzeThe caption, the transcript, the on-screen text, and a timestamped account of what happens in the video. Every finding names which one it came from.
EvidenceEvery finding carries the post permalink, the quoted passage, and its passage id.
ProvenanceFrozen inputs, each hashed in manifest.json, pinned to a model version and taxonomy build. Rebuild the export and get the same answer.
Personal dataCaptions, transcripts, handles and permalinks ship. Perceived age band and presentation ship with their evidence. Base region, perceived race or ethnicity, accent labels and embeddings are not exported, by decision.
FreshnessMedian 28 minutes from post to analyzed record in the last release. Six in ten posts within the hour; the rest were picked up by later retrieval runs.
DeliveryParquet + CSV twins with a data dictionary, methodology, and SQL examples. An API and MCP server over the same tables is next.
Resale and derivative usePermitted. Scoped in the licensing agreement.

Who we are

Sociable AI, Inc.

Delaware corporation, founded 2023. We run a real-time social pipeline for food and beverage — roughly 30 billion tokens and 7 million model calls a month of LLM analysis.

Thomas Noh, Founder — thomas@sociable.how

Tell us what you’d track.

Bring three items you care about. We’ll walk through what the data looks like for them.