L logiover
developer-tools · May 22, 2026 · 5 min read

How to Scrape Token Holder Lists with PnL & Wallet Tags in 2026

Pull the full holder list for any token across 6 chains with cost basis, realized PnL, and smart/sniper/whale tags — what the data exposes, how it paginates, and how to use it for forensics.

A raw token holder list is easy to get — any block explorer will hand you addresses and balances. But “address holds 1.2M tokens” tells you nothing useful. Is that a sniper who bought in the first block? A whale accumulating? A bundler splitting an insider position across fresh wallets? A smart-money wallet that’s right more often than not? The balance is the boring part. The labels and the PnL are the intelligence.

This guide is about extracting holder data that’s already enriched with cost basis, profit/loss, trade history, and wallet classification — the kind of holder snapshot you’d use for rugpull forensics, smart-money dashboards, and pre-pump radar.

Holder data vs. holder intelligence

If you’ve ever queried a token’s holders straight from an RPC node or an explorer API, you know the ceiling: you get the holder map (address to balance) and maybe a transfer log. To turn that into anything actionable you’d have to:

  • Reconstruct every wallet’s cost basis from its full buy/sell history across DEX routers.
  • Compute realized and unrealized PnL per holder, which means tracking each lot and matching it against current price.
  • Cluster wallets into behavioral categories — sniper, whale, bundler, fresh, insider, dev, KOL, bot, bluechip — which requires heuristics tuned across thousands of tokens.
  • Track net flows, holding period, and last-active timestamps per wallet.

That’s a serious on-chain data engineering project per chain. This actor inherits GMGN’s already-built version of it and gives you 65+ fields per wallet for tokens on Solana, BSC, Ethereum, Base, Tron, and Monad.

What you get per holder

Each record is one wallet’s relationship to one token:

{
  "wallet": "9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin",
  "balance": 4820000.12,
  "balance_usd": 11620.32,
  "cost_basis_usd": 0.00118,
  "avg_buy_price_usd": 0.00118,
  "realized_pnl_usd": 8430.55,
  "unrealized_pnl_usd": 2110.40,
  "buy_count": 12,
  "sell_count": 4,
  "first_buy_at": "2026-04-02T18:22:11Z",
  "last_active_at": "2026-05-21T07:03:55Z",
  "holding_period_days": 49,
  "net_flow_usd": -3200.00,
  "tags": ["smart_money", "whale"],
  "social": { "twitter": "@somewallet", "name": null }
}

Beyond the per-wallet rows, the actor can emit a token-level summary — category counts (how many snipers, whales, smart-money wallets hold it), tagged-wallet lists, and influential early-buyer data. That summary is the fastest way to read a token’s risk profile at a glance: a holder base that’s 60% snipers and bundlers tells a very different story than one dominated by long-holding smart money.

Run the GMGN Token Holders Intelligence scraper — full holder list with cost basis, PnL, and multi-label wallet tags across 6 chains. Plus per-token category summaries and tagged-wallet lists.

How it paginates and scales

GMGN’s holders endpoint is cursor-paginated, and the actor follows it to assemble the full distribution rather than a top-N truncation. That matters for forensics — the interesting wallets (snipers, fresh-funded insiders) are often not in the top 10 by balance. For watchlist work, the actor supports batch and parallel processing, so you can run a list of token addresses in one job and get a holder snapshot for each.

A typical pipeline:

  1. Feed a watchlist of token addresses (with their chains).
  2. Enable the token-level summary so each token gets a category-count rollup.
  3. Pull full holder rows for the tokens that pass your summary filter.
  4. Land both in your warehouse, keyed by (chain, token, wallet, scraped_at).

Typical use cases

  • Rugpull and token forensics — read the full holder distribution, flag dev/creator holdings, and quantify sniper exposure before or after a launch.
  • Smart-money dashboards — surface which top wallets hold a token and what their PnL on it is.
  • Anti-wash-trading analysis — use transfer and net-flow patterns to spot circular trading and suspicious clusters.
  • Insider detection — find newly-funded early buyers who are still holding and sitting on profit.
  • Pre-pump radar — scan a watchlist for sudden jumps in smart-money or active-trader counts on a token.
  • Holder PnL studies — compare average cost basis to current price across the holder base to model sell-pressure and capitulation psychology.
  • Influencer attribution — identify KOL or renowned wallets that accumulated before a price move.

The unifying idea: you’re not asking “who holds this?” — you’re asking “what kind of holders, bought at what price, sitting on how much profit, and how is that changing?”

Cost math

Pay-per-event pricing means cost scales with holders returned: a small per-run start fee plus a per-result charge per wallet row. A mid-cap token with a few thousand holders costs single-digit dollars to snapshot in full. A daily watchlist of, say, 20 tokens with a few thousand holders each runs into the low tens of dollars a month — for a complete, tagged, PnL-enriched holder history you could not reasonably build yourself.

The build-your-own alternative is the real expense: an indexer per chain, a price oracle for historical cost-basis reconstruction, a wallet-clustering model, and the ongoing maintenance as DEX routers and chains change. That’s a data-engineering team’s quarter, versus a metered bill.

Pitfalls to plan for

  • Snapshots, not streams. Holder composition changes block by block. Always store scraped_at and snapshot on a cadence if you need time series; a single pull is a moment, not a movie.
  • Tags are heuristic labels. “Smart money” and “sniper” are classifications, not certainties. Use them to triage and weight, not as ground truth.
  • Full lists get large. A popular Solana memecoin can have tens of thousands of holders. Filter at the summary level first, then pull full rows only for tokens worth the spend.
  • Cross-chain cost basis varies in completeness. Newer chains (Monad, Base) may have shorter or sparser history than Solana/Ethereum. Treat missing cost-basis fields as unknown, not zero.
  • Dust and bots inflate counts. Many “holders” are dust airdrops or bot wallets. Lean on the tags and balance thresholds to filter them out of analytics.

Wrapping up

Block explorers give you balances; forensics needs behavior. If your work depends on knowing which holders are snipers vs. smart money, what they paid, and whether they’re in profit — across multiple chains — a holder-intelligence scraper hands you the enriched distribution directly instead of making you rebuild an on-chain indexer per chain.

Open the Token Holders Intelligence scraper on Apify — full holder lists, 65+ fields per wallet, category summaries, six chains. Pay per result. Start with Apify’s free monthly credit.

Related guides