W Social Scraper avatar

W Social Scraper

Pricing

from $15.00 / 1,000 results

Go to Apify Store
W Social Scraper

W Social Scraper

Read any account on W Social, the European AT-Protocol network: whether the network verified them as a human and how, their posts with every engagement count, follower movement, hashtags, follow graph and livestreams — plus alerts when a verification changes or an account goes quiet.

Pricing

from $15.00 / 1,000 results

Rating

0.0

(0)

Developer

Sasha Ebashu

Sasha Ebashu

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

W Social Scraper — Verified Accounts, Posts & Engagement

W Social is the European social network built on the AT Protocol, where every account carries the network's own answer to the question everyone else guesses at: is this a human? This Actor reads any public account — its verification, its posts with every engagement count, who it follows, its livestreams — and reads individual posts by link.

Public API. No key, no login, no proxy needed.

Paste a post link, get its numbers

Drop https://wsocial.eu/profile/anna.wsocial.eu/post/3mtnzyolvcs2i into Post links and get back likes, replies, reposts, quotes, bookmarks, the engagement rate against the author's real follower count, what the post replies to, and — if you ask for it — the whole reply thread with each reply's own engagement and how deep it sits.

One post from the sample: 115 likes, 17 replies, 13 reposts, 2 quotes, 5 bookmarks, a 4.65% engagement rate, and 23 replies read down four levels.

The field that exists here and nowhere else

Every account carries accountTypehuman, organization, bot, service or unverified — and this is the network's own classification, not an inference. Across 576 accounts sampled: 385 human, 144 unverified, 35 organization, 8 bot, 2 service.

Two honest notes about it. The verification method (wid for people, admin for everything the staff approved) is not an independent signal — it follows from the type exactly, in all 576 cases. And an account with no type is not an unverified one: W Social federates with the wider AT Protocol network, so a followed account may live on Bluesky, where this field does not exist. Those are flagged isFederated rather than being quietly counted as unverified.

What you get per account

IdentityHandle, DID, display name, bio, avatar, banner, join date, custom domain, labels
VerificationAccount type, verification route, human flag, federated flag
AudienceFollowers, following, follower ratio
OutputPosts, originals, replies and reposts counted apart; posts in the last 7/30/90 days; dormancy
EngagementTotal and average likes, reposts and replies; engagement per post; engagement rate against followers; the top post
ContentHashtags ranked by use, languages ranked by use, outbound links
GraphWho the account follows — resolved into real handles with their follower counts and verification, plus how many of them are humans
LivestreamsThe account's stream records, a W Social feature standard AT Protocol clients do not carry

Discovery: read the whole network

The server publishes its own account list, so this Actor can find accounts instead of only reading the ones you name. Measured: 27,981 accounts enumerated in 7.5 seconds, then filtered by minimum followers, minimum posts, account type, verification, or "posted within N days".

Filters run in cost order — followers and post counts are checked on the profile before any feed is read, and "posted within" is answered from the first page, so an account that fails it costs one request instead of a full walk.

Monitor mode

changeTypeMeans
verification_changeThe account's type or verification moved — on a network whose whole proposition is verified humans, this is the event worth waking up for
handle_changeThey changed the domain they post under, with the old and new value
new_postsThey published since the last run, with the posts themselves
profile_changeDisplay name or bio moved
went_quietThe run where they crossed your dormancy threshold — announced once, not repeated
followers_up / followers_downAudience moved, with followersDelta
suspendedThe network has taken the account down — reported as its own event, not folded into "gone", because who removed it is the whole story
deactivatedThe owner switched their own account off
no_longer_availableThe account is gone for some other reason — deleted or renamed
new, unchangedFirst sighting / nothing moved

Those three are told apart by what the network actually answers — AccountTakedown, AccountDeactivated, or nothing at all — enumerated across 1,000 live accounts rather than guessed at. In that sample 21 accounts were suspended and 5 deactivated.

History is tracked by DID, not by handle. On this network a handle is a domain name and can change; keyed by handle, a rename would read as one account vanishing and another appearing.

An account that 404s but was never in your baseline is a typo, and is reported as one rather than as news.

Notes & limits

Properties of the source, measured rather than assumed:

  • The author feed carries replies and reposts as well as original posts, which is why it returns more items than the profile's own post counter — 1,014 items for an account reporting 973. Those 973 are matched exactly once reposts are excluded, and reposts are never averaged into the account's own engagement, because they are somebody else's numbers.
  • A repost carries the original post's date, not the date it was reposted. Counting reposts into a "posts this month" window would therefore date them wrongly, so activity windows use original posts only.
  • A window the read did not cover is left empty. On a prolific account 100 posts can span three days; reporting that as the monthly total would under-count them and look like a slowdown that never happened. oldestPostRead says exactly how far back the read got, and firstPostAt is filled in only when the walk actually reached the account's first post.
  • Every 400 from this network is named InvalidRequest — a missing account and a malformed request are the same error code, and only the message tells them apart. This Actor reads the message, so a bug in a request is reported as a bug rather than as "that account does not exist".
  • The server's own account list is not to be trusted about who is inactive. Of 56 repositories it marked inactive, all 16 taken-down ones really were gone — but 13 of the 40 marked "deactivated" served a full profile anyway. Only the taken-down flag is believed here; everything else is asked about directly, because skipping them all silently dropped live accounts.
  • handle.invalid is not a handle. It is what the protocol shows when an account's domain stops proving ownership, several unrelated accounts carry it at once, and a link built from it goes nowhere. Those accounts are flagged handleInvalid and linked by DID instead.
  • The follow graph is closed on the app API and open on the repository. Followers, search, likes and the timeline all answer AuthMissing; follows, posts and livestreams are readable straight from the account's own repository, which is where this Actor reads them.
  • Follow records name only a DID. Handing over did:plc:wn2b3igg… would be handing over something unusable, so each is resolved back into a handle with its follower count and verification — 25 per request, the documented ceiling.
  • replies and repliesRead are different numbers on purpose. The first is the platform's count of direct replies; the second is how many were actually read, including nested ones deeper in the thread.
  • No rate limiting observed. 80 accounts with full post lists finished in 28 seconds; a full walk of one account's 1,014 posts took 23 seconds.
  • The Actor honours your Maximum cost per run and stops when the cap is reached.

Input

FieldWhat it does
AccountsHandles, DIDs or profile URLs — ingmar.wsocial.eu, did:plc:…, or a full link. Institutions use their own domain.
Post links / Include the reply threadMetrics for individual posts, optionally with the replies underneath.
Discover accounts / Accounts to scanRead the network instead of naming anyone.
Minimum followers / posts, Account types, Only verified, Posted withinFilters. They narrow a named list too, not only discovery.
Read posts / Posts per accountHow far back to read. This is what the averages and windows are built from.
Include the individual postsAdds every post read rather than just the totals.
Include the follow graph / Follows per accountWho they follow, resolved into handles.
Include livestreamsTheir stream records.
Treat as dormant afterYour definition of quiet, not a hidden constant.
Monitor mode / Output only changesThe alert behaviour above.