How to Get YouTube Channel Subscriber Count without Using API

YouTube provides these subscribe buttons which include the number of your channel subscribers which can be extracted using a simple regular expression.

Extract the Subscribe Count in PHP


// Change channelid value to match your YouTube channel ID
$url = '';

// Fetch the Subscribe button HTML
$button_html = file_get_contents( $url );

// Extract the subscriber count
$found_subscribers = preg_match( '/="0">(\d+)</i', $button_html, $matches );

if ( $found_subscribers && isset( $matches[1] ) ) {
    echo intval( $matches[1] );

The Channel ID can be found on your YouTube profile page.


Here is the number of subscribers of my YouTube channel.

Channels with 1k+ Subscribers

For YouTube channels with subscriber count above 1000 (such as this) it will display a “human” readable string “10M” instead of the actual number. In those cases you’ll need to use the official YouTube API like so:


$api_url = '';

$query = [
    'id' => 'UCopSjr1a2QgRvm-yJRqcPpA', // Channel ID.
    'part' => 'statistics',

$request_url = sprintf(
    http_build_query( $query )

$response_json = json_decode( file_get_contents( $request_url ) );

echo $response_json->items[0]->statistics->subscriberCount;

and we’re extracting $response_json->items[0]->statistics->subscriberCount from the $response_json which looks like this:

 "kind": "youtube#channelListResponse",
 "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/k-b8cAz8jrfCs9f_OWym7RX4Nkg\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 "items": [
   "kind": "youtube#channel",
   "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/DCgZF-rKkOqC-OcyBd5OU5kXbUI\"",
   "id": "UCopSjr1a2QgRvm-yJRqcPpA",
   "statistics": {
    "viewCount": "156320",
    "commentCount": "0",
    "subscriberCount": "873",
    "hiddenSubscriberCount": false,
    "videoCount": "13"


  1. Sangeetha says:

    The above code is not working for the youtube channels, whose subscriber count has letters. E.g.100K. Can you please post the code for handling that?

  2. Hung Vu says:

    For channel have above 100k sub change

    $found_subscribers = preg_match( '/="0">(\d+)(\w+)</i', $button_html, $matches );

Leave a Reply