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
string
Search query string. Searches across project names, descriptions, and authors.Example:
fabric optimizationinteger
default:"10"
Number of results to return per page. Maximum value is 100.Example:
20integer
default:"0"
Number of results to skip for pagination.Example:
40string
default:"relevance"
The 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
downloadsstring
Advanced filter string using MeiliSearch filter syntax. This is the recommended way to filter results.Example:
project_types=["mod"] AND categories=["optimization"]string
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"]]string
Deprecated - Use
new_filters instead. Additional filter string.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
Array of project search results.
integer
Current page number (calculated from offset and limit)
integer
Number of results per page
integer
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
