Connectors

Additional features and tools for advanced developers.

Learn about the Data Sources Aggregator Models, which allow users to consolidate data from various GDPR-compliant sources. This section provides insights into extracting and managing data from major platforms like Amazon, Google, and Facebook, making it easier to build comprehensive Data Aggregator Models.

Data Sources Aggregator Models

HUDI lets people to extract an Aggregator Model from the their GDPR Data sources or from other API sources.

What is a Data Source?

Each website, application or other entity that store, elaborate or process its users' data (e.g Amazon or Google) have to return to their users, when asked for, all the data they own about them (Data Sources). HUDI guides its users to request their Data Sources in the best way, elaborate the files obtained using an open source library, returns to the user a Data Aggregator Model containing all the most relevant information from that particular Data Source and, at the end of the process, writes it into their Data Wallet.

Data Aggregator Models

Here a description of you can find into the Data Aggregator Models (as Typescript Interfaces) for each data source supported by HUDI.

Amazon

export interface AmazonDataAggregator {
    advertisers: AdvertisersAggregatorAM;
    audible: AudibleAggregatorAM;
    primeVideo: PrimeVideoAggregatorAM;
    orders: OrdersAggregatorAM;
    retail: RetailAggregatorAM;
    twitch: TwitchAggregatorAM;
    wishlists?: AmazonWishlistsAM;
    searchDataEngagement?: SearchDataCustomerEngagementAM;
    creationDate?: Date;
}

The AmazonDataAggregator Interface contains a parameter creationDate indicating the exact date of when the model was produced by HUDI's processing. All the other parameters are Sub-Aggregators interfaces described below.

export interface AdvertisersAggregatorAM {
    adsAudiences?: AdvertisersAudienceAM;
    adsThirdParties?: ThirdPartiesAudienceAM;
    adsClicked?: AdvertisersClickedAM;
    amazonAudience?: AmazonAudienceAM;
}
  1. adsAudiences: list of advertisers who brought audiences in which the user is included.

  2. adsThirdParties: list of audiences in which the user is included via 3rd parties.

  3. adsClicked: list of advertisers whose ads the user clicked.

  4. amazonAudience: list of Amazon advertisers in which the user is included.

export interface AudibleAggregatorAM {
    library?: AudibleLibraryAM;
    listening?: AudibleListeningListAM;
    membershipBillings?: AudibleMembershipBillingsAM;
}
  1. library: list of user's Audible titles into the library.

  2. listening: list of user's all Audible listening sessions.

  3. membershipBillings: list of user's Audible billings and subscription periods.

export interface PrimeVideoAggregatorAM {
    watchlist?: PrimeVideoWatchlistAM;
    watchlistHistory?: PrimeVideoWatchlistHistoryAM;
    viewCounts?: DigitalPrimeVideoViewCountsAM;
    viewingHistory?: PrimeVideoViewingHistoryAM;
}
  1. watchlist: the titles into the user's Prime Video watchlist.

  2. watchlistHistory: all the titles that ever been into the user's Prime Video watchlist.

  3. viewCounts: a set of counter, for each category of titles, representing the number of that category that the user has ever seen.

  4. viewingHistory: records of all the times the user has seen a title.

export interface OrdersAggregatorAM {
    digitalItems?: DigitalItemsAM;
    digitalOrders?: DigitalOrdersAM;
    digitalMonetaryOrders?: DigitalOrdersMonetaryAM;
    digitalSubscriptions?: DigitalSubscriptionsAM;
}
  1. digitalItems: data related to each item that was part of a digital order of the user.

  2. digitalOrders: an overview of user's digital orders purchased through Amazon.

  3. digitalMonetaryOrders: data related to all the monetary information about each item purchased by the user.

  4. digitalSubscriptions: an overview over the user's digital subscriptions.

export interface RetailAggregatorAM {
    lightWeightInteractions?: LightWeightInteractionsAM;
    cartItems?: RetailCartItemsAM;
    orderHistory?: RetailOrderHistoryAM;
    regionAuthorities?: RetailRegionAuthoritiesAM;
    sellerFeedbacks?: RetailSellerFeedbacksAM;
}
  1. lightWeightInteractions: user's interactions with other people reviews.

  2. cartItems: user's items on his Amazon cart.

  3. orderHistory: user's Amazon orders details.

  4. regionAuthorities: user's addresses.

  5. sellerFeedbacks: user's list of feedback left to Amazon products.

