NewMinecraftServers Minecraft services API

Cached Minecraft authentication and Xbox service health.

Operations 1

GET /minecraft-status Get cached Minecraft service health #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/newminecraftservers:newminecraftservers-minecraft-services-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

newminecraftservers-minecraft-services-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: NewMinecraftServers Public Minecraft services API
  version: 1.0.0
  description: Read-only discovery of published Minecraft servers and cached Minecraft service status. This specification intentionally excludes Paper linking, owner operations, member-only history, and the Chrome extension's Mojang profile proxy.
servers:
- url: https://newminecraftservers.net/api/v1
tags:
- name: Minecraft services
  description: Cached Minecraft authentication and Xbox service health.
paths:
  /minecraft-status:
    get:
      tags:
      - Minecraft services
      summary: Get cached Minecraft service health
      operationId: getMinecraftServiceStatus
      description: Returns the monitor's last cached snapshot. A caller never triggers a new probe.
      responses:
        '200':
          description: Cached service status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MinecraftStatusEnvelope'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    MinecraftStatusEnvelope:
      type: object
      required:
      - data
      properties:
        data:
          $ref: '#/components/schemas/MinecraftStatus'
    CheckState:
      type: string
      enum:
      - operational
      - degraded
      - outage
      - unknown
    StatusCheck:
      type: object
      required:
      - id
      - label
      - description
      - host
      - group
      - state
      - timeline
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        host:
          type: string
        group:
          type: string
          enum:
          - signin
          - services
        state:
          $ref: '#/components/schemas/CheckState'
        latencyMs:
          type: number
        detail:
          type: string
        checkedAt:
          type: string
          format: date-time
        uptime24h:
          type: number
        uptime30d:
          type: number
        uptime90d:
          type: number
        timeline:
          type: array
          items:
            type:
            - string
            - 'null'
            enum:
            - operational
            - degraded
            - outage
            - unknown
    StatusIncident:
      type: object
      required:
      - checkId
      - label
      - state
      - startedAt
      properties:
        checkId:
          type: string
        label:
          type: string
        state:
          type: string
          enum:
          - degraded
          - outage
        startedAt:
          type: string
          format: date-time
        endedAt:
          type: string
          format: date-time
    MinecraftStatus:
      type: object
      required:
      - overall
      - monitoringSince
      - intervalSeconds
      - checks
      - incidents
      - pastIncidents
      properties:
        overall:
          $ref: '#/components/schemas/CheckState'
        checkedAt:
          type: string
          format: date-time
        monitoringSince:
          type: string
          format: date-time
        intervalSeconds:
          type: integer
        checks:
          type: array
          items:
            $ref: '#/components/schemas/StatusCheck'
        xbox:
          type: object
          required:
          - state
          - checkedAt
          - incidents
          properties:
            state:
              type: string
              enum:
              - none
              - impacted
              - maintenance
              - unknown
            checkedAt:
              type: string
              format: date-time
            updatedAt:
              type: string
              format: date-time
            multiplayer:
              type: string
              enum:
              - none
              - impacted
              - maintenance
              - unknown
            incidents:
              type: array
              items:
                type: object
                required:
                - title
                properties:
                  title:
                    type: string
                  description:
                    type: string
        incidents:
          type: array
          items:
            $ref: '#/components/schemas/StatusIncident'
        pastIncidents:
          type: array
          items:
            $ref: '#/components/schemas/StatusIncident'
    ErrorEnvelope:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          properties:
            code:
              type: string
              example: invalid_request
            message:
              type: string
              example: limit must be between 1 and 25
  responses:
    InternalError:
      description: A safe error without internal database details.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    TooManyRequests:
      description: The per-process client request limit was reached. Retry-After is 60 seconds.
      headers:
        Retry-After:
          schema:
            type: integer
            example: 60
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'