social domain, under its own names.
It needs no connected account. That is the difference from Social, which publishes as a persona’s own accounts and reads their metrics: social data reads what anyone can see, on any account.
Every surface does the same three things:
- Search the catalogue with a short phrase —
"tiktok video comments","instagram profile"— optionally on one network. Free. - Describe a tool to read its input schema (
path,queryandbodyparameters), its price and its notes. Free. - Run it with those parameters and get the data back as JSON. Priced per run.
From an agent
An agent reads social data with the Data tools —data_search (with domain: "social"), data_describe and data_run. Ask in plain words — “what are the top comments on @nasa’s latest Instagram post?” — and the agent searches, reads the tool’s schema, and runs it. Search and describe are read-only and stay available in plan mode; a run is a priced call that asks first by default. The social_data names below are for the API, SDK and CLI.
From the dashboard
Settings → Data (Social) is the catalogue in the browser: open the Data page, pick the Social chip, search, open a tool to see what it takes and what it costs, fill in its parameters, run it, and read the data and the cost.
Settings → Data (Social): search, inspect, run.
From code
What it costs
Searching and describing are free. A run costs the price the tool lists —price.text on every tool, already the price you pay. Most are $0.0039 per call; some are priced per result, and a few vary with the input (they say up to …). Each run is capped at 25 results; before it starts, the balance must cover one call, or 30 results’ worth on a per-result tool (some sources bill results in blocks of 10). Runs are booked from prepaid credits on the search component of your spend, once per run.
A run that fails — the network refused the input, the account does not exist, the source was down — is not charged. A run that takes longer than two minutes is stopped; it is normally not charged either, except that a tool priced per result costs what it gathered before the stop. A run is refused (402 insufficient_credits) before it starts when the balance does not cover the tool’s listed price for one call, or for 25 results on a per-result tool; an agent’s run takes a hold against its session budget first.
Limits
- On demand, not a stream. Each run reads once; to watch a hashtag or an account over time, run it on a schedule with a deployment.
- No logins, read-only. Nothing behind a login, and nothing posted — publishing is Social.
- Up to two minutes and 25 results per run. Large scrapes should ask for fewer results (most tools take a limit or count parameter; start with 5–10).
- Results are the network’s own data, passed through unchanged, so field names differ between networks and tools.
Check that it works
From the CLI, in this order. The first three cost nothing.- The catalogue is reachable.
vetta social-data search "instagram profile"lists tools with prices. A501 feature_not_configuredmeans social data is not enabled on the deployment you are calling. - A tool describes itself.
vetta social-data describe <tool_id>prints itsinputschema — for a profile reader, ausernameunderquery. - A refused run is free.
vetta social-data run <tool_id>with no parameters answersstatus: "failed"withcost_micro_usd: 0(or a400before anything runs). - A real run returns data and its cost.
vetta social-data run <tool_id> --query username=nasaanswersstatus: "succeeded", the profile indata, andcost_micro_usdequal to the tool’sprice.micro_usd(3900for most). - It was billed once.
vetta credits ledger --limit 5shows onesearchdebit for step 4 and no entry at all for steps 1–3.