export interface TwitchAggregatorAM {
    subscriptions?: TwitchPrimeSubscriptionsAM;
    linkedAccounts?: TwitchPrimeLinkedAccounts;
    accountHistory?: TwitchPrimeAccountHistory;
}
  1. subscriptions: list of all the user's Twitch Prime subscriptions ever made.

  2. linkedAccounts: events happened on user's Twitch Account.

  3. accountHistory: information about user's Prime subscription status.

Binance

export interface BinanceDataAggregator {
    account?: AccountBI;       
    trades?: Record<string,TradeListBI>; 
    depositHistory?: DepositHistoryBI;
    withdrawHistory?: WithdrawHistoryBI;
    creationDate?: Date;
}
  1. account: user's account information (commissions, balances, permissions, account type).

  2. trades: all the user's trades in the last year for most common cryptocurrencies (ADABUSD, BNBBTC, BNBBUSD, BNBETH, BNBEUR, BNBUSDT, BTCBUSD, ETHBUSD, SOLBNB, SOLBUSD).

  3. depositHistory: all the user's deposits in the last year.

  4. withdrawHistory: all the user's withdraws in the last year.

  5. creationDate: indicate the exact date of when the model was produced by HUDI's processing.

The complete Binance API documentation can be find at this link.

Coinbase

export interface CoinbaseDataAggregator {
    user?: UserCB;
    accounts?: AccountsCB;
    movements: Record<string, MovementsAggregatorCB>;
    creationDate?: Date;
}
  1. user: user's account information (id, name, email, location, country, etc).

  2. accounts: a currency account, each user have an account fo each cryptocurrency listed on Coinbase.

  3. movements: a dictionary: each account's 'name' parameter (e.g. 'BTC' is the parameter name of the user's corresponding Bitcoin account) is used as key for the list of movements of that specific account. All the accounts that have a balance > 0 and the accounts correponding to these cryptocurrencies: BTC, ETH, USDT, USDC, BNB, XRP, BUSD, ADA, SOL, DOGE, DOT, SHIB, DAI, STETH, TRX, MATIC, UNI, LTC, will have a corresponding key and list of movements in this dictionary. The MovementsAggregatorCB model is described below.

  1. creationDate: indicate the exact date of when the model was produced by HUDI's processing.

export interface MovementsAggregatorCB {
    transactions?: TransactionsCB;
    deposits?: MovementsCB;
    withdraws?: MovementsCB;
    buys?: MovementsCB;
    sells?: MovementsCB;
}
  1. transactions: list of in-exchange transactions for that particular currency.

  2. deposits: list of deposits for that particular currency.

  3. withdraws: list of withdraws for that particular currency.

  4. buys: list of purchases of that particular currency. Each committed purchase also has an associated transaction.

  5. sells: list of sales of that particular currency. Each committed sell also has an associated transaction.

The complete Coinbase API documentation can be find at this link.

Facebook

