Audience Insights

Here we will introduce you to the basics of the Audience Insights API and how it can help you gain valuable insights into your Web3 audience.

Importance of understanding your Web3 audience

Web3, the decentralized and trust-less version of the internet, is revolutionizing the way people interact with online platforms and applications. As a result, it's crucial for developers and businesses to understand their Web3 audience to succeed in this rapidly evolving landscape. Here are some key reasons why understanding your Web3 audience is essential:

  1. Personalization: By knowing your audience's demographics, interests, and preferences, you can tailor your platform's content, features, and user experience to better meet their needs, increasing user satisfaction and engagement.
  2. Targeted Marketing: With a deeper understanding of your Web3 audience, you can design and implement more effective marketing campaigns, reaching the right users with the right message at the right time.
  3. Community Building: Engaging with your Web3 audience and fostering a sense of community is crucial for long-term success. By understanding your audience's values and expectations, you can create a platform that encourages interaction and collaboration.
  4. Product Development: Gaining insights into your audience's behavior and preferences can inform your product development process, helping you prioritize features and improvements that resonate most with your users.
  5. Monetization: Understanding your Web3 audience enables you to develop more relevant and appealing monetization strategies, such as targeted advertising, premium content, or tokenized incentives.
  6. Performance Evaluation: By monitoring and analyzing your audience's engagement and growth over time, you can gauge the effectiveness of your strategies and make data-driven decisions to optimize your platform's performance.

In conclusion, understanding your Web3 audience is essential for the success of your platform. By leveraging the Audience Insights API, you can gain valuable insights to inform your decision-making and create a more engaging, relevant, and successful Web3 experience for your users.

Key features

  • Spam-cleaned data across all APIs.
  • Collections in common and trends.
  • Comprehensive wallet financial profiles and trends.
  • Wallets and collections financial stats.
  • Predictive behavioral wallet categories.
  • Audience segmentation.

Use cases

  • Wallets: Build comprehensive wallet experience, discovery and portfolio view. Analyze wallet transaction history and preferences to personalize user experiences.

  • Recommendations: Offer personalized NFT suggestions to users based on their behaviors and interests in various collections.

  • Brand engagement: Foster stronger connections with users by understanding their interactions and engagement with specific NFT collections and brands.

  • Effective pricing strategy: Craft and optimize pricing strategies for NFTs by analyzing user preferences, purchasing patterns, and market trends.

  • Marketing insights: Gain valuable insights into audience behavior, preferences, and trends to create targeted and effective marketing campaigns.

Examples

Below are a few example to help you get started.

Example 1: Fetching wallet behaviors by collection

In this example, we will show you how to make a simple API request to fetch a summary of wallets behavior profiles at the collection level using the Audience Insights API:

curl -i -X GET \
  'https://ethereum-rest.api.mnemonichq.com/audiences/v1beta1/financial_profiles/by_collection/0x60e4d786628fea6478f785a6d7e704777c86a7c6' \
  -H 'X-API-Key: <YOUR API KEY>'
const https = require('https');

const contractAddress = "0x60e4d786628fea6478f785a6d7e704777c86a7c6"; // Mutant Ape Yacht Club
const url = "https://ethereum-rest.api.mnemonichq.com/audiences/v1beta1/behaviors/by_collection/" + contractAddress;

const options = {
  headers: {
    "X-API-Key": "<YOUR API KEY>"
  }
};

https.get(url, options, (response) => {
  let data = '';

  response.on('data', (chunk) => {
    data += chunk;
  });

  response.on('end', () => {
    console.log(JSON.parse(data));
  });
}).on("error", (error) => {
  console.log("Error: " + error.message);
});
import requests

contract_address = "0x60e4d786628fea6478f785a6d7e704777c86a7c6" # Mutant Ape Yacht Club
url = "https://ethereum-rest.api.mnemonichq.com/audiences/v1beta1/behaviors/by_collection/" + contract_address

headers = {"X-API-Key": "<YOUR API KEY>"}

response = requests.get(url, headers=headers)

