NFTs

List NFTs owned by an address

Keyset-paginated list of NFTs owned by an address (ERC-721 holdings followed by ERC-1155 holdings), optionally filtered by contract address. Opaque pagination token from the previous response's next_cursor; pass it back unchanged. A page may hold fewer than limit items, or none, while next_cursor is present; keep following next_cursor until it is absent. Snapshot freshness: holdings come from materialized snapshots that the data store refreshes every 5 minutes. The ERC-721 ownership snapshot only contains transfers older than head minus 256 blocks, so a newer ERC-721 transfer is not reflected yet; ERC-1155 balances are refreshed every 5 minutes without that cutoff. as_of_block here is the service's current indexed head, not the block height of the snapshot; read the snapshot time from meta.refreshed_at, and treat the data as stale when refreshed_at is null.

get/{chain}/nfts

Request

  • Base URL: https://api.blockvectra.com/v1/data
  • URL: https://api.blockvectra.com/v1/data/{chain}/nfts
  • Auth: API key in header x-api-key

Path parameters

chainstring required

Chain identifier: the chain value of an entry in GET /chains (for example robinhood_mainnet), which lists every value this API accepts, i.e. the exact lowercase form of that entry's chain_slug. Matching is exact and case-sensitive; other spellings, aliases and numeric chain IDs are not accepted and return 404 not_found (unknown or not-public chain). What the chain serves differs per chain: see that entry's features and coverage.

Query parameters

ownerstring required

20-byte address. 0x/0X prefix optional; either hex digit case is accepted.

Example:0xAbCdEf0123456789aBcDeF0123456789aBCDEF01

20-byte owner/holder address, 0x optional, either case.

contractstring

20-byte address. 0x/0X prefix optional; either hex digit case is accepted.

Example:0xAbCdEf0123456789aBcDeF0123456789aBCDEF01

Optional 20-byte contract address to restrict the list to a single collection.

limitinteger

Page size. Absent defaults to 50. 0 or a non-integer value is 400 bad_request. A value above 500 is clamped to 500, not rejected.

cursorstring

Opaque pagination token from the previous response's next_cursor; pass it back unchanged.

Response

NFTs owned by owner (ERC-721 entries before ERC-1155 entries).

next_cursorstring

Opaque pagination token from the previous response's next_cursor; pass it back unchanged.

Example response

{
  "data": [
    {
      "token_id": "9007199254740993",
      "block_timestamp": "2026-09-26T05:41:07Z"
    }
  ],
  "meta": {
    "chain": "robinhood_mainnet",
    "chain_slug": "ROBINHOOD_MAINNET",
    "chain_external_id": "eip155:4663",
    "refreshed_at": "2026-09-26T05:41:07Z"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.