What's new on the Virlo API. New endpoints, pricing changes, performance work, deprecations, and fixes — newest first.
GET /v1/sounds/trending now defaults to sort=videos_7d — sounds ranked by # videos published using each sound in the last 7 days, the recency-weighted "what is rising right now" signal. videos_30d is also available. The legacy sorts usage_count and video_count (all-time greatest hits) remain available for callers asking reach-not-momentum questions. Velocity sorts include a new videos_in_window field on each item, and the response echoes the sort mode at the top level.
New GET /v1/sounds/breakout ($0.25) surfaces sounds with the highest recent-burst ratio — rapidly rising from a small baseline. Distinct from /v1/sounds/trending: trending favours large absolute weekly volume (mature sounds still gaining lots of videos), while breakout favours sounds where almost all activity happened in the last 7 days. Score = videos_7d × (videos_7d / videos_90d). Each item carries videos_7d, videos_30d, videos_90d, burst_ratio, and breakout_score. Tunable via min_recent / min_baseline to control the noise floor.
Sound responses now expose the artist name on owner_nickname for music-label tracks (Espresso, Anti-Hero, Laxed, etc.) where TikTok does not assign an individual creator handle. Previously these fields were null because our normalizer only read TikTok's owner_handle/owner_nickname fields, which are empty for licensed music. We now also read the artist from matched_song.author (preferred) or author, populating owner_nickname for ~46K previously-unattributed TikTok sounds going forward, and via a one-time backfill for existing sounds.
Orbit and Comet requests with data_intelligence_enabled=true now charge 150 credits ($1.50) instead of 50 credits ($0.50) to reflect the additional AI analysis cost.
Reduced unnecessary top-up checks during high-volume bursts. Auto top-ups now fire at most every 5 minutes per account.
Optional AI analysis layer that surfaces topics, sentiment, demographic fit, and viral potential alongside Orbit and Comet results.
Audio intelligence is now first-class. New endpoints: GET /v1/sounds/trending, /v1/sounds/search, /v1/sounds/{id}, /v1/sounds/{id}/videos, /v1/sounds/usage-history, /v1/sounds/by-creator/{creator_id}. Sound metadata is also enriched into Orbit, Comet, Satellite, and Tracking video responses.
Subscribe to events with POST /v1/webhooks (also GET, PATCH, DELETE). Supports tracking cycle completion, outlier detection, paused events, creator post collection, and posting cadence analysis. Real-time integrations no longer need polling.
Analysis and trends endpoints have been normalized so that all sub-resources sit under /:entity/:id/:sub. The previous routes still resolve but new integrations should use the consistent shape.
Tracking and Comet responses now strictly enforce a public field allowlist; internal scoring/debug fields have been removed.
New endpoints: GET /v1/comet/{id}/trends, /v1/comet/{id}/trends/history, /v1/comet/{id}/analysis, /v1/comet/{id}/analysis/history (and the matching /v1/orbit/{id}/... set). Detail responses now expose analysis_data, analysis_batch_start, and analysis_batch_end.
Tracking event webhooks can now post directly to Slack with no glue code.
Orbit and Comet now return TikTok slideshows (multi-image carousels) alongside individual videos, with an is_slideshow flag for filtering.
Poll long-running batch creator lookups with GET /v1/satellite/creators/batch/{batch_id}.
Per-platform view counters were collapsed into one cross-platform total_views field for cleaner analytics.
New endpoints: POST/GET /v1/tracking/creators/{id}/posts (standard / deep / full collection tiers), /v1/tracking/creators/{id}/posting-cadence, and POST/GET /v1/satellite/creators/batch for bulk lookups with AI category tagging. Video responses now include is_duet and is_stitch.
New optional weighted_score field returned by Satellite, Orbit, and Comet responses. Combines engagement, growth, and audience size into a single ranking signal. Available as a sortBy value on outlier endpoints. (Renamed from "Virlo Score" prior to launch.)
Credit deduction is now method-aware — GET requests against credit-free endpoints are no longer charged.
Tracking and Comet now accept bi_weekly (14-day) and monthly (30-day) scrape cadences alongside the existing daily and weekly options.
Tracking responses now include delta_* fields showing change from the previous snapshot, and Tracking list endpoints accept a search query parameter for filtering by handle or title.
Check remaining credits programmatically with GET /v1/account/balance.
Replaced a full-table-scan RPC with a materialized view. Median hashtag stats latency dropped from ~6s to ~59ms.
Every billable response now includes X-Cost and X-Balance-Remaining headers. When credits run out, the API returns 402 Payment Required with a funding link in the error body.
TikTok scrapes now run on Virlo Lambda first with automatic fallback to the previous provider. Roughly 70% lower upstream cost and faster end-to-end response times. Includes pre-warming of the TikTok transcript cache.
New endpoints: POST /v1/tracking/creators and POST /v1/tracking/videos for monitoring creators and videos over time, with snapshot history and outlier detection. Returns 402 Payment Required when account credits are insufficient before starting a job.
AI analysis is now generated automatically on every Tracking cycle, so the standalone POST .../report routes have been retired. Pull analysis from the regular detail endpoint instead.
All /v1 endpoints now publish full Swagger/OpenAPI type definitions, including nullable/array shapes — making MCP and AI-agent auto-generation work cleanly.
YouTube data flows through Virlo Lambda by default with automatic fallback to ScrapeCreators on failure. Eliminates per-request upstream cost and improves reliability.
Legacy unversioned endpoints are now marked deprecated. They continue to work but new integrations should use the /v1 prefix. A removal date will be announced in advance.
The full Swagger/OpenAPI document is now exposed at GET /openapi.json for MCP servers and AI agents to discover the API automatically.
Responses now include an AI-derived intent field that classifies content by user intent (e.g. educate, sell, entertain) so customers can segment results by motivation.
Billable POST requests now trigger an account-level credit top-up check. Reduces the chance of mid-burst 402 errors for accounts with auto-recharge enabled.
Removed the implicit default to make timeframe explicit and avoid surprising aggregate windows. Pass time_period (e.g. 7d, 30d, 90d) on hashtag and video analytics calls.
Per-response credit accounting has moved to the X-Cost response header (added 2026-04-01). The legacy creditsUsed body field has been removed.
Instagram media thumbnails are now cached and rewritten to long-lived URLs, fixing the 24-hour image expiration that was breaking downstream storage.
New endpoint GET /v1/comet/{id}/video-outliers surfaces videos with anomalous engagement or growth within a Comet niche.
Run bulk creator profile lookups asynchronously and poll for results. Useful for ingesting large creator lists without hitting per-request rate limits.
Full rewrite of the video ingestion pipeline with a new queue architecture. Faster processing, better data quality, and dramatically fewer ingestion failures during traffic spikes.
New POST /v1/teams/* endpoints for creating teams, managing members, and inviting collaborators. Credits are now pooled at the team level so multiple API keys can share a single balance.
New endpoint GET /v1/satellite/creators/{handle} returns a single cross-platform profile (TikTok, Instagram, YouTube) with normalized stats, recent posts, and category tags.
Versioned API surface launched with standardized snake_case naming, consistent envelopes, and explicit schemas. New routes: /v1/hashtags, /v1/comet, /v1/orbit, /v1/videos, /v1/trends, plus per-platform /v1/{tiktok,instagram,youtube}/* endpoints.
New endpoints GET /v1/orbit/{id}/creator-outliers and GET /v1/comet/{id}/creator-outliers surface creators with abnormal growth or engagement spikes — useful for catching breakouts and flagging suspicious activity.
New endpoints: GET /hashtags/{id}/performance (per-hashtag time-series) and POST /comet/{id}/ads (Meta/Facebook ad creative discovery scoped to a Comet niche).
New endpoints POST /comet and GET /comet/{id} for analyzing custom creator niches and discovering opportunities. Customers can define their own niche definitions instead of being limited to preset categories — Comet then groups videos by AI-derived theme.
Orbit responses now include AI-generated keyword trend and creator insight summaries, powered by a new analysis service.
Video search responses now echo back the keyword that matched, so downstream pipelines can attribute results without re-tracking the query.
New endpoints POST /orbit/keyword-searches and GET /orbit/keyword-searches for discovering creators producing content around specific keywords across TikTok, Instagram, and YouTube.
Introduced a credit-based pricing model: each endpoint deducts a defined credit cost from the account balance. See the Pricing page for the full table.
Hashtag and video endpoints now accept a platform query param (tiktok, instagram, youtube) to scope results to a single network.
New endpoint GET /niches/{niche_id}/trends for niche-scoped trend discovery.
Public API launched with three core endpoints: GET /hashtags, GET /videos, GET /trends. Covers TikTok and Instagram at launch with YouTube to follow.
Looking for a specific change? Email us.