export interface FacebookDataAggregator {
    personalInfo?: PersonalInformationFB;
    languagesKnown?: Array<string>;
    adsInteractedWith?: AdsInteractedWithFB;
    adsUsingYourInfo?: AdsUsingYourInfoFB;
    adsInterests?: AdsInterestsFB;
    infoSubmittedToAds?: InformationSubmittedAdsFB;
    searchHistory?: SearchHistoryFB;
    commentsPosted?: CommentsPostedFB;
    pagesLiked?: PagesLikedFB;
    pagesFollowed?: PagesFollowFB;
    pagesRecommended?: PagesRecommendedFB;
    pagesUnfollowed?: PagesUnfollowedFB;
    postsCreated?: YourPostsFB;
    yourTopics?: YourTopicsFB;
    recentlyViewed?: RecentlyViewedFB;
    recentlyVisited?: RecentlyVisitedFB;
    engagement: EngagementAggregatorFB;
    creationDate?: Date;
}
  1. personalInfo: contains user's email, phone number, username, name, gender.

  2. languagesKnown: is the list of languages known by the user.

  3. adsInteractedWith: list of adv the user interacted with.

  4. adsUsingYourInfo: list of adv that are using user's Instagram information.

  5. adsInterests: list of user adv interests.

  6. infoSubmittedToAds: information that the user submitted to the advertisers.

  7. searchHistory: list of people or pages that the user searched on Facebook.

  8. commentsPosted: list of comments posted by the user.

  9. pagesLiked: list of pages liked by the user.

  10. pagesFollowed: list of pages followed by the user.

  11. pagesRecommended: list of pages that have reccomended to the user.

  12. pagesUnfollowed: list of pages unfollowed by the user.

  13. postsCreated: list of information about user's posts.

  14. yourTopics: list of topics inherent to the user.

  15. recentlyViewed: list of video, pages and marketplace articles that the user have interacted with recently.

  16. recentlyVisited: list of profiles or pages recently visited by the user.

  17. engagement: is described below.

  18. creationDate: indicate the exact date of when the model was produced by HUDI's processing.

export interface EngagementAggregatorFB {
    timeInterval?: number;
    adsInteractions?: number;
    adsInteractionsTI?: number;
    commentsPosts?: number;
    commentsPostsTI?: number;
    postsCreated?: number;
    postsCreatedTI?: number;
    friendsCounter?: number;
    followingCounter?: number;
    angryReactions?: number;
    hugReactions?: number;
    laughReactions?: number;
    likeReactions?: number;
    loveReactions?: number;
    sadReactions?: number;
    wowReactions?: number;
    angryReactionsTI?: number;
    hugReactionsTI?: number;
    laughReactionsTI?: number;
    likeReactionsTI?: number;
    loveReactionsTI?: number;
    sadReactionsTI?: number;
    wowReactionsTI?: number;
    pagesFollowed?: number;
    pagesFollowedTI?: number;
    pagesLiked?: number;
    pagesLikedTI?: number;
    pagesRecommended?: number;
    pagesRecommendedTI?: number;
    videoWatched?: number;
    videoWatchedTI?: number;
}

The EngagementAggregatorFB collects a set of counters. Each parameter counts how many times that particular event, action or reaction has been done by the user, the TI (Time Interval) parameter counts only how many time has been done in the last TI days. TI is a number defined into timeInterval parameter a priori, the default value is 365 days, but may change occasionally.

Google

export interface GoogleDataAggregator {
    profile?: ProfileGO;
    locationsHistory?: SemanticLocationsGO;
    transactions?: TransactionsGO;
    mapReviews?: MapsReviewsGO;
    chrome: ChromeAggregatorGO;
    playStore: PlayStoreAggregatorGO;
    youtube: YouTubeAggregatorGO;
    fit: FitAggregatorGO;
    activities: ActivityAggregatorGO;
    creationDate?: Date;
}

The GoogleDataAggregator Interface contains a parameter creationDate indicating the exact date of when the model was produced by HUDI's processing. All the other parameters are Sub-Aggregators interfaces described below.

export interface YouTubeAggregatorGO {
    videoLiked?: YoutubePlaylistsGO;
    videoUploaded?: YoutubePlaylistsGO;
}
  1. videoLiked: list of YouTube videos the user has liked.

  2. videoUploaded: list of YouTube videos the user has uploaded.

export interface PlayStoreAggregatorGO {
    docLibrary?: DocLibraryGO;
    purchaseHistory?: PurchaseHistoryGO;
    orderHistory?: OrderHistoryGO;
    reviews?: PlayStoreReviewsGO;
}
  1. docLibrary: list of books, song, app, documents into the user's Play Store library.

  2. purchaseHistory: list of purchases the user made on the Play Store.

  3. orderHistory: list of orders the user made on the Play Store.

  4. reviews: list of app reviews left on the Play Store by the user.

export interface ChromeAggregatorGO {
    browserHistory?: BrowserHistoryGO;
}
  1. browserHistory: user's search history on Google Chrome.

