Discover/Pmmp API
live

Pmmp APIcrash.pmmp.io

Browse, search, and submit PocketMine-MP crash reports via the crash.pmmp.io API. Filter by version, plugin, error type, and more.

Endpoint health
verified 4d ago
list_crash_reports
get_home
2/2 passing latest checkself-healing
Endpoints
4
Updated
26d ago

What is the Pmmp API?

This API exposes 4 endpoints covering the PocketMine-MP Crash Archive at crash.pmmp.io, letting you list and filter crash reports, retrieve full crash details by ID, and submit new reports. The list_crash_reports endpoint returns up to 50 reports per page with fields like version, plugin, message, involvement, and pagination metadata, making it practical to build monitoring tools or scan for known issues affecting specific PocketMine-MP versions.

Try it

No input parameters required.

api.parse.bot/scraper/404827ab-e7d0-4f6e-8400-09d317a77703/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/404827ab-e7d0-4f6e-8400-09d317a77703/get_home' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace crash-pmmp-io-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: PocketMine Crash Archive — browse and filter crash reports."""
from parse_apis.pocketmine_crash_archive_api import CrashArchive, Cause, Versioninclude, NotFoundError

client = CrashArchive()

# Fetch archive metadata
info = client.archiveinfos.get()
print(f"Archive: {info.title} — {info.description} ({info.url})")

# List recent crash reports (capped at 5)
for report in client.crashreports.list(limit=5):
    print(f"[{report.date}] {report.plugin}: {report.message}")

# Filter by direct plugin involvement
direct = client.crashreports.list(cause=Cause.DIRECT, limit=3).first()
if direct:
    print(f"Direct crash: {direct.id} in plugin {direct.plugin}, version {direct.version}")

# Search by error message keyword
for report in client.crashreports.list(message="Class not found", limit=3):
    print(f"  {report.id} | {report.involvement} | {report.message}")

# Include forked versions in results
for report in client.crashreports.list(versioninclude=Versioninclude.FORKED, limit=3):
    print(f"  Fork crash: {report.version} is_fork={report.is_fork}")

# Typed error handling
try:
    client.archiveinfos.get()
except NotFoundError as exc:
    print(f"Not found: {exc}")

print("Exercised: archiveinfos.get / crashreports.list (unfiltered, cause, message, versioninclude)")
All endpoints · 4 totalmissing one? ·

Fetches the home page metadata of the PocketMine Crash Archive, returning the site title, description, and base URL.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "url": "string, the base URL of the archive",
    "title": "string, the site title",
    "description": "string, site meta description"
  },
  "sample": {
    "data": {
      "url": "https://crash.pmmp.io",
      "title": "PocketMine Crash Archive",
      "description": "Crash Archive and classifier for PocketMine"
    },
    "status": "success"
  }
}

About the Pmmp API

Browsing and Filtering Crash Reports

The list_crash_reports endpoint is the main workhorse. It accepts up to eight filter parameters: page (1-indexed), cause (array accepting 'none', 'indirect', or 'direct' to indicate plugin involvement), plugin (case-sensitive plugin name), jitonly (boolean to isolate JIT-related crashes), message (keyword search against error messages), versions (array of PocketMine-MP version strings such as ['5.43.1']), errortype (partial match on exception or error type), and duplicates (whether to include duplicate reports). Each response includes a reports array with per-report fields — id, date, version, is_modified, is_fork, plugin, message, involvement, and url — plus a pagination object containing current_page, has_next, has_prev, and total_reports_matching.

Retrieving Individual Crash Reports

The get_crash_report endpoint accepts a numeric id and returns the full report object including backtrace, error_message, report_content, and a details object. There is an important access limitation: the majority of detailed reports are restricted to administrator-authenticated sessions. Guest access will receive a 401 Unauthorized response for most individual report lookups. The list_crash_reports endpoint, however, returns summary-level data without authentication requirements.

Submitting Reports and Site Metadata

submit_crash_report accepts the raw report_text (required) along with optional name and email fields, and returns a report_id, status, and url confirming the submission. The get_home endpoint returns the archive's title, description, and base url — useful for verifying connectivity or surfacing attribution metadata in dashboards.

