Skip to content

Profile ​

GET /profile/{username}

Account profile: rank, boosting flags, clan membership. Not gameplay stats, see Profile Stats.

Path parameters ​

ParameterTypeRequiredDescription
usernamestringrequiredcase-insensitive

Response 200 ​

unverified schema

Not covered by the query-parameter crawl, no combinations to enumerate. Field types below reflect the client's validation schema, which is deliberately permissive.

The response includes account metadata, donor ranks, optional clan details, and friend usernames. Additional fields are preserved by the client for forward compatibility.

FieldTypeNotes
usernamestringoptional
lastSeennumberoptional unix ms
discord_verifiedbooleanoptional
email_verifiedbooleanoptional
boostingbooleanoptional
discord_boostingbooleanoptional
rank.levelnumberoptional
rank.experiencenumberoptional
rank.percentagenumberoptional
rank.rankDisplaystringoptional
ranksDonorRank[]optional donor/server ranks
clan{ name, tag } | nulloptional nullable, not omitted
friends{ username: string }[]optional
(other fields)unknownschema is passthrough; unlisted fields survive parsing

Each donor rank can include name, displayName, server, season, and expiry.

Use getTopRank(profile, scope) to select the highest active donor rank. The scope can be global, a gamemode such as kitpvp, or all.

Live example ​

This runs a real GET request from your browser directly to stats.pika-network.net, no proxy, no mock data. Response reflects whatever that account looks like right now.

LIVE REQUESTopen raw
fetching https://stats.pika-network.net/api/profile/resuns ...

Request forms ​

text
GET /profile/resuns
bash
curl 'https://stats.pika-network.net/api/profile/resuns'
ts
import { PikaNetworkClient } from '@kyizl/craftify';

const pika = new PikaNetworkClient();

const profile = await pika.getProfile('resuns');

Errors ​

StatusCondition
404 (empty body)username does not exist

No 400 case.

Distributed under the MIT License.