minecraft-api is an advanced TypeScript/JavaScript client for interacting with Minecraft version data, Mojang APIs, piston-meta, and Minecraft servers. It provides high-level and low-level APIs for fetching version manifests, server status, user profiles, libraries, and more.
- Fetch Minecraft version manifests and details (release & snapshot)
- Query Minecraft server status, ping, and legacy ping
- Download Minecraft libraries and asset indexes
- Fetch Mojang user profiles and name history
- Retrieve Mojang server status
- Fully typed and written in TypeScript
npm install @threadmc/minecraft-api
# or
yarn add @threadmc/minecraft-api
# or
pnpm add @threadmc/minecraft-api
# or
bun add @threadmc/minecraft-apiimport { Client, VersionType } from "@threadmc/minecraft-api";
const client = new Client();
async function main() {
// Fetch latest release version details
const latestRelease = await client.fetchLatestVersion(VersionType.RELEASE);
console.log("Latest Release:", latestRelease);
// Fetch server status
const status = await client.getServerStatus("mc.hypixel.net");
console.log("Hypixel Status:", status);
// Fetch Mojang user profile
const profile = await client.fetchUserProfile("JonasCraftHD");
console.log("User Profile:", profile);
}
main();fetchVersion(version: string)fetchVersions(type: VersionType)fetchLatestVersion(type: VersionType)getServerStatus(host: string, port?: number)pingServer(host: string, port?: number)fetchAssetIndex(version: string)fetchLibrary(libraryPath: string)fetchUserProfile(username: string)fetchNameHistory(uuid: string)fetchMojangStatus()
VersionVersionManifestVersionDetailsVersionType(RELEASE|SNAPSHOT)
Contributions are welcome! Please open issues or pull requests on GitHub.
- Clone the repository
- Run
npm install - Use
npm run buildto compile TypeScript - Use
npm run formatto format code
This project uses Prettier for code formatting.
BSD 3-Clause License. See LICENSE for details.