export interface FitAggregatorGO{
    dailyActivityMetrics?: DailyActivityMetricsGO;
}
  1. dailyActivityMetrics: data about all the user's activity (running, walking, etc) sessions.

export interface ActivityAggregatorGO {
    news?: ActivitiesGO;
    books?: ActivitiesGO;
    imageSearch?: ActivitiesGO;
    shopping?: ActivitiesGO;
    discovery?: ActivitiesGO;
    playStoreGames?: ActivitiesGO;
    playStoreMovies?: ActivitiesGO;
}
  1. news: list of Google News articles read or just opened by the user.

  2. books: list of Google Books read or just opened by the user.

  3. imageSearch: list of searches made by the user on Google Images.

  4. shopping: list of articles seen by the user on Google Shopping.

  5. discovery: list of cards on user's feeds.

  6. playStoreGames: list of Play Store Games played or just installed by the user.

  7. playStoreMovies: list of Play Store Movies seen by the user.

Instagram

export interface InstagramDataAggregator {
    username?: string;
    name?: string;
    email?: string;
    birthdate?: Date;
    phoneNumber?: string;
    gender?: string;
    accountsNotInterestedIn?: AccountsYouAreNotInterestedIG;
    adsClicked?: AdsClickedIG;
    adsUsingYourInfo?: AdsUsingYourInformationIG;
    adsViewed?: AdsViewedIG;
    postsViewed?: PostViewedIG;
    suggestedAccountsViewed?: SuggestedAccountsViewedIG;
    autofillInfo?: AutofillInformationIG;
    commentsPosted?: CommentsPostedIG;
    followingHashtags?: FollowingHashtagsIG;
    adsInterests?: AdsInterestsIG;
    locations?: LocationInformationIG;
    eligibility?: EligibilityIG;
    searches?: SearchesIG;
    reelTopics?: ReelTopicsIG;
    yourTopics?: YourTopicsIG;
    shoppingItemsViewed?: ShoppingViewedItemsIG;
    engagement: EngagementAggregatorIG;
    creationDate?: Date;
}
  1. username: Instagram username.

  2. name: user's bio name.

  3. email: email associated to the user's account.

  4. birthdate: user's date of birth.

  5. phoneNumber: phone number associated to the user's account.

  6. gender: user's gender.

  7. accountsNotInterestedIn: accounts the user is not interested in.

  8. adsClicked: list of advertisers clicked by the user.

  9. adsUsingYourInfo: list of advertisers using the user's information.

  10. adsViewed: list of ads seen by the user.

  11. postsViewed: posts seen by the user.

  12. suggestedAccountsViewed: suggested accounts the user have visited.

  13. autofillInfo: information filled by the user.

  14. commentsPosted: comments on posts left by the user.

  15. followingHashtags: hastags followed by the user.

  16. adsInterests: list of ads the user is interested in.

  17. locations: locations associated to the user.

  18. eligibility: if the user is eligible for monetization.

  19. searches: user's searches made on Instagram.

  20. reelTopics: list of topics inherent to the user's reels.

  21. yourTopics: list of topics inherent to the user.

  22. shoppingItemsViewed: list of shopping items seen by the user.

  23. engagement: is described below.

  24. creationDate: indicate the exact date of when the model was produced by HUDI's processing

export interface EngagementAggregatorIG {
    timeInterval?: number;
    adsClicked?: number;
    adsClickedTI?: number;
    adsViewed?: number;
    adsViewedTI?: number;
    commentsPosted?: number;
    commentsPostedTI?: number;
    followingHashtagsCounter?: number;
    followingCounter?: number;
    followersCounter?: number;
    emojiSliders?: number;
    emojiSlidersTI?: number;
    likesComments?: number;
    likesCommentsTI?: number;
    likesPosts?: number;
    likesPostsTI?: number;
    polls?: number;
    pollsTI?: number;
    postsCreated?: number;
    postsCreatedTI?: number;
    postsViewed?: number;
    postsViewedTI?: number;
    quizzes?: number;
    quizzesTI?: number;
    storiesCreated?: number;
    storiesCreatedTI?: number;
    videosViewed?: number;
    videosViewedTI?: number;
}

