---
name: mcjarfiles
description: Download Minecraft server software (Vanilla, Paper, Purpur, Leaf, Folia, Fabric, Forge, NeoForge, Bedrock, Velocity) and look up available versions through the free mcjarfiles.com API. Use when setting up or updating a Minecraft server, writing download scripts or Dockerfiles, or checking the latest version of a server type.
---

# MC JAR FILES API

Free, no-auth HTTP API at `https://mcjarfiles.com/api` for Minecraft server downloads and version lists.

## Workflow

1. Pick the `{type}/{variant}` path from the list below. Bedrock also needs `/{windows|linux}`.
2. If the user wants a specific version, confirm it exists with `GET https://mcjarfiles.com/api/get-versions/{type}/{variant}` (JSON array, newest first).
3. Download with `GET https://mcjarfiles.com/api/get-jar/{type}/{variant}/{version}`, or `GET https://mcjarfiles.com/api/get-latest-jar/{type}/{variant}` for the newest. These return a `302` redirect to the official file — always follow redirects (`curl -L`).
4. Set the server up using the "How to run it" table — Forge/NeoForge are installers and Bedrock is a zip.

## Valid paths

- `vanilla/release`
- `vanilla/snapshot`
- `servers/paper`
- `servers/purpur`
- `servers/leafmc`
- `servers/folia`
- `modded/fabric`
- `modded/forge`
- `modded/neoforge`
- `bedrock/latest/{windows|linux}`
- `bedrock/preview/{windows|linux}`
- `proxies/velocity`

## Endpoints

| Endpoint | Returns |
| --- | --- |
| `GET /api/get-jar/{type}/{variant}/{version}` | Redirects to the server file for a specific type, variant, and version. |
| `GET /api/get-latest-jar/{type}/{variant}` | Redirects to the newest available server file for the specified type and variant. |
| `GET /api/get-version-info/{type}/{variant}/{version}` | Retrieves build, channel, timestamp, and icon metadata for one specific version. |
| `GET /api/get-versions/{type}/{variant}` | Lists every available version identifier for a type and variant, newest first. |

## How to run it

| type/variant | file you get | how to run it |
| --- | --- | --- |
| `vanilla/release, vanilla/snapshot` | server.jar | `java -jar server.jar nogui` — set `eula=true` in eula.txt after the first run |
| `servers/paper, servers/purpur, servers/leafmc, servers/folia` | Server JAR | `java -jar <file>.jar nogui` — set `eula=true` in eula.txt after the first run |
| `modded/fabric` | Fabric server launcher JAR | `java -jar <file>.jar nogui` — downloads the game files on first start |
| `modded/forge, modded/neoforge` | Installer JAR (not the server itself) | `java -jar <installer>.jar --installServer`, then start with the generated `run.sh` / `run.bat` |
| `bedrock/{latest|preview}/{windows|linux}` | .zip archive (no Java needed) | Extract it, then run `bedrock_server.exe` (Windows) or `LD_LIBRARY_PATH=. ./bedrock_server` (Linux) |
| `proxies/velocity` | Velocity proxy JAR | `java -jar <file>.jar` — configure velocity.toml and point backend servers at it |

Java servers need the Java version their Minecraft version requires: Java 25 for 26.x, Java 21 for 1.20.5–1.21.x, Java 17 for 1.18–1.20.4.

## Gotchas

- No API key or auth header. Send a descriptive `User-Agent` so we can contact you if something breaks.
- Download endpoints answer with a `302` redirect to the official upstream host (Mojang, PaperMC, Fabric, etc.). Always follow redirects (`curl -L`, `fetch` does by default).
- Cache `get-versions` results instead of calling them on every server start.
- An unknown type or variant returns a `404` HTML page, not JSON — validate against the variant list below first.
- Most types return one JSON object with `name`, `version`, `time` (Unix seconds), and `icon`, plus `build` and `channel` where the upstream project has them.
- `modded/forge`, `modded/neoforge`, and `bedrock/*` return a JSON **array** of objects instead.
- `bedrock/*` `time` values are Unix **milliseconds**; Forge/NeoForge use `minecraftVersion` plus `forgeVersion` / `neoForgeVersion`; Fabric adds `fabricLoaderVersion` and `installerVersion`.

## Examples

```bash
curl -L -o paper.jar https://mcjarfiles.com/api/get-latest-jar/servers/paper
curl https://mcjarfiles.com/api/get-versions/modded/fabric
curl -L -o bedrock-server.zip https://mcjarfiles.com/api/get-latest-jar/bedrock/latest/linux
```

Full reference: https://mcjarfiles.com/api-docs.md
