virlo
Virlo 社交媒体情报 — 病毒式视频分析、主题标签排名、趋势摘要以及 YouTube、TikTok 和 Instagram 上的社交聆听。用于内容策略、趋势发现、竞争分析和利基监控。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~virlogit-virlo-short-form-video-training-datacURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~virlogit-virlo-short-form-video-training-data/file -o virlogit-virlo-short-form-video-training-data.md## 概述(中文)
Virlo 社交媒体情报 — 病毒式视频分析、主题标签排名、趋势摘要以及 YouTube、TikTok 和 Instagram 上的社交聆听。用于内容策略、趋势发现、竞争分析和利基监控。
## 原文
# Virlo
Social media intelligence for short-form video — Bloomberg for viral content.
Homepage: https://dev.virlo.ai
Source: https://github.com/CalciferFriend/virlo-skill
Full API docs: https://dev.virlo.ai/docs | Playground: https://dev.virlo.ai/docs/playground
## Config
Set `VIRLO_API_KEY` environment variable. Your API key has the format `virlo_tkn_<your_key>` and can be obtained from the [Virlo dashboard](https://dev.virlo.ai/dashboard).
## Context
The Virlo API provides cross-platform analytics across YouTube, TikTok, and Instagram. Key capabilities:
- **Hashtags** — 500K+ hashtags ranked by usage count and total views
- **Trends** — Daily curated trending topics updated at 1am UTC
- **Videos** — 2M+ viral video performance data (views, likes, shares, comments)
- **Orbit** — Keyword-based social listening with async analysis jobs
- **Comet** — Automated niche monitoring with scheduled scraping
## API Access
All endpoints use base URL `https://api.virlo.ai/v1`, `snake_case` naming, and return data in a `{ "data": ... }` envelope.
### Making Requests
Use `curl` directly with the `VIRLO_API_KEY` environment variable:
```bash
# GET request
curl -s -X GET "https://api.virlo.ai<endpoint>" \
-H "Authorization: Bearer ${VIRLO_API_KEY}" \
-H "Content-Type: application/json"
# POST request with JSON body
curl -s -X POST "https://api.virlo.ai<endpoint>" \
-H "Authorization: Bearer ${VIRLO_API_KEY}" \
-H "Content-Type: application/json" \
-d '<json-body>'
```
### Examples
```bash
# List top hashtags
curl -s -X GET "https://api.virlo.ai/v1/hashtags" \
-H "Authorization: Bearer ${VIRLO_API_KEY}" \
-H "Content-Type: application/json"
# Top 10 viral videos
curl -s -X GET "https://api.virlo.ai/v1/videos?limit=10" \
-H "Authorization: Bearer ${VIRLO_API_KEY}" \
-H "Content-Type: application/json"
# Daily trend digest
curl -s -X GET "https://api.virlo.ai/v1/trends" \
-H "Authorization: Bearer ${VIRLO_API_KEY}" \
-H "Content-Type: application/json"
# Create an Orbit search
curl -s -X POST "https://api.virlo.ai/v1/orbit" \
-H "Authorization: Bearer ${VIRLO_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"name":"AI research","keywords":["artificial intelligence","AI tools"]}'
```
---
## API Reference
### Authentication
All requests require a Bearer token:
```
Authorization: Bearer virlo_tkn_<your_key>
```
Never commit API keys to version control. Regenerate compromised keys from the dashboard.
### Response Envelope
All responses use a `{ "data": ... }` envelope. List endpoints include pagination metadata:
```json
{
"data": {
"total": 500,
"limit": 50,
"offset": 0,
"items": [ ... ]
}
}
```
### Pagination
List endpoints use offset-based pagination via `limit` and `page` query parameters:
| Parameter | Type | Default | Description |
| --------- | ------- | ------- | ----------------------- |
| `limit` | integer | 50 | Items per page (1-100) |
| `page` | integer | 1 | Page number (1-indexed) |
Maximum of 1000 total results accessible via pagination.
### Common Query Parameters
Many video-related endpoints support these filters:
| Parameter | Type | Description |
| ------------ | ------- | ------------------------------------------------- |
| `min_views` | integer | Minimum view count threshold |
| `platforms` | string | Comma-separated: `youtube`, `tiktok`, `instagram` |
| `start_date` | string | ISO 8601 date filter (earliest publish date) |
| `end_date` | string | ISO 8601 date filter (latest publish date) |
| `order_by` | string | Sort field (varies per endpoint) |
| `sort` | string | Sort direction: `asc` or `desc` (default: `desc`) |
### Platforms
- `youtube` — YouTube Shorts and videos
- `tiktok` — TikTok videos
- `instagram` — Instagram Reels
---
### Hashtags
Virlo tracks 500K+ hashtags ranked by usage count and total views.
#### List Hashtags
```
GET /v1/hashtags
```
Standard pagination (`limit`, `page`).
**Response:**
```json
{
"data": [
{
"hashtag": "#shorts",
"count": 10926,
"total_views": 869912593
}
]
}
```
| Field | Type | Description |
| ------------- | ------- | --------------------------------------------- |
| `hashtag` | string | The hashtag text (may or may not include `#`) |
| `count` | integer | Number of videos using this hashtag |
| `total_views` | integer | Sum of views across all videos with this tag |
---
### Trends
Daily curated trending topics updated at 1am UTC.
#### List Trend Groups
```
GET /v1/trends
```
Standard pagination (`limit`, `page`).
**Response:**
```json
{
"data": [
{
"id": "b88c0c23-8501-4975-a1e9-b7c1160c6342",
"title": "Trends for Oct 15th",
"trends": [
{
"id": "132ea402-804d-4515-b706-f3ff9c698c5e",
"trend_id": "8ab75d1a-cb50-4885-b9b3-2e4ede2a3620",
"trend_group_id": "b88c0c23-8501-4975-a1e9-b7c1160c6342",
"ranking": 1,
"trend": {
"id": "8ab75d1a-cb50-4885-b9b3-2e4ede2a3620",
"name": "NBA Season Opening Night",
"description": "The 2025-26 NBA season officially tipped off...",
"trend_type": "content"
}
}
]
}
]
}
```
| Field | Type | Description |
| -------- | ------ | ------------------------------------------------ |
| `id` | string | UUID of the trend group |
| `title` | string | Display title (e.g., "Trends for Oct 15th") |
| `trends` | array | Array of ranked trend entries |
Trend entry fields: `id`, `trend_id`, `trend_group_id`, `ranking`, `trend` (object with `id`, `name`, `description`, `trend_type`).
---
### Videos
2M+ viral videos across YouTube, TikTok, and Instagram.
#### List Top Videos (Cross-Platform)
```
GET /v1/videos
```
| Parameter | Type | Description |
| ------------ | ------- | ------------------------------------------------- |
| `limit` | integer | Items per page (1-100, default 50) |
| `page` | integer | Page number (1-indexed, default 1) |
| `min_views` | integer | Minimum view count filter |
| `platforms` | string | Comma-separated: `youtube`, `tiktok`, `instagram` |
| `start_date` | string | ISO 8601 earliest publish date |
| `end_date` | string | ISO 8601 latest publish date |
| `order_by` | string | `publish_date`, `views`, `created_at` |
| `sort` | string | `asc` or `desc` (default: `desc`) |
#### Platform-Specific Endpoints
```
GET /v1/youtube-videos
GET /v1/tiktok-videos
GET /v1/instagram-videos
```
Same parameters and response shape as `/v1/videos`, filtered to a single platform.
#### Video Object Fields
| Field | Type | Description |
| -------------------- | ------------ | ------------------------------------------ |
| `id` | string | Virlo UUID |
| `url` | string | Original video URL |
| `publish_date` | string | ISO 8601 publish timestamp |
| `views` | integer | View count |
| `number_of_likes` | integer | Like count |
| `number_of_comments` | integer | Comment count |
| `description` | string | Video description |
| `thumbnail_url` | string