Changelog

What's new on the Virlo API. New endpoints, pricing changes, performance work, deprecations, and fixes — newest first.

May 2026

  1. Changed

    Trending sounds now means recently trending

    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.

  2. Added

    Breakout sounds endpoint

    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.

  3. Fixed

    Owner attribution for music-label sounds

    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.

April 2026

  1. Changed

    Data Intelligence pricing

    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.

  2. Fixed

    Auto top-up cooldown raised to 5 minutes

    Reduced unnecessary top-up checks during high-volume bursts. Auto top-ups now fire at most every 5 minutes per account.

    Commits:b5c3cc2
  3. Added

    Data Intelligence layer

    Optional AI analysis layer that surfaces topics, sentiment, demographic fit, and viral potential alongside Orbit and Comet results.

  4. Added

    Sound API — 8 new endpoints

    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.

  5. Added

    Webhooks API

    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.

  6. Changed

    Endpoint convention aligned to /:entity/:id/:sub

    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.

    Commits:4654e6d
  7. Fixed

    Internal fields no longer leak into responses

    Tracking and Comet responses now strictly enforce a public field allowlist; internal scoring/debug fields have been removed.

    Commits:0673b56
  8. Added

    Unified viral insights & trends endpoints

    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.

    Commits:778c721
  9. Added

    Slack as a webhook destination

    Tracking event webhooks can now post directly to Slack with no glue code.

    Commits:a6063a2
  10. Added

    Slideshow format support

    Orbit and Comet now return TikTok slideshows (multi-image carousels) alongside individual videos, with an is_slideshow flag for filtering.

  11. Added

    Satellite batch polling endpoint

    Poll long-running batch creator lookups with GET /v1/satellite/creators/batch/{batch_id}.

    Commits:e60f313
  12. Changed

    Tracking snapshots use a single `total_views` metric

    Per-platform view counters were collapsed into one cross-platform total_views field for cleaner analytics.

    Commits:83e889a
  13. Added

    Enterprise Phase 1 — creator posts, posting cadence, batch lookups

    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.

  14. Added

    Virality Score (weighted_score)

    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.)

  15. Fixed

    Free GET endpoints no longer charge credits

    Credit deduction is now method-aware — GET requests against credit-free endpoints are no longer charged.

    Commits:725601b
  16. Added

    Bi-weekly and monthly Tracking cadences

    Tracking and Comet now accept bi_weekly (14-day) and monthly (30-day) scrape cadences alongside the existing daily and weekly options.

  17. Added

    Snapshot deltas + search filtering on Tracking

    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.

    Commits:e2b8bba
  18. Added

    Account balance endpoint

    Check remaining credits programmatically with GET /v1/account/balance.

    Commits:e4f3ad9
  19. Performance

    Hashtag stats are 100× faster

    Replaced a full-table-scan RPC with a materialized view. Median hashtag stats latency dropped from ~6s to ~59ms.

    Commits:025a032
  20. Added

    Dollar-based billing headers

    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.

    Commits:a0de5dc

March 2026

  1. Performance

    TikTok scraping migrated to Virlo Lambda

    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.

  2. Added

    v1 Tracking API

    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.

  3. Removed

    On-demand `/report` endpoints removed

    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.

    Commits:0253924
  4. Added

    Full OpenAPI response schemas

    All /v1 endpoints now publish full Swagger/OpenAPI type definitions, including nullable/array shapes — making MCP and AI-agent auto-generation work cleanly.

  5. Performance

    YouTube scraper now uses Virlo Lambda with fallback

    YouTube data flows through Virlo Lambda by default with automatic fallback to ScrapeCreators on failure. Eliminates per-request upstream cost and improves reliability.

    Commits:beea42b
  6. Deprecated

    Non-`/v1` endpoints deprecated

    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.

    Commits:b0775c8
  7. Added

    Public OpenAPI spec at `/openapi.json`

    The full Swagger/OpenAPI document is now exposed at GET /openapi.json for MCP servers and AI agents to discover the API automatically.

    Commits:2ddd647
  8. Added

    Intent classification on creators and videos

    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.

  9. Added

    Auto top-up trigger on credit deduction

    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.

    Commits:35e8204
  10. Changed

    `time_period` is now required on analytics endpoints

    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.

    Commits:7d7848f
  11. Removed

    `creditsUsed` field removed from responses

    Per-response credit accounting has moved to the X-Cost response header (added 2026-04-01). The legacy creditsUsed body field has been removed.

    Commits:1efee9f
  12. Added

    Persistent Instagram thumbnails

    Instagram media thumbnails are now cached and rewritten to long-lived URLs, fixing the 24-hour image expiration that was breaking downstream storage.

February 2026

  1. Added

    Video outlier detection on Comet

    New endpoint GET /v1/comet/{id}/video-outliers surfaces videos with anomalous engagement or growth within a Comet niche.

    Commits:2abc086
  2. Added

    Satellite batch creator lookups

    Run bulk creator profile lookups asynchronously and poll for results. Useful for ingesting large creator lists without hitting per-request rate limits.

    Commits:530896b
  3. Performance

    Video ingestion pipeline rewrite

    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.

  4. Added

    Teams and team-level credits

    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.

  5. Added

    Satellite — unified creator profiles

    New endpoint GET /v1/satellite/creators/{handle} returns a single cross-platform profile (TikTok, Instagram, YouTube) with normalized stats, recent posts, and category tags.

    Commits:d642ea2
  6. Added

    `/v1` API launch

    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.

    Commits:fdad101
  7. Added

    Creator outlier detection

    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.

January 2026

  1. Added

    Hashtag performance & Meta ads endpoints

    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).

December 2025

  1. Added

    Comet — custom creator-niche intelligence

    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.

November 2025

  1. Added

    Orbit AI analysis

    Orbit responses now include AI-generated keyword trend and creator insight summaries, powered by a new analysis service.

  2. Added

    `keyword` field on video search results

    Video search responses now echo back the keyword that matched, so downstream pipelines can attribute results without re-tracking the query.

    Commits:1b52b90
  3. Added

    Orbit — keyword-based social listening

    New endpoints POST /orbit/keyword-searches and GET /orbit/keyword-searches for discovering creators producing content around specific keywords across TikTok, Instagram, and YouTube.

    Commits:50e880f
  4. Added

    Per-request credit pricing

    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.

    Commits:b53f8cf

October 2025

  1. Added

    Multi-platform support on hashtags & videos

    Hashtag and video endpoints now accept a platform query param (tiktok, instagram, youtube) to scope results to a single network.

    Commits:402bc6e
  2. Added

    Niche trends endpoint

    New endpoint GET /niches/{niche_id}/trends for niche-scoped trend discovery.

    Commits:74e61b5
  3. Added

    Virlo API v0 — initial launch

    Public API launched with three core endpoints: GET /hashtags, GET /videos, GET /trends. Covers TikTok and Instagram at launch with YouTube to follow.

    Commits:1e75d7a

Looking for a specific change? Email us.