@mattplays/hyperscape-api

This package is a wrapper for the unofficial HyperScape API

Usage no npm install needed!

<script type="module">
  import mattplaysHyperscapeApi from 'https://cdn.skypack.dev/@mattplays/hyperscape-api';
</script>

README

HyperScape-API

This package is a wrapper for the unofficial HyperScape API

  1. Hyper Scape
    1. Usage
    2. Functions
      1. GetPlayerProfile
        1. Inputs
        2. Output
        3. Usage
    3. Return Types
      1. Profile
        1. platformInfo
        2. userInfo
          1. SocialAccount
        3. Segment
          1. Stat

Hyper Scape

This is an Unoffical API Unoffical Docs

Usage

const {HyperScapeAPI} = require("@mattplays/hyperscape-api");
const API = new HyperScapeAPI("DUMMYAPIKEY");

Functions

GetPlayerProfile

Retrieve career stats for a Hyper Scape player.

Inputs
export type platform = "uplay" | "psn" | "xbl"
Parameter Type Required Description
platform platform Yes The platform slug, must be one of 'uplay', 'psn', 'xbl'.
platformIdentifier string Yes The user's handle on the platform, ie. a Uplay username, PSN ID, Xbox Live gamertag, etc.
Output

The GetPlayerProfile function returns a Promise<Profile> type

Usage
const {HyperScapeAPI} = require("@mattplays/hyperscape-api");
const API = new HyperScapeAPI("DUMMYAPIKEY");
HyperScapeAPI.GetPlayerProfile("uplay", "DUMMY-PLATFORM-IDENTIFIER").then((data) => {
// Your Code Here :D
});

Return Types

Profile

export type Profile = {
    data: {
        platformInfo: platformInfo,
        userInfo: userInfo,
        metadata: {
            lastUpdated: {
                value: string,
                displayValue: string
            }
        },
        segments: Segment[],
        availableSegments: [],
        expiryDate: string,
    }
}
platformInfo
export type platformInfo = {
    platformSlug: string,
    platformUserId: string | null,
    platformUserHandle: string,
    platformUserIdentifier: string,
    avatarUrl: string,
    additionalParameters: string[] | null;
}
userInfo
export type userInfo = {
    userId: number,
    isPremium: boolean,
    isVerified: boolean,
    isInfluencer: boolean,
    isPartner: boolean,
    countryCode: string
    customAvatarUrl: string,
    customHeroUrl: string | null,
    socialAccounts: SocialAccount[],
    pageviews: null,
    isSuspicious: boolean | null;
}
SocialAccount
export type SocialAccount = {
    platformSlug: string,
    platformUserHandle: string,
    platformUserIdentifier: string
}
Segment
export type Segment = {
    type: string,
    attributes: {},
    metadata: {name: string},
    expiryDate: string,
    stats: {
        finalBlows: Stat,
        chestsBroken: Stat,
        assists: Stat,
        damageDone: Stat,
        closeRangeDamageDone: Stat,
        longRangeDamageDone: Stat,
        fullRangeDamageDone: Stat,
        fullFusionDamageDone: Stat,
        fusions: Stat,
        fullFusion: Stat,
        headshotDamage: Stat,
        lastRank: Stat,
        revives: Stat,
        timePlayed: Stat,
        matchesPlayed: Stat,
        crownPickups: Stat,
        crownWins: Stat,
        crownPct: Stat,
        Wins: Stat,
        showdown: Stat,
        squadTop: Stat,
        kdRatio: Stat,
        killsPerGame: Stat,
        killsPerMin: Stat,
        avgTimeAlive: Stat,
        headshotDamageAccuracy: Stat,
        winPercentage: Stat,
        weaponFinalBlows: Stat,
        weaponDamageDone: Stat,
        weaponCloseRangeDamageDone: Stat,
        weaponLongRangeDamageDone: Stat,
        weaponFullFusionDamageDone: Stat,
        weaponFusions: Stat,
        weaponFullFusions: Stat,
        weaponHeadshotDamage: Stat,
        weaponHeadshotDamageAccuracy: Stat,
        hackFinalBlows: Stat,
        hackDamageDone: Stat,
        hackCloseRangeDamageDone: Stat,
        hackLongRangeDamageDone: Stat,
        hackFullFusionDamageDone: Stat,
        hackFusions: Stat,
        hackFullFusions: Stat,
        otherFinalBlows: Stat,
        otherDamageDone: Stat
    }
}
Stat
export type Stat = {
    rank: string | null;
    percentile: number;
    displayName: string;
    displayCategory: string;
    category: string;
    metadata: [];
    value: number;
    displayValue: string;
    displayType: string;
}