Skip to main content
API referenceBlocks

Blocks Feed By Network

Last updated

GET
/api/v1/{network}/blocks

Network-addressed form of the route above. mainnet/finney return the same data as the unprefixed path; testnet/test return testnet data.

Path Parameters

network*string

Network to address. mainnet and finney are the same network, as are testnet and test.

Value in

  • "finney"
  • "mainnet"
  • "test"
  • "testnet"

Query Parameters

limit?integer

Maximum number of rows to return in one page (at most 100). Routes differ in how they handle a larger value: some reject it with 400 invalid_query, others clamp to the maximum and answer 200. Read the limit echoed in the response body rather than assuming the page is the size you asked for.

Range1 <= value <= 100
offset?integer

Number of rows to skip before the page begins. Correct only in combination with the page size the response actually returned -- prefer cursor for anything beyond the first few pages, since a row inserted mid-scan shifts every later offset.

Range0 <= value
cursor?string

Opaque keyset pagination token. Echo the next_cursor from the previous response back VERBATIM -- it encodes an internal sort position, not a row number, so it must never be constructed, incremented, parsed or compared. Omit it for the first page; a response with no next_cursor is the last page.

author?string
spec_version?integer
Range0 <= value
from?integer
Range0 <= value
to?integer
Range0 <= value
block_start?integer
Range0 <= value
block_end?integer
Range0 <= value
min_extrinsics?integer
Range0 <= value
min_events?integer
Range0 <= value
format?string

Response format override. Use csv to download the route rows as text/csv; json keeps the default response envelope.

Value in

  • "json"
  • "csv"

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/finney/blocks"
{  "data": {    "block_count": 5000000,    "blocks": [      {        "author": "example",        "block_hash": "a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1",        "block_number": 5000000,        "event_count": 1,        "extrinsic_count": 1,        "observed_at": "2026-06-01T00:00:00.000Z",        "parent_hash": "a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1",        "spec_version": 1      }    ],    "limit": 1,    "next_cursor": "example",    "offset": 1,    "schema_version": 1  },  "meta": {    "artifact_path": "example",    "cache": "short",    "contract_version": "2026-06-29.1",    "generated_at": "2026-06-01T00:00:00.000Z",    "pagination": {      "collection": "example",      "cursor": 1,      "limit": 1,      "next_cursor": 1,      "order": "asc",      "returned": 1,      "sort": "example",      "total": 1    },    "published_at": "2026-06-01T00:00:00.000Z",    "source": "live-cron-prober",    "stale_contract": {      "built_under": "example",      "live": "example"    }  },  "ok": true,  "schema_version": 1}