# Follower Counts Are in the Head: 5 Platforms

> On Instagram, Facebook, LinkedIn, YouTube and Twitch the follower count is server-rendered in the head of the page. One plain HTTP fetch reads it; no browser.

[Home](https://quanticdata.io/)/[Blog](https://quanticdata.io/blog/)/Follower Counts Are in the Head: 5 Platforms

# Follower Counts Are in the Head: 5 Platforms

ProxiesSep 28, 2026·10 min read·By [Aldo Morese](https://quanticdata.io/about/), founder of QuanticData

Plain HTTP bytes against rendered bytes on five platforms whose follower count is in the head of the page, measured through residential proxies in September 2026: Instagram 842,611 bytes, Facebook 923,794 against 2,474,309, LinkedIn 373,575 against 825,521, YouTube 1,746,955 against 3,544,622, Twitch 214,029 against 1,718,470

On this page [The search results sell a browser for a number that is already in the head](/blog/follower-counts-in-the-head/#the-search-results-sell-a-browser-for-a-number-that-is-alrea) [Eleven targets, and where the number lives](/blog/follower-counts-in-the-head/#eleven-targets-and-where-the-number-lives) [One fetch per profile, and what a gigabyte buys](/blog/follower-counts-in-the-head/#one-fetch-per-profile-and-what-a-gigabyte-buys) [The exit country rewrites the number, not just the label](/blog/follower-counts-in-the-head/#the-exit-country-rewrites-the-number-not-just-the-label) [TikTok and Spotify are the exceptions, and the count lives in the collector or the API](/blog/follower-counts-in-the-head/#tiktok-and-spotify-are-the-exceptions-and-the-count-lives-in) [Read the robots file first, and read the page logged out](/blog/follower-counts-in-the-head/#read-the-robots-file-first-and-read-the-page-logged-out) [The setting that works on the five platforms](/blog/follower-counts-in-the-head/#the-setting-that-works-on-the-five-platforms)

Five platforms print the follower count in the head of the page, before any script runs. Instagram puts it in the meta description: "104M Followers, 93 Following, 4,935 Posts". Facebook puts it in og:description: 28,729,210 followers. LinkedIn puts it in the meta description: 7,122,889 followers. YouTube puts 15,100,000 subscribers in ProfilePage JSON-LD, and Twitch puts 2,461,147 followers in the JSON-LD of a channel page. One plain HTTP fetch through a residential exit reads each of them. Rendering the same URL adds up to 2.7 times the bytes and no number. TikTok is the exception, and for it the tiktok_profile collector returns 2 profiles in 14.4 seconds.

## The search results sell a browser for a number that is already in the head

Search for an Instagram follower count scraper and every result on the first page is a tool: a hosted actor priced per thousand profiles, a browser-automation vendor, a video walkthrough, two exporters that borrow your own session, a listicle of ten scrapers. The one human voice is a Reddit thread from someone with a CSV of profile URLs who was told to buy rotating proxies and "run this", and could not make any of it work.

None of those pages says the thing that makes the job small. The follower count on a public Instagram profile is the first line of the meta description, server-rendered for link previews, and it arrives in the first kilobytes of a plain HTTP response. Meta's own webmaster guide is explicit that Open Graph tags exist so the crawler does not have to guess the title and description, and the same mechanism is why a follower-tracking job needs no browser on five of the six platforms people ask about.

## Eleven targets, and where the number lives

Every row is a public profile, Page, channel or listing fetched logged out through a residential exit, twice: as a plain HTTP client and rendered. The word counts are extractable body text, which is why they are tiny on the platforms whose page is an application shell. The number was read from the plain response.

| Target | Exit | Plain HTTP words | Rendered words | Where the number is | Setting |
| --- | --- | --- | --- | --- | --- |
| Instagram profile | US | 40 | 40 | meta description: 104M Followers, 93 Following, 4,935 Posts | plain HTTP, 842,611 bytes |
| Facebook Page | US | 0 | 350 | og:description: 28,729,210 followers, 128,489 talking about this | plain HTTP, 923,794 bytes |
| LinkedIn company page | US | 1,928 | 2,588 | meta description: 7,122,889 followers; Organization JSON-LD | plain HTTP, 373,575 bytes |
| YouTube channel | US | 15 | 585 | ProfilePage JSON-LD: 15,100,000 subscribers; canonical resolves the handle to the channel ID | plain HTTP, 1,746,955 bytes |
| Twitch channel page | US | 0 (home) | 125 | ProfilePage JSON-LD: 2,461,147 followers, ten videos with view counts | plain HTTP, 214,029 bytes |
| Zillow listing | US | 759 (home) | 0 | meta description: price, beds, baths, square feet | plain HTTP, 755,913 bytes |
| Reddit subreddit listing | US | 574 | 0 | server-rendered HTML: scores and comment counts per post | plain HTTP, 566,030 bytes |
| Roblox game | US | 0 (home) | 128 | public games endpoint: 226,518 live players in 1,802 bytes | plain HTTP to the endpoint |
| TikTok profile | US | 5 | 12 | nothing in the head; oEmbed answers in 668 bytes without a count | tiktok_profile collector, 2 rows in 14.4 s |
| Spotify artist | US | 0 | 14 | nothing in the head; followers.total in the Web API | the Web API with a client token |
| Trustpilot company | US | 19 | 3,588 | meta description: 301,632 reviews, written after the page renders | rendered, or the reviews collector, 10 rows in 14.8 s |

The first five rows are the post. On Instagram the plain fetch and the render return the same 40 words, because the profile grid is loaded by scripts and the browser does not print it as text either; re-audited today the render returned 97 words and the identical description. On LinkedIn the rendered page has more words but the count was in the head before any of them. On YouTube the head does something the rendered page never does for you: it resolves `@NASA` to the channel ID `UCLA_DiR1FfKNvjuUpBHmylQ` in the canonical, which is the key every later call needs.

## One fetch per profile, and what a gigabyte buys

The cost of a follower count is the size of the head-carrying response, and only that. Counting a gigabyte as 10^9 bytes on residential Basic at $0.80/GB:

| Platform | Plain bytes | Rendered bytes | Plain cost per profile | Rendered cost per profile | Profiles per GB, plain |
| --- | --- | --- | --- | --- | --- |
| Instagram | 842,611 | n/a | $0.00067 | n/a | 1,187 |
| Facebook | 923,794 | 2,474,309 | $0.00074 | $0.00198 | 1,082 |
| LinkedIn | 373,575 | 825,521 | $0.00030 | $0.00066 | 2,677 |
| YouTube | 1,746,955 | 3,544,622 | $0.00140 | $0.00284 | 572 |
| Twitch channel page | 214,029 | 1,718,470 (home) | $0.00017 | $0.00137 | 4,672 |

Instagram's plain fetch took 2.06 seconds today; the two-pass audit with the render took 25.2 seconds. Facebook's rendered Page costs 2.7 times the bytes of the plain one and still hands you the same count. The largest saving is not the bandwidth, it is the browser minutes: a thousand profiles rendered is hours of browser time for a field that a thousand plain fetches return in minutes. On Twitch the plain channel page is also the cheapest object in this table, 214,029 bytes for the follower count and ten videos with views.

## The exit country rewrites the number, not just the label

This is the part the tools do not warn you about, and it breaks trackers quietly. The head is localised on the exit IP alone, with no `Accept-Language` sent. The same Instagram profile returned "104M Followers, 95 Following, 4,925 Posts" from the United States and "104M Follower, 95 Gefolgt, 4,925 Beitraege" from Germany, "104M seguidores" from Brazil with an em dash where the English uses a hyphen, and a fourth ordering from Japan. Facebook returned "28,729,210 followers" to a US exit and "28.729.208 Follower" to a German one. LinkedIn returned "7,122,889 followers" and "7.122.892 Follower:innen".

A regex written for the English label finds nothing in German, and nothing is not the same as zero followers. Worse, a numeric parser that strips commas reads `28.729.208` as 28. Two rules cover every platform in the table: pin the exit country per job, and strip every separator before converting, never matching on a translated label. YouTube adds a third: from a German exit the channel URL does not reach the channel at all but a 212-word consent page with no ID and no count, so the exit for YouTube is `country=us`, always.

## TikTok and Spotify are the exceptions, and the count lives in the collector or the API

TikTok's head is empty. A profile fetched from four countries returned roughly 400 kilobytes of application shell each time with no canonical, no Open Graph and no JSON-LD, and its oEmbed endpoint answers a plain client in 668 bytes with the display name and no follower count. For TikTok the setting is the [tiktok_profile collector](https://quanticdata.io/collectors/tiktok-scraper-api/): today it returned 2 profiles in 14.4 seconds at $0.004 per profile, NASA with 1,900,000 followers, 9,700,000 likes and 49 posts, National Geographic with 9,600,000 followers, from a US exit, no login, no browser.

Spotify's artist page over plain HTTP has a canonical and nothing else, no description and no structured data, and the rendered page returns 14 words. The count is `followers.total` in the Web API under a client-credentials token, which needs no proxy at all. Trustpilot is the third shape: the review count, "301,632 people have written so far", is in the description, but the description is written by the page after it renders, so the choice there is a rendered fetch with a six-second wait or the [reviews collector](https://quanticdata.io/collectors/trustpilot-scraper-api/), 10 reviews in 14.8 seconds.

For the platforms whose head carries the count, the collectors return the count plus the fields around it: [youtube_channel](https://quanticdata.io/collectors/youtube-channel-scraper-api/) returned 30 videos for @NASA in 3.84 seconds with the subscriber and video totals on every row, and [linkedin_company](https://quanticdata.io/collectors/linkedin-company-scraper-api/) returned the parsed company row in 4.3 seconds with 7,122,884 followers and the employee count. An [Instagram profile collector](https://quanticdata.io/collectors/instagram-scraper-api/) exists for the same reason: one row with the counts typed, when a regex over a meta description is not what you want to maintain.

## Read the robots file first, and read the page logged out

Instagram's `robots.txt` is 6,184 bytes. It opens with a notice that automated collection is prohibited without written permission, lists 14 crawlers that are disallowed everywhere, gives named search engines path exclusions, and ends with `User-agent: *` and `Disallow: /`, followed by four sitemaps, one of them a profile sitemap. Facebook's file says the same in 50,087 bytes. The profile page itself carries `noarchive, noimageindex` in its robots meta and no JSON-LD.

So be accurate about what a plain fetch is. It reads what the platform serves to any anonymous visitor, and for these five platforms that includes the count. Meta's terms say automated collection needs its written permission; LinkedIn's robots file disallows everything to an unnamed client. A public surface being readable is a technical fact and permission is a contractual one. Where a platform's terms forbid something, we say so in one line: none of the settings in this post logs in, follows anyone, sends anything or touches an account. Follower counts are for creator research, brand monitoring and ad verification, and personal data attached to a profile is your lawful-basis problem, not the proxy's.

## The setting that works on the five platforms

- **Network**: [residential proxies](https://quanticdata.io/residential-proxies/), Basic line at $0.80/GB. Every head in the table answered a residential exit on the first request; nothing here rewarded Premium at $2.20/GB, mobile at $2.30/GB or ISP at $2.50 per IP per month.

- **Fetch mode**: `engine: tls`, plain HTTP, no rendering. Instagram 40 words with the count in the description, LinkedIn 1,928 words with the count in the description, YouTube 15 words with 15,100,000 subscribers in JSON-LD; rendering costs 2.7 times the bytes on Facebook and 2.0 times on YouTube for the same number.

- **Country to pin**: `country=us` for English labels and US number format. A German exit returns "28.729.208 Follower" on Facebook and "7.122.892 Follower:innen" on LinkedIn, and on YouTube a 212-word consent page instead of the channel.

- **When the proxy is not enough**: the [tiktok_profile collector](https://quanticdata.io/collectors/tiktok-scraper-api/), 2 profiles in 14.4 seconds at $0.004 each; [youtube_channel](https://quanticdata.io/collectors/youtube-channel-scraper-api/), 30 videos in 3.84 seconds; [linkedin_company](https://quanticdata.io/collectors/linkedin-company-scraper-api/), one row in 4.3 seconds; for the head as Markdown with the description intact, the [web scraping API](https://quanticdata.io/web-scraping-api/) at $0.0002 per page, rendering off.

- **Free tier**: every account gets $2 of free API usage per month, which is about 2,900 Instagram profile heads at today's 842,611 bytes, or 500 TikTok profiles through the collector, before anything is billed.

### Sources & further reading

- [instagram.com/robots.txt (fetched 28 September 2026, 6,184 bytes)](https://www.instagram.com/robots.txt)

- [A Guide to Sharing for Webmasters: Open Graph markup, Meta for Developers (updated 30 June 2026)](https://developers.facebook.com/docs/sharing/webmasters/)

- [Profile page (ProfilePage) structured data, Google Search Central](https://developers.google.com/search/docs/appearance/structured-data/profile-page)

- [Scrape insta follower count without logging in using *.csv url list, r/webscraping](https://www.reddit.com/r/webscraping/comments/1grkqs0/scrape_insta_follower_count_without_logging_in/)

## FAQ

Quick answers on follower count.

[Something else? Ask us →](mailto:hello@quanticdata.io)

### Do I need a browser to read an Instagram follower count?

No. The public profile returns 40 words to a plain HTTP client and the same 40 to a browser, and the count is in the meta description of the plain response: "104M Followers, 93 Following, 4,935 Posts" on 28 September 2026, in 842,611 bytes and 2.06 seconds through a US residential exit. The two-pass audit with the render took 25.2 seconds and returned the identical description.

### Which platforms put the follower count in the head of the page?

Five of the six we measured: Instagram and LinkedIn in the meta description, Facebook in og:description, YouTube in ProfilePage JSON-LD with 15,100,000 subscribers for @NASA, Twitch in the JSON-LD of a channel page with 2,461,147 followers. TikTok is the exception with an empty head, so its count comes from the tiktok_profile collector, 2 profiles in 14.4 seconds.

### What does a follower count cost through a proxy?

The bytes of one plain fetch at $0.80/GB, counting a gigabyte as 10^9 bytes: $0.00017 on a Twitch channel page (214,029 bytes), $0.00030 on LinkedIn (373,575), $0.00067 on Instagram (842,611), $0.00074 on Facebook (923,794), $0.00140 on YouTube (1,746,955). Rendering the same URL costs $0.00198 on Facebook and $0.00284 on YouTube for the same number. Through the collector, TikTok is $0.004 per profile.

### Why does my parser read 28 followers from a German exit?

Because the head is localised on the exit IP and the German format is "28.729.208 Follower", which a comma-stripping parser converts to 28. LinkedIn does the same with "7.122.892 Follower:innen", and Instagram reorders the fields per country. Pin country=us per job, strip every separator before converting, and never match on the translated label: a match for "Followers" that finds nothing in German is not zero followers.

### Can I track follower count history with plain fetches?

Yes, with a caveat we measured. Fetch the head on a schedule and store the count with a timestamp; Instagram, LinkedIn, YouTube and Twitch return one stable figure per fetch. Facebook returns two figures, and only the first is stable: the same Page reported 28,729,210, 28,729,209 and 28,729,208 followers in four minutes, while the "talking about this" figure moved between 118,881 and 134,882 in the same window. Store the second as a reading, not a trend.

### Is reading follower counts allowed by the platforms?

The count is what each platform serves to any anonymous visitor, and every setting here is logged out. The rules are separate: Instagram’s robots.txt is 6,184 bytes, disallows 14 named crawlers everywhere and closes the site to unnamed clients, and Meta’s terms require written permission for automated collection. Read for creator research, brand monitoring and ad verification; nothing in this post follows, messages, logs in or automates an account.

## Read the head, skip the browser

Every count in this post came from one plain HTTP fetch through a residential exit at $0.80/GB, and the exceptions from a collector billed per delivered row. Every account gets $2 of free API usage per month.

[Start free — $2/month included](https://quanticdata.io/signup/)[Explore Residential Proxies from $0.80/GB](https://quanticdata.io/residential-proxies/)

## Related reading

[Proxies Golang HTTP Client Proxy: Auth, SOCKS5 How to attach a proxy to an http.Client in Go, authenticate over CONNECT, use SOCKS5 from the standard library and rotate exits per request, with a measurement of how far a no-JavaScript client actually gets. Read →](https://quanticdata.io/blog/golang-http-client-proxy/) [Proxies 12 Sites Where Headless Browsers Lock You Out Twelve of the 53 sites we measured in September 2026 give a headless browser less than they give a plain HTTP client, and seven of them give it nothing. The same twelve URLs return 11,157 words over plain HTTP and 3,032 rendered. Steam, Etsy, Idealista, Reddit, Indeed, Zillow, Tripadvisor, DoorDash, Expedia, DraftKings, Vinted and Glassdoor, with the numbers, the cost of the browser you do not need, and the collector rows for the pages the fetch cannot reach. Read →](https://quanticdata.io/blog/headless-browser-locks-you-out-plain-http/) [Proxies Geo-Targeted Proxies: 987 Words UK vs 149 DE The same URL, rendered through residential exits: 987 words from the United Kingdom, 149 from Germany, 2,031 from the United States. Nothing was translated; each exit landed on a different licensed product. On 18 of the 53 sites we measured, geo-targeted proxies change the page itself: the domain on AliExpress, the entity on OKX, the price line on Netflix, the number format on Facebook and LinkedIn, and whether the channel page exists at all on YouTube. Pin the exit per job or you are comparing two different pages. Read →](https://quanticdata.io/blog/same-url-different-country-different-page/)

## Also on this site

Quantic**Data**

Residential proxies & web data APIs for AI.

#### Proxies

- [Residential Basic](https://quanticdata.io/residential-proxies/#basic)

- [Residential Premium](https://quanticdata.io/residential-proxies/#plans)

- [Cheap Residential](https://quanticdata.io/cheap-residential-proxies/)

- [Mobile Proxies](https://quanticdata.io/mobile-proxies/)

- [Datacenter Proxies](https://quanticdata.io/datacenter-proxies/)

- [ISP Proxies](https://quanticdata.io/isp-proxies/)

- [Rotating Proxies](https://quanticdata.io/rotating-proxies/)

- [Sneaker Proxies](https://quanticdata.io/sneaker-proxies/)

- [SOCKS5 Proxies](https://quanticdata.io/socks5-proxies/)

- [IPv6 Proxies](https://quanticdata.io/ipv6-proxies/)

- [Proxy locations](https://quanticdata.io/proxies/)

#### Data APIs

- [MCP Server](https://quanticdata.io/mcp-server/)

- [Web Scraper API](https://quanticdata.io/web-scraping-api/)

- [SERP API](https://quanticdata.io/serp-api/)

- [Collectors](https://quanticdata.io/collectors/)

- [Web Data for AI](https://quanticdata.io/web-data-api-for-ai/)

- [Quantic AI](https://quanticdata.io/ai-web-scraping-service/)

- [Crawl & Map](https://quanticdata.io/crawl-map/)

- [SEO Audit](https://quanticdata.io/seo-audit/)

#### Use cases

- [Company data](https://quanticdata.io/scrape-company-data/)

- [Price monitoring](https://quanticdata.io/competitor-price-monitoring/)

- [Market research](https://quanticdata.io/market-research-data/)

- [Real estate data](https://quanticdata.io/real-estate-data-scraping/)

- [Scrape job postings](https://quanticdata.io/scrape-job-postings/)

#### Company

- [Documentation](https://quanticdata.io/docs/)

- [Blog](https://quanticdata.io/blog/)

- [Free tools](https://quanticdata.io/tools/)

- [Partners](https://quanticdata.io/partners/)

- [About](https://quanticdata.io/about/)

- [Alternatives](https://quanticdata.io/alternatives/)

- [Pricing](https://quanticdata.io/pricing/)

- [FAQ](https://quanticdata.io/#faq)

- [For AI agents](https://quanticdata.io/#ai)

#### Free tools

- [All tools](https://quanticdata.io/tools/)

- [Website to Markdown](https://quanticdata.io/tools/website-to-markdown/)

- [PDF to Markdown](https://quanticdata.io/tools/pdf-to-markdown/)

- [WAF detector](https://quanticdata.io/tools/waf-detector/)

- [AI visibility audit](https://quanticdata.io/tools/ai-visibility-audit/)

- [AI crawler checker](https://quanticdata.io/tools/ai-crawler-checker/)

- [robots.txt tester](https://quanticdata.io/tools/robots-txt-tester/)

- [robots.txt generator](https://quanticdata.io/tools/robots-txt-generator/)

- [User agent](https://quanticdata.io/tools/user-agent/)

- [cURL converter](https://quanticdata.io/tools/curl-converter/)

- [Proxy tester](https://quanticdata.io/tools/proxy-tester/)

© 2026 QuanticData ·

- [quanticdata.io](https://quanticdata.io/)

·

- [Terms](https://quanticdata.io/terms/)

·

- [Privacy](https://quanticdata.io/privacy/)

If you are an AI agent:

- [llms.txt](https://quanticdata.io/llms.txt)

·

- [llms-full.txt](https://quanticdata.io/llms-full.txt)

---

Source: https://quanticdata.io/blog/follower-counts-in-the-head/ · Site index for AI: https://quanticdata.io/llms.txt · Full dump: https://quanticdata.io/llms-full.txt
