Near Learn

Data, APIs & indexers

NEAR data sources: RPC providers, FastNEAR, NearBlocks, Pikespeak and Intear APIs, neardata and indexers — when to use RPC, an API or your own indexer.

Intermediate4 min read3-question check

RPC answers questions about current state: "what is this account’s balance?", "what does this view method return?". It cannot answer "every transfer this account ever made" or "all NFTs owned by alice across contracts" — that needs indexed data. You can rent it (data APIs), or build it (stream blocks and store what you need).

RPC: current state and sending transactions#

ServiceWhat it’s forLink
RPC providers listThe official list of mainnet/testnet RPC providers (FASTNEAR, Ankr, dRPC, Lava, QuickNode, BlockPI, Intear, …) with free-tier limits. The NEAR-hosted rpc.mainnet.near.org is marked severely rate-limited, so pick a provider for production.docs.near.org/api/rpc/providers
FASTNEAR RPCFree public endpoints (https://free.rpc.fastnear.com, testnet https://test.rpc.fastnear.com) plus keyed plans; the near-api-js README uses it in examples.docs.fastnear.com

Indexed data APIs#

ServiceWhat it’s forLink
FastNEAR APIAccount-centric reads: all FT balances, NFT contracts and staking pools of an account in one call; public key → account IDs; plus transactions and block-data APIs.api.fastnear.com · docs
NearBlocks APIThe explorer’s REST API: account transactions and receipts, function-call history, token transfers, supply and chain stats.API docs · nearblocks/nearblocks
Pikespeak APIAnalytics-oriented: events, wallet analytics, validators and delegators, historic balances. Requires an API key.doc.pikespeak.ai
Intear Events APIHistorical HTTP and real-time WebSocket feeds of decoded on-chain events (15+ event types) on mainnet and testnet; Intear also runs a token indexer with prices.docs.intear.tech
BigQuery public datasetRun SQL over the whole chain history in Google Cloud — good for analytics, not for app back ends.docs

Building your own indexer#

Library / sourceLanguageWhat it’s forLink
neardataHTTP (any language)FastNEAR’s block-data service: fetch full blocks (with shards, receipts and outcomes) by height or the latest final/optimistic block. The documented replacement for NEAR Lake.mainnet.neardata.xyz · fastnear/neardata-server
inindexerRustIndexer framework by Intear: implement one Indexer trait and receive blocks, receipts or full transactions from neardata (or Intear’s teardata), with retries and auto-resume built in.INTEARnear/inindexer
Nearcore IndexerRust (runs a node)Embed indexing in your own NEAR node for full control and no third-party dependency — the most operationally expensive option.docs
Goldsky / The Graph / SubQueryManagedHosted indexing pipelines and subgraph-style GraphQL APIs that support NEAR.Data APIs on docs.near.org
Same question, three layers
Shell
# 1. RPC: current state of one account
curl -s https://free.rpc.fastnear.com -H 'content-type: application/json' -d '{
  "jsonrpc": "2.0", "id": 1, "method": "query",
  "params": { "request_type": "view_account", "finality": "final", "account_id": "root.near" }
}'

# 2. Data API: every token, NFT contract and staking pool the account touches
curl -s https://api.fastnear.com/v1/account/root.near/full

# 3. Raw blocks for your own indexer: the latest final block
curl -sL https://mainnet.neardata.xyz/v0/last_block/final

Check yourself

3 questions · progress saved in this browser

  1. 1.Your wallet UI must list every fungible token an account holds, across all token contracts. What is the quickest correct approach?
  2. 2.You are starting a custom Rust indexer for your contract’s events in late 2026. Which data source should you avoid?
  3. 3.Your production dApp reads contract state through rpc.mainnet.near.org and users see intermittent errors. What is the likely fix?