Tally (Cactus) DAO Governance Scraper avatar

Tally (Cactus) DAO Governance Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Tally (Cactus) DAO Governance Scraper

Tally (Cactus) DAO Governance Scraper

Scrape DAO governance data from tally.xyz (mid-rebrand to "Cactus") - browse DAOs, list proposals by status, get full proposal detail with votes/quorum, and look up top delegates/voters. No login, no API key required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape DAO governance data from tally.xyz — the leading on-chain governance platform for DAOs like Uniswap, ENS, Arbitrum, Optimism, Compound, Aave, and 1,700+ others. Note: the platform is mid-rebrand from "Tally" to "Cactus" (new name, same product, same tally.xyz URLs) — this actor works either way.

Browse DAOs, list proposals with their status, pull full proposal detail (votes, quorum, description), or look up a DAO's top delegates/voters. No login, no API key, no cookies required.

What this actor does

  • daos — browse the current top DAOs by delegate count, or look up specific DAOs by slug (name, description, token, treasury value, delegate/proposal counts)
  • proposals — list a DAO's most recent proposals, optionally filtered by status (active, pending, succeeded, queued, executed, defeated, canceled, cross-chain executed)
  • proposalDetail — full detail for specific proposal IDs: markdown description, quorum, for/against/abstain votes and voter counts, proposer, on-chain transaction hash
  • delegates — a DAO's top delegates/voters ranked by voting power, with ENS name, Twitter, and delegator counts
  • Empty fields are always omitted — every returned field has real data

Output fields

DAO record (mode=daos)

daoId, daoSlug, daoName, description, iconUrl, websiteUrl, discourseUrl, twitterUrl, chainIds[], isArchived, proposalsCount, hasActiveProposals, delegatesCount, tokenOwnersCount, primaryGovernorType, tokenSymbol, tokenName, delegatesVotesCount, treasuryValueUsd, sourceUrl

Proposal record (mode=proposals)

daoSlug, daoName, proposalId, title, description, status, quorum, votesFor, votesForVoters, votesAgainst, votesAgainstVoters, votesAbstain, votesAbstainVoters, createdAt, startDate, endDate, transactionHash, sourceUrl

Proposal detail record (mode=proposalDetail)

daoSlug, daoName, proposalId, title, description (full markdown), discourseUrl, snapshotUrl, status, governorType, timelockId, tokenSymbol, quorum, votesFor/Against/Abstain (+ voter counts), createdAt, startDate, endDate, proposerAddress, creatorAddress, executableCallsCount, targetContracts[], transactionHash, sourceUrl

Delegate record (mode=delegates)

daoSlug, daoName, address, ens, name, bio, twitterUrl, pictureUrl, votesCount, tokenSymbol, delegatorsCount, isPrioritized, sourceUrl

Every record also carries recordType and scrapedAt.

Input

FieldTypeDefaultDescription
modestring (select)daosdaos / proposals / proposalDetail / delegates
daoSlugsarraySpecific DAO slugs to look up (mode=daos). Empty = browse top DAOs
daoSlugstringuniswapDAO slug, required for proposals / proposalDetail / delegates
statusFilterstring (select)anyFilter proposals by status (mode=proposals)
proposalIdsarray["93"]On-chain proposal IDs to fetch detail for (mode=proposalDetail)
maxItemsinteger20Hard cap on emitted records (1–100)
proxyConfigurationobjectoffOptional Apify proxy, used only as an automatic fallback on 403/429

A DAO's slug is the last path segment of its tally.xyz/gov/<slug> URL, e.g. uniswap, ens, arbitrum, gitcoin, compound, aave, optimism, zksync.

Example: recent active proposals for ENS

{
"mode": "proposals",
"daoSlug": "ens",
"statusFilter": "active",
"maxItems": 10
}

Example: top delegates for Uniswap

{
"mode": "delegates",
"daoSlug": "uniswap",
"maxItems": 20
}

Example: full detail for a specific proposal

{
"mode": "proposalDetail",
"daoSlug": "arbitrum",
"proposalIds": ["5"]
}

Example: browse the top DAOs by delegate count

{
"mode": "daos",
"maxItems": 15
}

Use cases

  • Governance dashboards — track proposal status and outcomes across one or many DAOs
  • DAO research — compare quorum, treasury value, and voter turnout between DAOs
  • Delegate discovery — find and rank top delegates/voters by voting power for a DAO
  • Historical proposal audits — pull full detail (description, votes, transaction hash) for any past proposal by ID
  • Ecosystem monitoring — browse the current top DAOs by delegate count and treasury value
  • Alerting — poll statusFilter=active proposals to notify token holders before voting closes

FAQ

Is this the same as Tally? Yes — tally.xyz recently began rebranding its UI to "Cactus," but the product, URLs, and DAO data are unchanged.

Do I need a wallet or login? No. Everything scraped here is publicly visible governance data.

Which DAOs are supported? Any DAO with a page at tally.xyz/gov/<slug> — over 1,700 at last count, including Uniswap, ENS, Arbitrum, Optimism, Compound, Aave, Gitcoin, GMX, Lisk, and many more.

What does quorum/votesFor/votesCount mean? These are governance-token amounts, scaled to human-readable units (e.g. 40000000.0 UNI), not raw on-chain wei values.

Does proposals mode return a DAO's full proposal history? No — it returns each DAO's ~10 most recent proposals, since full historical pagination requires an authenticated Tally API key (which this actor deliberately avoids, to stay free/zero-config). Use proposalDetail with a specific on-chain proposal ID to fetch any individual historical proposal directly — those never expire.

How many delegates does delegates mode return per DAO? Up to ~20 top delegates by voting power, for the same no-auth-API reason as above.

Can daos mode return more than ~20 DAOs? Without daoSlugs, it browses the current top ~20 DAOs shown on tally.xyz's own directory page (not paginable without an authenticated API key, regardless of maxItems). To pull more DAOs — or any DAO outside that top set — pass their slugs explicitly via daoSlugs; each one resolves independently up to maxItems.