---
title: "Get trending sounds"
method: GET
path: "/v1/sounds/trending"
tags: ["Sounds"]
---

# Get trending sounds

`GET /v1/sounds/trending`

## Request

- Base URL: `https://api.virlo.ai`
- URL: `https://api.virlo.ai/v1/sounds/trending`
- Auth: HTTP bearer

Returns sounds currently trending in the Virlo dataset. Default sort `videos_7d` ranks by # videos published using each sound in the last 7 days — the recency-weighted "what is rising right now" signal. `videos_30d` widens that window to 30 days. Legacy sorts `usage_count` and `video_count` return all-time leaders (greatest hits, not "trending"). Use the velocity sorts for momentum questions; use the legacy sorts for reach-not-momentum questions. Filter by platform or commerce-safe sounds.

## Query parameters

- `platform` 'tiktok' | 'youtube' | 'instagram'
- `limit` number
- `page` number
- `sort` 'videos_7d' | 'videos_30d' | 'usage_count' | 'video_count'
- `commerce_only` boolean

## Response `200`

- TrendingSoundsResponseDto
  - `data` TrendingSoundItemDto[], required
    - `id` string, required: Virlo's internal sound ID (UUID). Use this for the /v1/sounds/:sound_id family (details, videos, usage-history, resolve). For the satellite sound lookup prefer `external_id`, though passing this UUID also works — it is auto-resolved to the sound's platform + external_id.
    - `external_id` string, nullable: Platform-native sound identifier (TikTok music/clip id, or Instagram audio id). This is the `music_id` accepted by the satellite sound lookup — call GET /v1/satellite/sounds/{platform}/{external_id} for TikTok or Instagram sounds. YouTube sounds are not supported (you'll get a 400). Null for sounds without a platform id.
    - `title` string, required
    - `platform` 'tiktok' | 'youtube' | 'instagram', required
    - `duration` number, nullable: Duration in seconds. Available on TikTok only.
    - `cover_url` string, nullable: Sound cover image URL. Available on TikTok and YouTube. Always an absolute URL (or null). Images Virlo stores are served from https://auth.virlo.ai/storage/v1/object/public/<bucket>/; platform CDN links are passed through. Some files are HEIC, which most non-Safari browsers cannot render, so convert before display if you need to.
    - `owner_handle` string, nullable: Sound owner handle. Partially available on TikTok (~12%).
    - `owner_nickname` string, nullable: Sound owner display name. Available on TikTok, YouTube, Instagram.
    - `is_original` boolean, nullable: Whether the sound is an original creation. TikTok only.
    - `is_commerce_music` boolean, nullable: Whether the sound is cleared for commercial use. TikTok only.
    - `usage_count` number, nullable: Platform-wide usage count. TikTok only.
    - `video_count` number, required: All-time number of videos in our dataset using this sound. Updated within a few minutes of new videos arriving.
    - `avg_views` number, required: Average current views across all videos in our dataset using this sound (videos without a view count count as 0). Updated within a few minutes.
    - `videos_in_window` number, nullable: Number of videos using this sound published in the last 7 or 30 days (window depends on the `sort` parameter). Populated when `sort=videos_7d` or `sort=videos_30d`. The momentum signal behind "real" trending.
  - `pagination` PaginationMetaDto, required
    - `page` number, required
    - `limit` number, required
    - `total` number, required
    - `total_pages` number, required
    - `has_next_page` boolean, required
    - `has_prev_page` boolean, required
  - `sort` string: The sort mode used for this response. Echoes the `sort` query param so callers can confirm which ordering produced the data.

## Other responses

- `401`: Missing or invalid API key (`missing_api_key` / `invalid_api_key`)
- `429`: Rate limit exceeded (`rate_limit_exceeded`); see the Retry-After header

---

[API](https://skmtc.dev/virlo/apis/virlo-public-api.md) · [All operations](https://skmtc.dev/virlo/apis/virlo-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/virlo/apis/virlo-public-api/revisions/3b69c6145087?raw)
