Overview
The Modrinth search API allows you to search for projects (mods, modpacks, resource packs, etc.) with advanced filtering, faceting, and sorting capabilities powered by MeiliSearch.Search Endpoint
Query Parameters
Search query string. Searches across project names, descriptions, and authors.Example:
fabric optimizationNumber of results to return per page. Maximum value is 100.Example:
20Number of results to skip for pagination.Example:
40The sorting method to use for results.Available values:
relevance- Sort by relevance (default)downloads- Sort by download countfollows- Sort by follower countnewestordate_created- Sort by creation dateupdatedordate_modified- Sort by last update date
downloadsAdvanced filter string using MeiliSearch filter syntax. This is the recommended way to filter results.Example:
project_types=["mod"] AND categories=["optimization"]Deprecated - Use
new_filters instead. JSON-encoded array for faceted search.Facets allow for complex AND/OR filter combinations:- Outer array = AND
- Inner array = OR
- Innermost array (optional) = AND
[["categories:fabric"], ["project_type:mod"]]Deprecated - Use
new_filters instead. Additional filter string.Deprecated - Use
new_filters instead. Version-specific filter.Filter Syntax
Thenew_filters parameter supports MeiliSearch filter syntax with the following operators:
Comparison Operators
=- Equals!=- Not equals>,>=,<,<=- Comparison (for numbers)IN [...]- Value in arrayNOT IN [...]- Value not in array
Logical Operators
AND- Logical ANDOR- Logical OR()- Grouping
Filterable Fields
Project Fields
Project Fields
project_types- Array of project types (mod, modpack, resourcepack, etc.)categories- Array of category namesloaders- Array of loader names (fabric, forge, quilt, etc.)game_versions- Array of game versionsproject_id- Project IDauthor- Author usernamelicense- License identifieropen_source- Boolean for open source statusdownloads- Download count (number)follows- Follower count (number)created_timestamp- Unix timestamp of creationmodified_timestamp- Unix timestamp of last modification
Component Fields
Component Fields
For Minecraft Java servers:
minecraft_java_server.content.kind- Content type (vanilla, modded, etc.)minecraft_java_server.verified_plays_2w- Verified plays in last 2 weeksminecraft_java_server.ping.data.players_online- Current players online
components. prefix is automatically normalized and removed.Examples
Basic Search
Search with Filters
Search by Downloads
Complex Filter Example
Pagination Example
Response Format
Array of project search results.
Current page number (calculated from offset and limit)
Number of results per page
Total number of matching results
Search Tips
Optimizing Search Performance
Optimizing Search Performance
- Use specific queries when possible to reduce result set
- Leverage filters instead of broad queries
- Keep limit reasonable (10-50 for most use cases)
- Use appropriate sorting index for your needs
Faceted Search
Faceted Search
Faceted search allows you to combine multiple filters with AND/OR logic:The outer array combines with AND, inner arrays with OR, and optional innermost arrays with AND.
Component Filtering
Component Filtering
When filtering Minecraft Java server components, the
components. prefix is automatically removed:components.minecraft_java_server.content = vanillabecomesminecraft_java_server.content.kind = vanilla