The EngagementAggregatorIG collects a set of counters. Each parameter counts how many times that particular event, action or reaction has been done by the user, the TI (Time Interval) parameter counts only how many time has been done in the last TI days. TI is a number defined into timeInterval parameter a priori, the default value is 365 days, but may change occasionally.

LinkedIn

export interface LinkedInDataAggregator {
    profile: ProfileAggregatorLI;
    jobs: JobsAggregatorLI;
    ads: AdsAggregatorLI;
    education?: EducationHistoryLI;
    skills?: SkillsLI;
    creationDate?: Date;
}
  1. education: history of user's education experiences (e.g high school, university, etc).

  2. skills: list of user's skills (e.g Pyhton, Problem Solving, etc).

  3. creationDate: indicates the exact date of when the model was produced by HUDI's processing.

All the other parameters are Sub-Aggregators interfaces described below.

export interface ProfileAggregatorLI {
    emails?: EmailsLI;
    info?: ProfileLI;
}
  1. emails: list of user's emails linked to his account.

  2. info: user's profile information (e.g first and second name, address, birthdate, industry, address, zipcode, etc).

export interface JobsAggregatorLI {
    applications?: JobApplicationsLI;
    seekerPreferences?: JobSeekerPreferencesLI;
    workingPositionHistory?: WorkingPositionsLI;
}
  1. applications: list of user's applications to a new job.

  2. seekerApplications: user's preferences over a new job.

  3. workingPositionHistory: history of all user's working positions.

export interface AdsAggregatorLI {
    clicked?: AdsClickedLI;
    targeting?: AdsTargetingLI;
}
  1. clicked: list of ads clicked by the user.

  2. targeting: ads targeting informations about the user (e.g age, industry, gender, linked companies).

Netflix

export interface NetflixDataAggregator {
    accountInfo?: PersonalInformationNF;
    profiles?: ProfilesNF;
    preferences?: PreferencesAccountNF;
    titles?: MyListAccountNF;
    searches?: SearchHistoryNF;
    viewingActivity?: ViewingActivityNF;
    creationDate?: Date;
}
  1. accountInfo: user's account information (e.g email, country, primary language, creation date, etc).

  2. profiles: list of user's account profiles.

  3. preferences: list of favorite titles for each profile.

  4. titles: list of titles seen by each user's profile.

  5. searches: list of titles searched on Netflix by each user's profile.

  6. viewingActivity: list of all profiles' watching sessions.

  7. creationDate: indicates the exact date of when the model was produced by HUDI's processing.

Reddit

export interface RedditDataAggregator {
    subreddits?: SubscribedSubredditRE;
    comments?: CommentsRE;
    friends?: FriendsRE;
    messages?: MessagesRE;
    posts?: PostsRE;
    goldInfo?: GoldInfoRE;
    statistics?: StatisticsRE;
    creationDate?: Date;
}
  1. subreddits: list of subreddits names the user is subscibed to.

  2. comments: list of user's comments on posts.

  3. friends: list of user's friends.

  4. messages: list of user's messages to other users.

  5. posts: list of user's posts.

  6. goldInfo: user's information about Gold Subscriptions.

  7. statistics: user's statistics (email address, registration date, account name, etc).

  8. creationDate: indicates the exact date of when the model was produced by HUDI's processing.

Spotify

export interface SpotifyDataAggregator {
    follow?: FollowSP;
    identifiers?: IdentifiersSP;
    inferences?: InferencesSP;
    playlists?: PlaylistsSP;
    streamingHistory?: StreamingHistorySP;
    userData?: UserdataSP;
    yourLibrary?: YourLibrarySP;
    creationDate?: Date;
}
  1. follow: counters of followers, following and dismissing users.

  2. identifiers: id value and type for the user.

  3. inferences: list of inferenced topics associated to the user.

  4. playlists: list of user's playlists.

  5. streamingHistory: list of track played by the user.

  6. userData: user' email, username, birthdate, account creation time.

  7. yourLibrary: list of tracks in user's library.

  8. creationDate: indicates the exact date of when the model was produced by HUDI's processing.

TikTok

