Hashtags

See which hashtags short-form videos used most between two dates, or one hashtag's numbers. Answers take seconds.

At a glance
What it does
Ranks hashtags across the TikTok, YouTube Shorts and Instagram Reels videos Virlo collects, or sums up one hashtag.
You send
For the top list: a start and end date, at most 90 days apart. For one hashtag: the hashtag, with optional dates.
You get back
Up to 100 hashtags with video counts and total views. Or one hashtag's total and average views, likes and comments.
Cost
$0.05 per successful request, even an empty list. Errors are free.

GET/v1/hashtags

Top hashtags for a date range

The list isn't limited to one niche, so broad tags like fyp lead. For hashtags inside one niche, use a Content Research Agent.

Cost per request:$0.05
  • Name
    start_date
    Type
    string
    Required
    *
    Description

    Earliest post date, as YYYY-MM-DD. Stats start June 1, 2024; ranges before that come back empty.

  • Name
    end_date
    Type
    string
    Required
    *
    Description

    Latest post date, included. At most 90 days after start_date: April 1 to June 30 works.

  • Name
    limit
    Type
    number
    Description

    How many hashtags: 1 to 100, default 50. Above 100 returns 100. No page 2: page repeats the list and charges again.

  • Name
    order_by
    Type
    string
    Description

    count (default) or views.

  • Name
    sort
    Type
    string
    Description

    desc (default) or asc.

You send
GET
/v1/hashtags
curl -G https://api.virlo.ai/v1/hashtags \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d start_date=2026-04-01 \
  -d end_date=2026-06-30 \
  -d order_by=views
You get back
{
  "data": [
    { "hashtag": "fyp", "count": 134222, "total_views": 33504743144 },
    { "hashtag": "shorts", "count": 130485, "total_views": 14703578435 },
    { "hashtag": "viral", "count": 73151, "total_views": 14453567398 }
  ]
}

GET/v1/hashtags/:hashtag/performance

One hashtag's performance

Totals and averages for one hashtag, all platforms combined. It works for hashtags outside the top 100.

Cost per request:$0.05
  • Name
    hashtag
    Type
    string
    Required
    *
    Description

    In the URL, with no #. Case doesn't matter. A typed # breaks the URL and returns start_date must be a string; write %23 if needed.

  • Name
    start_date
    Type
    string
    Description

    Optional, as YYYY-MM-DD. Without end_date, you get that day to today.

  • Name
    end_date
    Type
    string
    Description

    Optional. Without start_date: everything up to that day. Leave both out for all-time totals. With both: at most 90 days apart.

You send
GET
/v1/hashtags/:hashtag/performance
curl -G https://api.virlo.ai/v1/hashtags/fyp/performance \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d start_date=2026-04-01 \
  -d end_date=2026-06-30
You get back
{
  "data": {
    "hashtag": "fyp",
    "video_count": 134222,
    "total_views": 33504743144,
    "avg_views": 249621.84,
    "total_likes": 3308657742,
    "avg_likes": 24650.64,
    "total_comments": 26521561,
    "avg_comments": 197.59
  }
}

video_count is the top list's count for the same dates.


Results for one platform

There is no platform parameter. For one platform's top list, call /v1/youtube/hashtags, /v1/tiktok/hashtags or /v1/instagram/hashtags. Same parameters, same price.

For one hashtag on one platform:

  • That platform's top list, if the hashtag is in its top 100. You get only count and views.
  • A Hashtag lookup: fresh videos, top creators and momentum. $0.50, or up to $2.50 with every option. You get a job ID; results take 15 seconds to a few minutes.
  • A Content Research Agent set to that platform. It collects videos (from $0.50, usually under 20 minutes), then reading its hashtags is free.

The last two count different videos, so numbers won't match this page.


Errors

  • Name
    400 Bad Request
    Description

    A date isn't YYYY-MM-DD, the start is after the end, or the dates are over 90 days apart. On the top list, also a missing date (the message names it), a bad order_by or sort, or limit below 1. Or an unsupported parameter like platform or offset.

  • Name
    401 Unauthorized
    Description

    The API key is missing or invalid.

  • Name
    402 Payment Required
    Description

    Your balance is too low. Add funds.

  • Name
    404 Not Found
    Description

    One hashtag only: none of the counted videos used it in your dates.

  • Name
    429 Too Many Requests
    Description

    Over 50 requests a minute, 500 an hour or 5,000 a day on one endpoint. Wait retry_after seconds. See Rate limits.

  • Name
    500 Internal Server Error
    Description

    An impossible date, such as 2026-02-30, returns a 500 for now. Fix the date and retry.

See also Errors.

Was this page helpful?