# Mojang Minecraft Version Manifest Scraper (`acquistion-automation/minecraft-version-manifest-scraper`) Actor

Scrapes the official Mojang Minecraft version manifest API and returns each version entry as a flat row with ID, type, release time, SHA1, compliance level, and the version-specific metadata URL.

- **URL**: https://apify.com/acquistion-automation/minecraft-version-manifest-scraper.md
- **Developed by:** [Acquisition Automation Co.](https://apify.com/acquistion-automation) (community)
- **Categories:** Games, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.62 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

[![Acquisition Automation](https://api.apify.com/v2/key-value-stores/AOdPHdOpeDpzEPS5f/records/banner.jpg)](https://apify.com/acquistion-automation)

### Mojang Minecraft Version Manifest Scraper

**Scrape Minecraft version manifest data directly from Mojang's official API.** Get every release, snapshot, and beta version ID, type, timestamp, and download URL in one flat dataset. No API key or registration needed. Export to JSON, CSV, Excel, or XML.

Mojang publishes the complete Minecraft version history through a public API, but fetching it manually means parsing a large JSON file and paginating results. This scraper reads the official version\_manifest\_v2.json endpoint and returns each version entry as a structured row, filtered by the count you need. Use it to track new snapshots, monitor release timelines, or build your own version archive without writing a single line of code.

| Who uses it | What they scrape Mojang for |
|---|---|
| Game server administrators | Monitor new Minecraft releases and snapshots to schedule server updates. |
| Mod and plugin developers | Fetch version metadata URLs to check compatibility and download game jars. |
| Data analysts and historians | Build a complete timeline of Minecraft version releases for analysis. |
| Launcher developers | Populate version lists and download endpoints for custom Minecraft launchers. |

### What it does

This Actor collects every version entry from the Mojang Minecraft version manifest API and returns each one as a flat row with its ID, type, release time, SHA1 hash, compliance level, and the detailed version metadata URL.

- 📊 **Fixed flat schema:** every version row includes ID, type (release, snapshot, beta, alpha), release time, SHA1, compliance level, and the version-specific JSON URL.
- 🔢 **Configurable count:** set exactly how many versions to return, from a single latest entry up to the full history of thousands.
- ⏱ **Timestamp fields:** each version carries both a raw time string and a formatted releaseTime for easy sorting and filtering.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with Mojang data

**🕹 Automate launcher version lists.**

A custom launcher developer runs the scraper weekly to pull the latest release and snapshot IDs, then feeds the metadata URLs into their download pipeline.

**📅 Track snapshot releases.**

A server admin sets maxItems to 10 and runs the Actor daily, filtering for type snapshot to spot new experimental builds before players ask.

**🗃 Archive the full version history.**

A data hoarder runs the Actor once with a high maxItems count, exporting all Mojang versions to CSV for a local reference dataset.

**🔗 Collect version-specific JSON endpoints.**

A mod developer scrapes the manifest to gather every version's detail URL, then chains additional requests to fetch asset indexes and download links.

### Why choose this scraper

| | What you get |
|---|---|
| **Version ID** | The unique version string, e.g. 1.21.4 or 25w03a. |
| **Type** | Classifies each version as release, snapshot, beta, or alpha. |
| **Release time** | Timestamp when Mojang published the version, parsed into a standard date field. |
| **Version metadata URL** | Direct link to the detailed JSON describing that specific version's assets and download. |

### What a Mojang record looks like

Every record returns as one flat JSON row. Here is a real one from a run:

```json
{
 "versionId": "26.4-snapshot-1",
 "versionType": "snapshot",
 "versionUrl": "https://piston-meta.mojang.com/v1/packages/38de33cff6c65a518a24aa4b8198f7e3673ebd08/26.4-snapshot-1.json",
 "versionTime": "2026-09-22T13:45:27+00:00",
 "versionReleaseTime": "2026-09-22T13:38:53+00:00",
 "versionSha1": "38de33cff6c65a518a24aa4b8198f7e3673ebd08",
 "complianceLevel": 1,
 "latestRelease": "26.3",
 "latestSnapshot": "26.4-snapshot-1",
 "scrapedAt": "2026-09-29T01:29:10.998Z"
}
```

Every value above comes from a real run. A field a record does not have comes back as `null`.

### Configure the run

Drive the Actor with a single maxItems count. The scraper reads the manifest endpoint, orders results by version index, and stops once the requested number of rows is collected. The Input tab lists every parameter.

A first run with the defaults:

```json
{
 "maxItems": 10
}
```

A larger pull:

```json
{
 "maxItems": 200
}
```

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up).
2. Open the [Mojang Minecraft Version Manifest Scraper](https://apify.com/acquistion-automation/minecraft-version-manifest-scraper).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to Mojang through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=acquistion-automation/minecraft-version-manifest-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting only 10 items?**

Free Apify accounts are limited to 10 results per run as a preview. Upgrade to a paid plan and adjust the maxItems input to retrieve more versions.

**The run failed with an error.**

Check that the Mojang endpoint is reachable. The API is public and stable, but occasional downtime can cause failures. Retry the run after a few minutes.

**The version time fields look inconsistent.**

Mojang provides both a raw ISO time string and a formatted releaseTime. Use the releaseTime field for sorting, as it is normalized across all version types.

**I need version download links but I only see metadata URLs.**

Each version's metadata URL returns a JSON document containing download links. The manifest scraper gives you that URL. Run a separate request to fetch the actual download links from that endpoint.

### FAQ

| Question | Answer |
|---|---|
| Is this the official Mojang version manifest? | Yes. The Actor reads directly from the public piston-meta.mojang.com endpoint that Mojang maintains for Minecraft launchers and tooling. |
| Do I need a Mojang account or API key? | No. The version manifest endpoint is public and requires no authentication. You can use this Actor with a free Apify account within the preview items limit. |
| What does the version metadata URL point to? | Each version entry contains a URL that returns a detailed JSON document for that specific version, including asset indexes, download links, and libraries. |
| How many versions are in the full manifest? | The manifest contains thousands of entries covering every release, snapshot, beta, and alpha version. You control how many are returned with the maxItems setting. |
| What export formats are supported? | You can export your results to JSON, CSV, Excel, or XML directly from the Apify dataset. |
| Can I get only release versions without snapshots? | The Actor returns every version type by default, but you can filter the dataset after the run using type equals release in a spreadsheet or downstream code. |
| Does this scraper download the actual game files? | No. It fetches the manifest metadata only. The version-specific URLs point to the JSON that contains download links, which you can request separately. |
| How often does the manifest update? | Mojang updates the manifest immediately when a new version or snapshot is released. You can schedule the Actor to run frequently and detect changes. |

### Related actors

Browse the full [Acquisition Automation collection](https://apify.com/acquistion-automation) for more scrapers.

🆘 **Need help?** Open an issue in the Issues tab of this Actor with your run ID, your input, and what you expected.

### Pricing

This Actor uses **pay-per-result** pricing: **$0.004 per result** collected. You are billed only for the results you receive, so a run that returns nothing costs nothing.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Mojang Studios. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## Actor input object example

```json
{
  "maxItems": 10
}
```

# Actor output Schema

## `results` (type: `string`):

Complete dataset of all scraped records.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("acquistion-automation/minecraft-version-manifest-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("acquistion-automation/minecraft-version-manifest-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10
}' |
apify call acquistion-automation/minecraft-version-manifest-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,acquistion-automation/minecraft-version-manifest-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/KlJ1r1xaym75YGZCW/builds/9gcPjXtkABcJIfR0W/openapi.json
