Skip to content

Support filtering when using the projects API (使用 projects API 时支持筛选) #6434

@Howard302

Description

@Howard302

Please confirm the following.

Describe the bug

#Meloong-Git/PCL#8679

The single project endpoint /v2/project/{id} does not support filtering by game version and mod loader. This causes frequent false compatibility matches in Minecraft launchers like PCL2, which rely on MC Wiki name mappings to get project IDs and implement Chinese mod search.

When users filter mods for a specific game version paired with a certain loader, the bulk search API works as expected, it only returns mods that have files satisfying both conditions at the same time. But when we fetch mods one by one via project ID, we can only get general tags indicating the mod supports this version or this loader separately, with no way to confirm whether there is an actual release file compatible with both.

As a result, many mods displayed in Chinese search results seem to match the filter, but they only have Fabric files for the target version or outdated Forge files, without any available build that meets both requirements.

Steps to reproduce

  1. Use PCL2 or similar third-party Minecraft launchers that use Chinese mod name lookup based on Modrinth project IDs from MC Wiki.
  2. Search for mods with Chinese keywords, then filter results to a specific version such as 1.20.1 and the Forge loader.
  3. Check the file list of some mods from the search list, you will find they have no release that matches both 1.20.1 and Forge.

Expected behavior

We should be able to attach game version and loader filter parameters when requesting a single project via /v2/project/{id}, so we can get the same accurate filtering result as the bulk search API.

Additional context

A large number of Chinese Minecraft players use launchers with native Chinese mod search function. Due to this API limitation, launcher developers can never completely fix the false matching issue on the client side, and have to keep adding patch rules repeatedly to fix newly emerged bugs. Improving this API will significantly enhance the compatibility between third-party launchers and Modrinth.

Metadata

Metadata

Assignees

No one assigned

    Labels

    apiRelates to the Modrinth API for developersbackendInvolves work from the backend team

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions