Skip to main content
POST
https://api.blockdb.io
/
v1
/
evm
/
tokens
/
erc721
curl -X POST "https://api.blockdb.io/v1/evm/tokens/erc721" \
  -H "Authorization: Bearer $BLOCKDB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "chain_id": 1,
  "from_block": 12345678,
  "to_block": 12345999,
  "from_timestamp": "2025-10-29T00:00:00Z",
  "to_timestamp": "2025-11-11T00:00:00Z",
  "contract_address": "bc4ca0eda7647a8ab7c2061c2e118a18a936f13d"
}'
{
  "meta": {
    "chain_id": 1,
    "request_window": {
      "from_block": 12345678,
      "to_block": 12345999,
      "from_timestamp": "2025-10-29T00:00:00Z",
      "to_timestamp": "2025-11-11T00:00:00Z"
    },
    "filters": {
      "contract_address": "bc4ca0eda7647a8ab7c2061c2e118a18a936f13d"
    }
  },
  "data": [
    {
      "chain_id": 1,
      "contract_address": "bc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
      "block_number": 12287507,
      "block_time": "2021-04-22T23:43:17Z",
      "tx_index": 114,
      "name": "BoredApeYachtClub",
      "symbol": "BAYC",
      "token_uri": "ipfs://QmeSjSinHpPnmXmspMjwiXyN6zS4E9zccariGR3jxcaWtq/",
      "supports_metadata": true,
      "supports_enumerable": true,
      "_tracing_id": "0202000000000000000000000000000000000001",
      "_parent_tracing_ids": [
        "0103000000000000000000000000000000000001"
      ],
      "_created_at": "2025-11-11T18:42:15.123Z",
      "_updated_at": "2025-11-11T18:42:15.123Z"
    }
  ],
  "cursor": null,
  "count": 1
}

Description

Retrieves a list of ERC-721 (NFT) token collections based on the provided filters.

Parameters

chain_id
number
required
Target EVM network. See the Chain enumeration for supported values.

Range Filters (mutually exclusive)

from_block
number
Starting block number (inclusive) for the query. Use with to_block.
to_block
number
Ending block number (inclusive) for the query. Use with from_block.
from_timestamp
string
Starting timestamp (ISO-8601). If it falls between blocks, the next block after this timestamp is used. Use with to_timestamp.
to_timestamp
string
Ending timestamp (ISO-8601). If it falls between blocks, the last block before this timestamp is used. Use with from_timestamp.
Validation rule:
You must provide either a block range, a time range, or an explicit contract address filter.
Providing more than one option results in HTTP 400.
Providing none results in HTTP 400.

Contract Address Filter

contract_address
string
Specific ERC-721 token contract address to return (hex string, 20 bytes, no 0x prefix).

Pagination Controls

limit
number
default:"250"
Recommended default 250; maximum 1000 to stay under ~10 MB responses.
cursor
string
Pagination cursor from a prior call.

Response Fields

Meta

meta
object
Echo of request metadata applied to the response.
meta.chain_id
number
EVM chain ID echoed from the request.
meta.request_window
object
Normalized block/timestamp bounds derived from the request.
meta.filters
object
Filter parameters echoed from the request (contract addresses, pagination state, etc.).

Data

data
object[]
Array of token collection objects.
data.chain_id
number
Chain ID for the token record.
data.contract_address
string
The Ethereum contract address of the token collection.
data.block_number
number
Block number of the collection-creation event.
data.block_time
string
Block timestamp joined from the blocks table for easier selection and grouping.
data.tx_index
number
Transaction index within the genesis block.
data.name
string
The name of the token collection.
data.symbol
string
The symbol of the token collection.
data.token_uri
string | null
Representative token URI or base URI for collection metadata (ERC721Metadata), if any.
data.supports_metadata
boolean | null
Whether the contract supports the ERC721Metadata extension; null when detection was via fallback.
data.supports_enumerable
boolean | null
Whether the contract supports the ERC721Enumerable extension; null when detection was via fallback.
data._tracing_id
string
Row-level lineage hash (hex string, no 0x prefix).
data._parent_tracing_ids
string[]
Lineage references of immediate parents.
data._created_at
string
Record creation timestamp, e.g. "2025-11-11T18:42:15.123Z".
data._updated_at
string
Last update timestamp in the same format.

Envelope Fields

cursor
string | null
Cursor token for pagination.
count
number
Number of records returned in data.
curl -X POST "https://api.blockdb.io/v1/evm/tokens/erc721" \
  -H "Authorization: Bearer $BLOCKDB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "chain_id": 1,
  "from_block": 12345678,
  "to_block": 12345999,
  "from_timestamp": "2025-10-29T00:00:00Z",
  "to_timestamp": "2025-11-11T00:00:00Z",
  "contract_address": "bc4ca0eda7647a8ab7c2061c2e118a18a936f13d"
}'
{
  "meta": {
    "chain_id": 1,
    "request_window": {
      "from_block": 12345678,
      "to_block": 12345999,
      "from_timestamp": "2025-10-29T00:00:00Z",
      "to_timestamp": "2025-11-11T00:00:00Z"
    },
    "filters": {
      "contract_address": "bc4ca0eda7647a8ab7c2061c2e118a18a936f13d"
    }
  },
  "data": [
    {
      "chain_id": 1,
      "contract_address": "bc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
      "block_number": 12287507,
      "block_time": "2021-04-22T23:43:17Z",
      "tx_index": 114,
      "name": "BoredApeYachtClub",
      "symbol": "BAYC",
      "token_uri": "ipfs://QmeSjSinHpPnmXmspMjwiXyN6zS4E9zccariGR3jxcaWtq/",
      "supports_metadata": true,
      "supports_enumerable": true,
      "_tracing_id": "0202000000000000000000000000000000000001",
      "_parent_tracing_ids": [
        "0103000000000000000000000000000000000001"
      ],
      "_created_at": "2025-11-11T18:42:15.123Z",
      "_updated_at": "2025-11-11T18:42:15.123Z"
    }
  ],
  "cursor": null,
  "count": 1
}