data = response.json()
print(data)
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {
    contractAddress := "0x60e4d786628fea6478f785a6d7e704777c86a7c6"
    url := fmt.Sprintf("https://ethereum-rest.api.mnemonichq.com/audiences/v1beta1/behaviors/by_collection/%s", contractAddress)
    req, _ := http.NewRequest("GET", url, nil)
    req.Header.Add("X-API-Key", "<YOUR API KEY>")

    client := &http.Client{}
    res, _ := client.Do(req)
    defer res.Body.Close()

    body, _ := ioutil.ReadAll(res.Body)
    fmt.Println(string(body))
}

The response contains a list of pre-defined predictive behavior categories with the percentages of the total amount of holders of this collection that are exhibiting each behavior.

Here's a result that shows the behaviors of Mutant Ape Yacht Club collection:

{
    "aggregatedBehaviors": [
        {
            "behavior": "BEHAVIOR_ADVANCED",
            "walletsCount": "298",
            "walletsPercentage": 1.5424430641821947
        },
        {
            "behavior": "BEHAVIOR_COLLECTOR",
            "walletsCount": "1811",
            "walletsPercentage": 9.373706004140788
        },
        {
            "behavior": "BEHAVIOR_CREATOR",
            "walletsCount": "154",
            "walletsPercentage": 0.7971014492753623
        },
        {
            "behavior": "BEHAVIOR_EXPLORER",
            "walletsCount": "8312",
            "walletsPercentage": 43.02277432712215
        },
        {
            "behavior": "BEHAVIOR_FLIPPER",
            "walletsCount": "175",
            "walletsPercentage": 0.9057971014492754
        },
        {
            "behavior": "BEHAVIOR_INACTIVE",
            "walletsCount": "7",
            "walletsPercentage": 0.036231884057971016
        },
        {
            "behavior": "BEHAVIOR_INFLUENCER",
            "walletsCount": "15",
            "walletsPercentage": 0.07763975155279502
        },
        {
            "behavior": "BEHAVIOR_NEWBIE",
            "walletsCount": "139",
            "walletsPercentage": 0.7194616977225673
        },
        {
            "behavior": "BEHAVIOR_OTHER",
            "walletsCount": "8189",
            "walletsPercentage": 42.386128364389236
        },
        {
            "behavior": "BEHAVIOR_PATRON",
            "walletsCount": "21",
            "walletsPercentage": 0.10869565217391304
        },
        {
            "behavior": "BEHAVIOR_TASTEMAKER",
            "walletsCount": "184",
            "walletsPercentage": 0.9523809523809523
        },
        {
            "behavior": "BEHAVIOR_WHALE",
            "walletsCount": "9",
            "walletsPercentage": 0.046583850931677016
        }
    ]
}

Example 2: Retrieving collections in common

In this example, we will demonstrate how to retrieve collections held in common based on another collection. This can be used to get an insight into the most commonly held collections across the current holders of a given collection.

We will use Mutant Ape Yacht Club again in this example.

curl -i -X GET \
  https://ethereum-rest.api.mnemonichq.com/audiences/v1beta1/common/collections/0x60e4d786628fea6478f785a6d7e704777c86a7c6 \
  -H 'X-API-Key: <YOUR API KEY>'
const https = require('https');

const contractAddress = '0x60e4d786628fea6478f785a6d7e704777c86a7c6';
const url = `https://ethereum-rest.api.mnemonichq.com/audiences/v1beta1/common/collections/${contractAddress}`;

const headers = {
  'X-API-Key': '<YOU API KEY>'
};

https.get(url, { headers }, (res) => {
  let body = '';
  res.on('data', (chunk) => {
    body += chunk;
  });
  res.on('end', () => {
    const data = JSON.parse(body);
    console.log(data);
  });
}).on('error', (e) => {
  console.error(e);
});

import requests

contract_address = "0x60e4d786628fea6478f785a6d7e704777c86a7c6"
url = "https://ethereum-rest.api.mnemonichq.com/audiences/v1beta1/common/collections/" + contract_address

headers = {"X-API-Key": "<YOUR API KEY>"}

response = requests.get(url, headers=headers)

data = response.json()
print(data)
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {
    contractAddress := "0x60e4d786628fea6478f785a6d7e704777c86a7c6"
    url := fmt.Sprintf("https://ethereum-rest.api.mnemonichq.com/audiences/v1beta1/common/collections/%s", contractAddress)
    req, _ := http.NewRequest("GET", url, nil)

    headers := map[string]string{
        "X-API-Key": "<YOUR API KEY>",
    }

    for key, value := range headers {
        req.Header.Add(key, value)
    }

    res, _ := http.DefaultClient.Do(req)
    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(string(body))
}

