---
title: "Get owners of a token"
method: GET
path: "/v4/data/owners"
tags: ["NFT API"]
---

# Get owners of a token

`GET /v4/data/owners`

/v4/data/owners

**50 credits per API call**

\> 📘 \*\*Note for v3 API users:\*\* > > As part of our documentation consolidation, we removed the dedicated page for GET /v3/data/owners. Users can refer to GET /v4/data/owners for the latest documentation, as both endpoints function the same—simply replace v4 with v3 in the API URL if using the v3 version.

Get all addresses that own your favorite token (ERC-20, ERC-721 or ERC-1155)! Our API lets you search for all token owners on:

*   Ethereum - ethereum-mainnet / ethereum-sepolia
*   Base - base-mainnet / base-sepolia
*   Arbitrum - arb-one-mainnet / arb-testnet
*   BNB (Binance) Smart Chain - bsc-mainnet
*   Polygon - polygon-mainnet
*   Optimism - optimism-mainnet / optimism-testnet
*   Berachain - berachain-mainnet
*   Unichain - unichain-mainnet / unichain-sepolia
*   Monad - monad-testnet
*   Celo - celo-mainnet / celo-testnet
*   Avalanche - avax-mainnet / avax-testnet
*   Gnosis - gno-mainnet / gno-testnet
*   zkSync - zksync-mainnet / zksync-testnet
*   Rootstock - rsk-mainnet / rsk-testnet
*   Ethereum Classic - ethereum-classic-mainnet / ethereum-classic-testnet
*   Lisk - lisk-mainnet / lisk-testnet

To get started:

*   Provide a chain name and address of any fungible token, NFT or multitoken collection. Our API will return a list of addresses of all of their owners.
*   You can also get an owner of a specific NFT by specifying `tokenId`. In case of multitoken, result is an array of addresses.

## Query parameters

- `chain` 'ethereum-mainnet' | 'ethereum-sepolia' | 'base-mainnet' | 'base-sepolia' | 'arb-one-mainnet' | 'arb-testnet' | 'bsc-mainnet' | 'polygon-mainnet' | 'optimism-mainnet' | 'optimism-testnet' | 'berachain-mainnet' | 'unichain-mainnet' | 'unichain-sepolia' | 'monad-testnet' | 'celo-mainnet' | 'celo-testnet' | 'avax-mainnet' | 'avax-testnet' | 'gno-mainnet' | 'gno-testnet' | 'zksync-mainnet' | 'zksync-testnet' | 'rsk-mainnet' | 'rsk-testnet' | 'ethereum-classic-mainnet' | 'ethereum-classic-testnet' | 'lisk-mainnet' | 'lisk-testnet', required
- `tokenAddress` string, required — Contract address of the token.
- `tokenId` string, uint256 — ID of the token.
- `pageSize` number
- `offset` number

## Response `200`

OK

- string[] — List of all addresses that own a token in a specified collection.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
- `403` — Forbidden. The request is authenticated, but it is not possible to perform the operation due to logical error or invalid permissions.
- `500` — Internal server error. There was an error on the server during the processing of the request.

---

[API](https://skmtc.net/tatum/apis/blockchain-data.md) · [All operations](https://skmtc.net/tatum/apis/blockchain-data/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tatum/blockchain-data/revisions/8622ee4b8fae/schema)
