Skip to content

Reference

Pricing

Every operation with its price, what a cached result costs, what is free, and worked examples of a real month.

Everything is prepaid and priced per operation. There is no plan, no seat and no minimum spend: you fund a balance, each operation takes its price out of it, and the balance never goes below zero. An operation whose quoted price the balance cannot cover is refused before any work starts rather than billed afterwards.

How a charge happens

  • Every operation creates a Run, and a Run is charged once — when the work happens. Reading it back later is free forever.
  • A failed Run costs nothing. A partial Run charges for the items that arrived and nothing else. If the balance runs short while a multi-item Run is working, the completed items are charged in order up to the balance, the rest fail with insufficient_balance, and the Run ends partial.
  • Almost every paid operation takes estimate, which answers with what the call would cost and creates no Run. The exceptions are POST /v1/trackers and POST /v1/trackers/{id}/refresh: they take no estimate and charge when called, so read the price on their reference entry first. See pricing and estimates.

Cached results

A result is cached when we already hold a snapshot of the subject younger than 24 hours, so the answer can be served without paying a vendor for it. Those calls cost 25% of the fresh price. Nothing about the response changes; the Run tells you whether it was cached and what you were charged.

The discount applies per piece of work rather than per call. A comments page with analyze=true is discounted on the page and on the analysis separately, each on its own cache clock, because those are separate pieces of work. Searches, scores and Tracker cycles are always a fresh fetch, so the discount never applies to them.

Starting out

A new account gets $5 of credit automatically, which expires after 90 days. After that you top up by card from $10 at a time. The balance never expires and is never charged for work that did not happen.

The price list

Grouped the way the API reference is grouped. Prices are per call unless the row says per page.

Research

OperationFreshCached
POST /v1/researchResearch a niche
  • $0.01 for each freshly enriched video past the first 50
  • videos whose analysis is already stored are free and use none of the allowance
$0.50Always fresh
POST /v1/research/{id}/refreshRefresh a research's videos
  • videos we cannot fetch are not charged for
  • a sweep where nothing comes back fails and costs nothing
$0.002 per videoAlways fresh

Videos

OperationFreshCached
POST /v1/videos/searchSearch videos
  • $0.02 per enriched result with analysis on, capped at the top 20
$0.01 per pageAlways fresh
POST /v1/videos/lookupLook up a video by URL$0.005$0.00125
GET /v1/videos/{platform}/{id}Get a video
  • $0.02 to include the analysis
  • $0.005 to include the transcript on its own
$0.005$0.00125
POST /v1/videos/{platform}/{id}/intelligenceAnalyse a video
  • asking for a redo is charged as fresh
$0.02$0.005
POST /v1/videos/{platform}/{id}/scoreScore a video$0.05Always fresh
GET /v1/videos/{platform}/{id}/commentsGet video comments
  • $0.05 to analyse the page, discounted on its own cache clock
$0.01 per page$0.0025

Creators

OperationFreshCached
GET /v1/creators/{platform}/{handle}Get a creator$0.02$0.005

Hashtags

OperationFreshCached
GET /v1/hashtags/{platform}/{tag}Get a hashtag$0.02$0.005
GET /v1/hashtags/{platform}/{tag}/videosList a hashtag's videos$0.02 per pageAlways fresh

Sounds

OperationFreshCached
GET /v1/sounds/{platform}/{id}Get a sound$0.02$0.005
GET /v1/sounds/{platform}/{id}/videosList a sound's videos$0.02 per pageAlways fresh

Ads

OperationFreshCached
POST /v1/ads/searchSearch ad libraries$0.02 per pageAlways fresh

Trackers

OperationFreshCached
POST /v1/trackersStart tracking a target
  • creating the same target again is not charged
  • creator Trackers only today
$0.05 for the first cycle, run on createAlways fresh
POST /v1/trackers/{id}/refreshRun a tracker cycle now
  • $0.02 per new video when the Tracker opted into analysis
  • a scheduled daily cycle costs the same as one you ask for
