Skip to content

Feature: Official Rust SDK / Crate on crates.io #6761

Description

@itzzjustmateo

Please confirm the following.

What parts of Modrinth is your feature request related to?

Modrinth API for developers

Is your suggested feature related to a problem? Please describe.

Developers building Minecraft launchers, CLI tools, or server management applications in Rust currently face fragmentation when integrating Modrinth. To use the API, we either have to:

  1. Write our own extensive boilerplate and boilerplate types using tools like reqwest and serde.
  2. Rely on community-maintained third-party crates, which frequently fall behind API updates or suffer from bit rot.

As Rust grows increasingly popular for modern launchers (like Theseus, Prism variants, etc.), the lack of a standardized, first-party wrapper creates unnecessary friction.

Describe the solution you'd like

I would love to see an official, first-party Rust crate published on crates.io (e.g., modrinth or modrinth-api).

This crate would provide native async bindings and fully typed requests/responses for the Modrinth API endpoints. This would mirror the excellent first-party support that the Modrinth team already provides for the JavaScript/TypeScript ecosystem via your NPM package.

Describe alternatives you've considered

  • Using raw HTTP requests: Feasible, but forces every single developer to reinvent the wheel by rewriting the same API wrapper logic and structures.
  • Community crates: Existing crates are often unmaintained, incomplete, or don't guarantee long-term alignment with the official API specs.

Additional context

Providing an official SDK would significantly lower the barrier to entry for tool developers and ensure that Rust applications always interact with the Modrinth API in a safe, efficient, and up-to-date manner.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Fields

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions