Back home

How many Dutch accounts are there?

AT Protocol has no country field. Accounts carry no location, and neither the identity records nor the profile records say where someone lives. So we do two things instead: we count the Dutch accounts we can point to, and we model how many there probably are in total.

Time to get nerdy with numbers!

Short answer: at least 11.313, probably around 230.000.

Updated 31/08/2026

Two main numbers

Confirmed unique Dutch accounts11.313deduplicated DIDs
Modelled totalestimated
The whole bar is the modelled total. The filled part shows the DIDs we have confirmed today, while measurements are ongoing: 11.313 of ~230.000, about 4.9%. That share climbs the longer we measure, though it will never reach 100%.

The confirmed number can fall as well as grow: we drop accounts whose Dutch evidence is gone, like an expired domain.

Nobody counted the modelled total; we derive it below.

What these accounts show

Every did:plc identity has a public log, and every repo lists the collections it holds. That tells us when these accounts were created, where they run, and which apps they use. This covers the 11.313 confirmed accounts, not every Dutch account.

When these accounts were created

2023/022023/082024/022024/082025/022025/082026/022026/08
Creation date from the PLC directory, by month. This is when the account was made, not when we identified it.

Which apps they use, beyond Bluesky

Only 676 accounts (6%) of the 11.313 use anything other than Bluesky. When they do, this is what they use:

standard.site225
community lexicons176
Anisota170
Flashes158
Pinksky57
mu.social49
Sifa48
Tangled46
Tokimeki30
Leaflet28
popfeed.social26
bookhive.buzz23
stream.place20
pckt.blog17

Accounts holding records from that app in their repo, counted once per app however many record types they hold. Bluesky's own collections are left out, since nearly everyone has them. This counts accounts, not records. This only sees apps that write their own records. A client that just reads Bluesky data, like Skywalker or Graysky, leaves nothing in a repo and so cannot appear here, however heavily it is used.

By record type
  • site.standard.publication 208 accounts
  • site.standard.document 189 accounts
  • net.anisota.beta.game.log 159 accounts
  • net.anisota.beta.game.session 159 accounts
  • community.lexicon.payments.webMonetization 153 accounts
  • blue.flashes.actor.profile 150 accounts
  • blue.flashes.feed.post 105 accounts
  • net.anisota.harvest.minigame 65 accounts
  • social.pinksky.app.preference 57 accounts
  • social.mu.newsFeedPrefs 49 accounts
  • id.sifa.profile.self 43 accounts
  • sh.tangled.actor.profile 42 accounts
  • id.sifa.profile.position 41 accounts
  • site.standard.graph.subscription 39 accounts
  • id.sifa.profile.education 37 accounts
  • id.sifa.profile.skill 37 accounts
  • id.sifa.profile.language 37 accounts
  • id.sifa.profile.externalAccount 31 accounts
  • id.sifa.graph.follow 27 accounts
  • social.popfeed.actor.profile 26 accounts
  • tech.tokimeki.poll.vote 25 accounts
  • buzz.bookhive.book 23 accounts
  • net.anisota.beta.game.progress 22 accounts
  • blue.flashes.actor.portfolio 20 accounts
  • social.popfeed.feed.listItem 20 accounts
  • sh.tangled.feed.star 20 accounts
  • sh.tangled.graph.follow 20 accounts
  • id.sifa.profile.certification 19 accounts
  • place.stream.chat.profile 19 accounts
  • sh.tangled.publicKey 19 accounts

Where they run

Bluesky hosted 92.5% elsewhere 7.5%

765 accounts (7.5%) live on a PDS outside Bluesky's own hosting.

Where each number comes from

deduplicated total11.313
Posted Dutch8.081
Dutch domain2.308
Starter pack1.279
Companies142
Self declared location24
found only by this source also found by another source

Each source finds largely different accounts. Summed they come to 11.834; deduplicated by DID, 11.313 remain.

Posted Dutch 8.081

They have posted something in Dutch where we could see it.

How we measure this

From the public Bluesky firehose: we sample posts over several days, keep the ones language-tagged Dutch, and collect the accounts posting them. Accumulated over time, so it only grows.

As of 2026-08-31 · ~5h firehose sample

Dutch domain 2.308

Their username ends in a Dutch domain, like .nl or .amsterdam.

How we measure this

From the PLC directory, the network-wide registry of every atproto identity: we scan each account's current handle and keep the clearly-Dutch domains (.nl, plus city and region domains like .amsterdam and .frl). A full scan runs for hours, so this number climbs until it finishes. We re-check this list daily: if the domain lapses or the account disappears, it stops counting.

As of 2026-08-31

Starter pack 1.279

Someone put them in a Dutch starter pack, a hand-picked list of accounts to follow.

How we measure this

From a curated list of clearly-Dutch Bluesky starter packs: we read each pack's members via the AppView and union them.

As of 2026-08-31 · 31 packs

Companies 142

A Dutch organisation whose own website domain is the account.

How we measure this

From Sifa's entity database: NL-based organisations (by recorded HQ country or a .nl website) whose website domain is itself an atproto account.

As of 2026-08-31

Self declared location 24

They wrote a Dutch location in their Sifa ID profile themselves.

How we measure this

From Sifa ID profiles: accounts whose profile lists a location in the Netherlands.

As of 2026-08-31

What we model

The floor only counts those who make themselves visible. Anyone posting in English, without a Dutch domain, in no starter pack, stays invisible to all five detectors. To reach a real number we have to stop counting and start modelling.

  1. 46.184.219Bluesky accounts
  2. ~350.000Dutch-speaking accounts
  3. ~230.000in the Netherlands

Every step above is an assumption.

How big the ecosystem is

Bluesky has around 46 million accounts (bsky.jazco.dev/stats). We use this as the base to scale from. The wider AT Protocol identity count is higher, but includes bots, spam, and deleted accounts, which is what a full PLC-directory crawl like sifa.id/stats counts.

How much Dutch gets posted

We sample the public firehose and count posts tagged Dutch. About 0.761% of posts are Dutch, measured over a window of roughly 18 hours. Every account we see posting Dutch goes into the floor above. The true total is higher: many Dutch speakers post rarely, or in English.

What could be wrong

Most of this pushes the count down rather than up. If the estimate is off, it's more likely too low than too high.

Check it yourself

The measurement scripts live in this site’s repo. They read the public Jetstream firehose, need no login, and print the raw numbers.

uv run scripts/estimate-nl-users.py 86400 nl-24h.json

tangled.org/atproto.nl/website, the scripts live in scripts/.

Make this number better

The floor rises as detection improves, and you can help: set a Dutch domain as your handle, put a Dutch location in your Sifa ID profile, or curate a Dutch starter pack. More visible means more countable.

Updated 31/08/2026