$0.05 per creator cycleAlways fresh

The same prices over MCP

The hosted MCP server bills identically — the tools are the same operations under different names. Free tools are omitted here; see the MCP guide for the full list.

ToolPrice
research$0.50 for up to 50 enriched videos, then $0.01 each, at most $2.00
search_videos$0.01 per page; +$0.02 per enriched video with intelligence=true (top 20)
get_video$0.005 plain ($0.00125 cached); with include=intelligence $0.02 ($0.005 cached) instead; transcript only $0.005 instead
score_video$0.05
get_creator$0.02
get_hashtag_or_sound$0.02
search_ads$0.02 per page
track$0.05 per cycle, including the first one run on create; +$0.02 per new video with intelligence

What costs nothing

Reading is free. Once you have paid for a piece of work you can read it as often as you like — polling a running operation, fetching a finished result, walking the snapshots a Tracker has accumulated, listing change reports, checking your balance and reading your spend log all cost nothing and create no Run.

  • GET /v1/research/{id} — Get a research
  • GET /v1/research/{id}/videos — List a research's videos
  • GET /v1/research/{id}/creators — List a research's creators
  • GET /v1/research/{id}/hashtags — List a research's hashtags
  • GET /v1/research/{id}/sounds — List a research's sounds
  • GET /v1/research/{id}/digest — Read a research's digest
  • GET /v1/creators/{platform}/{handle}/videos — List a creator's videos
  • GET /v1/creators/{platform}/{handle}/snapshots — List a creator's snapshots
  • GET /v1/trackers — List trackers
  • GET /v1/trackers/{id} — Get a tracker
  • PATCH /v1/trackers/{id} — Pause or resume a tracker
  • DELETE /v1/trackers/{id} — Stop tracking
  • GET /v1/trackers/{id}/snapshots — List a tracker's snapshots
  • GET /v1/trackers/{id}/changes — List change reports
  • GET /v1/runs — List runs
  • GET /v1/runs/{id} — Get a run
  • GET /v1/runs/{id}/items — List run items
  • GET /v1/account/balance — Get balance
  • GET /v1/account/usage — Get usage
  • POST /v1/webhooks — Register a webhook endpoint
  • GET /v1/webhooks — List webhook endpoints
  • GET /v1/webhooks/{id} — Get a webhook endpoint
  • DELETE /v1/webhooks/{id} — Delete a webhook endpoint
  • POST /v1/webhooks/{id}/rotate — Rotate a signing secret
  • GET /v1/webhooks/{id}/deliveries — List deliveries
  • POST /v1/webhooks/{id}/deliveries/{deliveryId}/replay — Replay a delivery

Free operations still count against the per-key request limit, so a polling loop should still be a sensible one.

Worked examples

Three shapes of spend, with the arithmetic shown. Every unit price below is the same constant the API charges from.

One Research run

You ask for a Research and it enriches 80 videos. 20 of them were analysed for someone else already, so only 60 need a fresh pass.

What is chargedHow manyUnit priceSubtotal
Research, flat fee, covering up to 50 freshly enriched videos1$0.50$0.50
Freshly enriched videos past the allowance10$0.01$0.10
Videos whose analysis was already stored20FreeFree
Total$0.60

One creator Tracker for a month

You track one creator with analysis switched on. It runs a cycle a day for 30 days and the creator posts 12 videos in that time.

What is chargedHow manyUnit priceSubtotal
Daily cycle on a creator Tracker30$0.05$1.50
New videos analysed12$0.02$0.24
Total$1.74

100 video lookups

You look up 100 videos. 40 of them already have a snapshot younger than 24 hours, so they cost 25% of the fresh price.

What is chargedHow manyUnit priceSubtotal
Lookups that needed a fetch60$0.005$0.30
Lookups answered from a recent snapshot40$0.00125$0.05
Total$0.35

Apart from the Tracker, none of these needs a commitment to find out: send estimate=true with the same parameters and you get the price back without a Run and without a charge. A Tracker takes no estimate over REST; the arithmetic above is its quote.