export interface TiktokDataAggregator {
    userData: UserDataAggregatorTK;
    creationDate?: Date;
}
  1. userData: sub-aggregator model described below.

  2. creationDate: indicates the exact date of when the model was produced by HUDI's processing.

export interface UserDataAggregatorTK {
    directMessages?: ConversationsTK;
    favoriteVideos?: FavoriteVideosTK;
    followersList?: FollowListTK;
    followingList?: FollowListTK;
    profile?: ProfileTK;
    searchHistory?: SearchHistoryTK;
    shareHistory?: ShareHistoryTK;
    videoLiked?: VideoLikedListTK;
    videoBrowsingHistory?: VideoBrowsingHistoryTK;
    yourVideo?: YourVideoListTK;
}
  1. directMessages: list of all the conversation between the user and other people.

  2. favoriteVideos: list of the user's favorite videos.

  3. followersList: list of accounts that follow the user.

  4. followingList: list of accounts followed by the user.

  5. profile: information about the user.

  6. searchHistory: list of queries searched by the user.

  7. shareHistory: list of videos shared by the user on other social networks.

  8. videoLiked: list of videos liked by the user.

  9. videoBrowsingHistory: list of video seen by the user.

  10. yourVideo: list of videos uploaded by the user.

At the link below you can find more information about all the data sources' models and how the data are extracted.

HUDI Data Aggregator Models can provide many information about users' interests, topics and advertisers targetting them. It is possible to read these information using the procedure described here with the appropriate value in 'path'. These information can be used by Advertisers to build a Targeting cookieless model.

Relevant PATHs for Advertising Targeting

Here below a list of parameter descriptions and related PATHs that may be useful for Advertising Targeting:

AmazonDataAggregator

Path to read the list of advertisers who brought audiences in which the user is included.

path: 'app#humandataincome#com.amazon.advertisers.adsAudiences'

Path to read the list of audiences in which the user is included via 3rd parties.

path: 'app#humandataincome#com.amazon.advertisers.adsThirdParties'

Path to read the list of advertisers whose ads the user clicked.

path: 'app#humandataincome#com.amazon.advertisers.adsClicked'

Path to read the list of Amazon advertisers in which the user is included.

path: 'app#humandataincome#com.amazon.advertisers.amazonAudience'
FacebookDataAggregator

Path to read the list of advertisers the user interacted with.

path: 'app#humandataincome#com.facebook.adsInteractedWith'

Path to read the list of advertisers that are using user's Instagram information.

path: 'app#humandataincome#com.facebook.adsUsingYourInfo'

Path to read the list of user advertising interests.

path: 'app#humandataincome#com.facebook.adsInterests'

Path to read the list of topics inherent to the user.

path: 'app#humandataincome#com.facebook.yourTopics'

Path to read the list of pages the user is interested in.

path: 'app#humandataincome#com.facebook.personalInfo.pagesInterests'
InstagramDataAggregator

Path to read the list of ads clicked by the user.

path: 'app#humandataincome#com.instagram.adsClicked'

Path to read the list of advertisers using the user's information.

path: 'app#humandataincome#com.instagram.adsUsingYourInfo'

Path to read the list of ads seen by the user.

path: 'app#humandataincome#com.instagram.adsViewed'

Path to read the list of ads the user is interested in.

path: 'app#humandataincome#com.instagram.adsInterests'

Path to read the list of topics inherent to the user's reels.

path: 'app#humandataincome#com.instagram.reelTopics'

Path to read the list of topics inherent to the user.

path: 'app#humandataincome#com.instagram.yourTopics'
LinkedInDataAggregator

Path to read the list of ads clicked by the user.

path: 'app#humandataincome#com.linkedin.clicked'

Path to read the ads targeting informations about the user (e.g age, industry, gender, linked companies).

path: 'app#humandataincome#com.linkedin.targeting'
SpotifyDataAggregator

Path to read the list of user' s topics inferenced by Spotify.

path: 'app#humandataincome#com.spotify.inferences'

Many other parameters from HUDI Data Aggregator Models may contain useful information that must be processed to be used in Advertising Targeting (e.g Data mining into Google Chrome searches). We suggest that you read the models in detail to find out any other data that may be useful to you.

Last updated