The following result contains a list of collections that are commonly held amongst the holders of the Mutant Ape Yacht Club collection, along with the common owners counts and overall owners count per each collection in common:

{
    "collections": [
        {
            "contractAddress": "0x34d85c9cdeb23fa97cb08333b511ac86e1c4e258",
            "name": "Otherdeed",
            "minterAddress": "0xe53c9cbfc1314b6cf6ba508230457df130552bc6",
            "commonOwnersCount": "7267",
            "ownersCount": "21579"
        },
        {
            "contractAddress": "0x764aeebcf425d56800ef2c84f2578689415a2daa",
            "name": "SewerPass",
            "minterAddress": "0x9223abd716ff22c62db2c6760eb6a59a33af729e",
            "commonOwnersCount": "4642",
            "ownersCount": "2855"
        },
        {
            "contractAddress": "0x4b15a9c28034dc83db40cd810001427d3bd7163d",
            "name": "HV-MTL",
            "minterAddress": "0x476f3a6b93951f081b1ec119530defaacaa9a330",
            "commonOwnersCount": "3374",
            "ownersCount": "9921"
        },
        {
            "contractAddress": "0xba30e5f9bb24caa003e9f2f0497ad287fdf95623",
            "name": "BoredApeKennelClub",
            "minterAddress": "0xaf62311ee2224fed4d3884a1793b4c50b86f4462",
            "commonOwnersCount": "3180",
            "ownersCount": "5484"
        },
        {
            "contractAddress": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
            "name": "BoredApeYachtClub",
            "minterAddress": "0xaba7161a7fb69c88e16ed9f455ce62b791ee4d03",
            "commonOwnersCount": "2576",
            "ownersCount": "5745"
        },
        {
            "contractAddress": "0x790b2cf29ed4f310bf7641f013c65d4560d28371",
            "name": "Otherdeed Expanded",
            "minterAddress": "0xcac7c29bac18f080b98a3076b4e165886f509251",
            "commonOwnersCount": "2473",
            "ownersCount": "10426"
        },
        {
            "contractAddress": "0x5b1085136a811e55b2bb2ca1ea456ba82126a376",
            "name": "Vessel",
            "minterAddress": "0xcac7c29bac18f080b98a3076b4e165886f509251",
            "commonOwnersCount": "2412",
            "ownersCount": "10474"
        },
        {
            "contractAddress": "0x8eaaabe11896bd09fb852d3a5248004ec44bc793",
            "name": "Refractions",
            "minterAddress": "0x24ce338baf5659bacb1bb92aa3a0ce9dd36f31b0",
            "commonOwnersCount": "1931",
            "ownersCount": "7192"
        },
        {
            "contractAddress": "0x28472a58a490c5e09a238847f66a68a47cc76f0f",
            "name": "adidas Originals: Into the Metaverse",
            "minterAddress": "0x6d1c18bccde60142af23a3f8aa6f5f59c532a675",
            "commonOwnersCount": "1872",
            "ownersCount": "12768"
        },
        {
            "contractAddress": "0x1e0e008eec6d04c52a3945d3df33d04e06a9c46f",
            "name": "Gutter Punks Flyer",
            "minterAddress": "0x52a4e59f748236b5c602c51ef6fa63c8e176026c",
            "commonOwnersCount": "1829",
            "ownersCount": "6375"
        },
        {
            "contractAddress": "0xf603f99c529b33b0ea1684ec48dba42e78697359",
            "name": "COLORPENCIL X AZUKI",
            "minterAddress": "0x06b6528226a4248bb542a40cd4704c303ca214e6",
            "commonOwnersCount": "1413",
            "ownersCount": "4755"
        },
        <trimmed>
    ]
}

Next steps

In summary, Mnemonic's Audience Insights API offers predictive behavioral analytics of wallet users through a single endpoint, enabling the enhancement of applications with personalized experiences. The API allows for engagement predictions, influencer identification, sociographic profiling, and the creation of tailored experiences for community members.

This versatile tool can be utilized in various applications, including marketing campaigns, loyalty programs, community management, growth initiatives, pricing strategies, and recommenders.

Check our Audience Insights guides to get familiar with the core concepts or Try it now!.