Brand, creator and topic questions, answered in one call

Brand mentions, creator vetting and demand signals turn a subject into one structured answer across platforms. Every report says which platforms answered, prices itself before it runs, and leaves a gap as null instead of filling it.

What one report call does

A report fans out to its legs at once, joins them, and itemises the charge. A leg that fails is refunded and named.

one call, four legs, one receipt

1 request

GET /v1/reports/creator-vet
?handle=torvalds
&platforms=github,bluesky,reddit

4 legs, in parallel

  • github.profile...2001 credit
  • bluesky.profile...2001 credit
  • bluesky.posts...2001 credit
  • reddit.user_about...502 UPSTREAM_BLOCKED1 credit
join coverage: answered 3, failed 1 (Reddit). The failed platform is null, never 0.

1 receipt

github.profile1

bluesky.profile1

bluesky.posts1

reddit.user_about0 refunded

total charged3

Timing is illustrative. The report, its legs, their prices and the 502 are from the creator vet report: only legs that answered are charged, a failed leg is refunded and named in coverage, and dry_run=true shows these prices for 0 credits.

Three reports#

Each is one call under https://api.onekey.dev/v1/reports/ that turns a subject into a structured answer. They are built from search legs, profile legs, per-user post feeds and the computed block, and they never estimate: every number is a platform field, a published formula, or a counted judgment that names its method.

ReportInputWhat it returnsAI needed
Brand mentionsbrandMentions and volume per platform, top authors, top mentions (rank-fused across platforms). Optional sentiment, complaint and question counts and themes.Only for the optional counts: not enabled yet
Creator vethandleOne handle across platforms: the platform's own profile numbers, posting cadence and recent engagement.No
Demand signalstopicHow many recent posts show purchase intent, questions or complaints, with examples.Yes: not enabled yet

Coverage and warnings are part of the answer#

Every report carries a coverage block: which platforms answered, which failed (with status and error type), and which fields were absent on every item. A platform that failed shows as null in per-platform counts, never as 0, so a platform having a bad hour does not read as "nobody mentioned this". Missing parts show up as lines in _warnings. A report whose legs all failed fails with the first leg's error and charges nothing.

Then there are the deliberate refusals:

See the cost before you run it#

dry_run=true works on every report. For the handle torvalds on GitHub and Bluesky, recorded on the dev API (shortened):

shell
curl "https://api.onekey.dev/v1/reports/creator-vet?handle=torvalds&platforms=github,bluesky&dry_run=true" \
  -H "x-api-key: YOUR_API_KEY"
json
{
  "data": {
    "legs": [
      { "platform": "github", "endpoint": "github.profile", "params": { "username": "torvalds" }, "credits": 1.0, "worst_case_credits": 3.0 },
      { "platform": "bluesky", "endpoint": "bluesky.profile", "params": { "handle": "torvalds" }, "credits": 1.0, "worst_case_credits": 1.0 },
      { "platform": "bluesky", "endpoint": "bluesky.posts", "params": { "handle": "torvalds" }, "credits": 1.0, "worst_case_credits": 1.0 }
    ],
    "credits": { "legs_worst_case": 5.0, "legs_list_price": 3.0, "ai": null }
  },
  "metadata": { "recipe": "creator_vet", "dry_run": true, "legs": 3, "credits_charged": 0.0 }
}

Each platform with a feed costs a profile leg plus a feed leg. Name the platforms you need with platforms= rather than relying on the default pool. Cadence feeds exist for eight platforms only (Bluesky, DEV Community, Hacker News, Instagram, Lobsters, Reddit, Twitch, X); every other platform gives profile numbers and a null cadence with a warning. 17 platforms have a profile endpoint today.

What a report costs#

The total is the legs at their own prices and nothing else: no surcharge for the report. A worst-case check runs first, cache hits are free, failed legs are refunded, your key's credit limit applies, and it counts as one request against the rate limit. AI lines, when AI is enabled for your account, are metered per judged row on top; they cannot be priced beforehand and the pre-release test figures on the docs pages are not prices. An Idempotency-Key replays a report at 0 credits.

Limits, honestly#