Learn how to get all Farcaster users who own a specific token, NFT, or POAP, or a min amount of that token. Get combinations of NFTs or POAPs + Farcaster, e.g. Has POAP1 and POAP2 and has Farcaster
đĨ Token Holders
Airstack provides easy-to-use APIs for enriching Farcaster applications and integrating on-chain and off-chain data with Farcaster.
In this tutorial, you will learn how to fetch all Farcaster users who own a specific ERC20 token, NFT (ERC721 and ERC1155), or POAPs.
In addition, you will also learn how to fetch common Farcaster users that hold two different assets at the same time, e.g. Farcaster users that hold both EthLisbon and EthCC[6] POAP.
Table Of Contents
In this guide you will learn how to use Airstack to:
def format_function(data):
result = []
if data and 'TokenBalances' in data and 'TokenBalance' in data['TokenBalances']:
for item in data['TokenBalances']['TokenBalance']:
if 'owner' in item and 'socials' in item['owner'] and item['owner']['socials'] is not None:
result.append(item['owner']['socials'])
result = [item for sublist in result for item in sublist]
return result
The final result will the the list of all common holders in an array:
def format_function(data):
result = []
if data and 'TokenBalances' in data and 'TokenBalance' in data['TokenBalances']:
for item in data['TokenBalances']['TokenBalance']:
if 'owner' in item and 'socials' in item['owner'] and item['owner']['socials'] is not None:
result.append(item['owner']['socials'])
result = [item for sublist in result for item in sublist]
return result
The final result will the the list of all common holders in an array:
def format_function(data):
result = []
if data and 'Poaps' in data and 'Poap' in data['Poaps']:
for item in data['Poaps']['Poap']:
if 'owner' in item and 'socials' in item['owner'] and item['owner']['socials'] is not None:
result.append(item['owner']['socials'])
result = [item for sublist in result for item in sublist]
return result
The final result will the the list of all common holders in an array:
def format_function(data):
result = []
if data and 'TokenBalances' in data and 'TokenBalance' in data['TokenBalances']:
for item in data['TokenBalances']['TokenBalance']:
if 'owner' in item and 'socials' in item['owner'] and item['owner']['socials'] is not None:
result.append(item['owner']['socials'])
result = [item for sublist in result for item in sublist]
return result
The final result will the the list of all common holders in an array:
def format_function(data):
result = []
if data and 'TokenBalances' in data and 'TokenBalance' in data['TokenBalances']:
for item in data['TokenBalances']['TokenBalance']:
if 'owner' in item and 'tokenBalances' in item['owner']:
for token_balance in item['owner']['tokenBalances']:
if 'owner' in token_balance and 'socials' in token_balance['owner'] and len(token_balance['owner']['socials']) > 0:
result.append(token_balance['owner']['socials'])
result = [item for sublist in result for item in sublist]
return result
The final result will the the list of all common holders in an array:
def format_function(data):
result = []
if data and 'Poaps' in data and 'Poap' in data['Poaps']:
for poap in data['Poaps']['Poap']:
if 'owner' in poap and 'poaps' in poap['owner'] and poap['owner']['poaps'] is not None:
for owner_poap in poap['owner']['poaps']:
if 'owner' in owner_poap and 'socials' in owner_poap['owner'] and owner_poap['owner']['socials'] is not None:
result.append(owner_poap['owner']['socials'])
result = [item for sublist in result for item in sublist]
return result
The final result will the the list of all common holders in an array:
def format_function(data):
result = []
if data is not None and 'TokenBalances' in data and 'TokenBalance' in data['TokenBalances']:
for item in data['TokenBalances']['TokenBalance']:
if 'owner' in item and 'poaps' in item['owner'] and item['owner']['poaps'] is not None:
for poap in item['owner']['poaps']:
if 'owner' in poap and 'socials' in poap['owner'] and poap['owner']['socials'] is not None:
result.append(poap['owner']['socials'])
result = [item for sublist in result for item in sublist]
return result
The final result will the the list of all common holders in an array: