Cosmos-SDK LCD Extractor avatar

Cosmos-SDK LCD Extractor

Pricing

from $0.35 / 1,000 chain records

Go to Apify Store
Cosmos-SDK LCD Extractor

Cosmos-SDK LCD Extractor

Point at ANY Cosmos-SDK chain's LCD (REST) endpoint and extract validators, governance proposals, token supply, account balances, delegations, or inflation. Chain-agnostic across the Cosmos ecosystem; opaque next_key pagination, gov v1/v1beta1 fallback, big-int amounts kept as strings.

Pricing

from $0.35 / 1,000 chain records

Rating

0.0

(0)

Developer

Datamule

Datamule

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Point at any Cosmos-SDK chain's public LCD (REST / gRPC-gateway) endpoint and pull structured data out of its core modules — no per-chain scraper, no RPC node to run. One actor reads the whole ~60-chain Cosmos ecosystem because every Cosmos-SDK chain exposes the identical /cosmos/<module>/<version>/… REST surface.

What it does

Give it a chain's LCD base URL (e.g. https://cosmos-rest.publicnode.com, or https://rest.cosmos.directory/<chain> — swap <chain> for cosmoshub, osmosis, juno, celestia, injective, …) and pick a module:

ModuleEndpointOne row per
validators/cosmos/staking/v1beta1/validatorsvalidator (moniker, tokens, commission, status, jailed, self-delegation)
proposals/cosmos/gov/v1/proposals (auto-falls back to v1beta1)governance proposal (title, status, tally, deposit, type)
supply/cosmos/bank/v1beta1/supplysupply denom + amount
balances/cosmos/bank/v1beta1/balances/{address}account balance denom + amount
delegations/cosmos/staking/v1beta1/delegations/{address}delegation (validator, shares, balance)
inflation/cosmos/mint/v1beta1/inflationthe chain's current annual inflation (single value)

balances and delegations require an address (a bech32 account for the target chain).

Why a generic runner works — and the gotchas it handles

Every Cosmos-SDK chain speaks the same module contract, but the server decides several details that break naive clients:

  • Pagination is opaque pagination.next_key (base64), not an offset. And pagination.total is very often "0" because chains disable the count for performance — so it is never used as a terminator. This actor loops purely on next_key (with a looping-cursor guard).
  • Governance version drift. Newer chains serve gov/v1 (yes_count, top-level title); older chains only serve gov/v1beta1 (yes, proposal_id, title nested under content). The actor tries v1, falls back to v1beta1, and normalises both into one row shape.
  • Amounts are big-integer strings. tokens, delegator_shares, supply/balance amounts and tally counts routinely exceed float precision, so they are kept verbatim as strings.
  • Pruned / non-Cosmos hosts fail loud. An HTML/nginx error, a 501 not implemented for a module the chain doesn't run, or a body missing the expected key → fail-fast (exit 91), never a fabricated empty result. A reachable, valid, genuinely-empty response (un-staked account, no open proposals) is an honest success with 0 rows.

Output

One flat row per record with a lossless _raw copy of the source object and _module / _restUrl / _endpoint / _rowIndex provenance. All source-derived fields are nullable, so the six record types share one schema and render cleanly in a table view.

Pricing

Pay-per-event: $0.0005 per record (one validator / proposal / supply denom / balance / delegation), with a subscription-tier volume discount.

Example input

{
"restUrl": "https://cosmos-rest.publicnode.com",
"module": "validators",
"status": "BOND_STATUS_BONDED",
"maxRecords": 200
}