Reliability & maintenanceVerified

The Pmmp API is a managed, monitored endpoint for crash.pmmp.io — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when crash.pmmp.io changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official crash.pmmp.io API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Scan for crash reports affecting a specific PocketMine-MP version using the versions filter to track upgrade regressions.
  • Identify which plugins are directly or indirectly involved in crashes by filtering cause to 'direct' or 'indirect'.
  • Build a server monitoring workflow that automatically submits crash dumps via submit_crash_report after a server fault.
  • Search for crashes matching a known exception type using the errortype partial-match filter.
  • Audit JIT-related instability by toggling jitonly to isolate crashes linked to PHP JIT compilation.
  • Paginate through the full archive using total_reports_matching and has_next to build a local crash index.
  • Filter crash history by plugin name to evaluate a third-party plugin's stability track record before installing it.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does crash.pmmp.io have an official developer API?+
No. crash.pmmp.io does not publish a documented public developer API. This Parse API provides structured access to the archive's crash report data.
Which crash report fields are available without authentication?+
The list_crash_reports endpoint returns summary fields — id, date, version, is_modified, is_fork, plugin, message, involvement, and url — without requiring authentication. The get_crash_report endpoint returns full details including backtrace and report_content, but most individual reports are restricted and will return a 401 for guest access.
How does pagination work in `list_crash_reports`?+
The endpoint returns up to 50 reports per page. The pagination object in the response includes current_page, has_next, has_prev, and total_reports_matching. Increment the page parameter (1-indexed) and check has_next to determine whether additional pages exist.
Can I retrieve comments or discussion threads attached to a crash report?+
Not currently. The API covers crash report metadata, summary listings, full report content (where access permits), and report submission. Comments or discussion data are not included in any endpoint's response fields. You can fork this API on Parse and revise it to add an endpoint covering that data if the source exposes it.
Is the `plugin` filter an exact match or a partial search?+
The plugin parameter is case-sensitive and performs an exact match on plugin name. The errortype parameter, by contrast, supports partial matching. If you need fuzzy plugin name matching, you can fork this API on Parse and revise the filter logic to accommodate it.
Page content last updated . Spec covers 4 endpoints from crash.pmmp.io.
Related APIs in Developer ToolsSee all →
planetminecraft.com API
Find and explore Minecraft servers (Java and Bedrock) by searching through thousands of options with detailed stats, player counts, and descriptions. Discover trending, top-voted, and newly added servers to find your next gaming community.
minecraft-mp.com API
Search and discover Minecraft multiplayer servers with detailed information like player counts, statistics, and voting data. Ping servers, filter by specific criteria, and access comprehensive server lists and historical performance metrics all in one place.
mcpservers.org API
Search and discover MCP servers, clients, and Claude skills from mcpservers.org, including featured and official recommendations organized by category. Browse detailed server information, remote server options, and find exactly what you need with powerful search and filtering capabilities.
minecraftservers.org API
Search and discover Minecraft servers with real-time player counts, server details, and statistics directly from minecraftservers.org. Find the perfect server by filtering results and viewing comprehensive information like gameplay modes, player capacity, and server ratings.
curseforge.com API
Search and explore CurseForge game mods and projects, retrieve detailed information about specific mods, access file listings and versions, and track dependencies between projects. Find mods across different games and categories to discover exactly what you need for your gaming setup.
topg.org API
Discover and compare Minecraft servers by version, type, location, and player count, plus track voting scores and historical player data to find the best server for your gameplay. Search across multiple game categories, view newly launched servers, and submit your own server votes to help others discover quality gaming communities.
namemc.com API
Look up Minecraft player profiles to find usernames, availability drop times, search popularity, cape holders, and detailed player information including UUIDs and skin history. Search and discover Minecraft player data across NameMC's database to track name changes and availability.
wynncraft.com API
Access detailed Wynncraft game information to look up item metadata and search across the complete item database, retrieve player statistics and character inventories, and browse guild information and global search results. Use this data to compare gear, track player progress, analyze guild rosters, or build tools for the Wynncraft community.