Revision Difference
backend/package/find#549744
<cat>Code.Misc</cat>⤶
<title>package/find</title>
# package/find⤶
# package/find/1/⤶
This api call returns a filtered list of packages.
# Parameters
| Name | Default | Description |
| ------------- |:-------------:| -----:|
| version | 1 | The version of the API to call |
| q | - | String query (see below) |
| take | 200 | Amount of packages to return |
| skip | 0 | Amount of packages to skip for (pagination) |
# Query String
⤶
The query string is used to filter and search the packages.
⤶
## Tags⤶
⤶
To include a specific tag, you can use the `+` character at the start of the tag. To exclude, you can use the `-` character.⤶
⤶
This query will return packages that have the blue and red tag and not the square tag.⤶
⤶
```⤶
+blue +red -square⤶
```⤶
⤶
You can also select packages with any of a set of tags. This query will select packages with either the blue or red tag, no square tag and the sphere tag⤶
⤶
```⤶
-square blue|red +sphere⤶
```⤶
⤶
## Sorting⤶
⤶
Packages can be ordered using one of following tags:⤶
⤶
| Name | Description |⤶
| ------------- | -----:|⤶
| `sort:friends` | Filter and sort packages by last time played by friends |⤶
| `sort:favorite` | Filter and sort packages by favourited by yourself |⤶
| `sort:used` | Filter and sort packages by last time played by yourself |⤶
| `sort:referenced` | Sort by number of other packages referencing |⤶
| `sort:live` | Sort by number of players right now |⤶
| `sort:popular` | Sort by popularity |⤶
| `sort:updated` | Sort by last updated time |⤶
| `sort:newest` | Sort by creation time (newest first) |⤶
| `sort:oldest` | Sort by creation time (oldest first) |⤶
| `sort:trending` | Sort by recent popularity relative to other packages |⤶
⤶
⤶
⤶
## Special Filters⤶
⤶
Packages can be filtered specifically using one or more of the following tags:⤶
⤶
| Name | Description |⤶
| ------------- | -----:|⤶
| `ref:<ident>` | Return only packages that reference this package.. ie `ref:facepunch.construct` |⤶
| `source:<1/0>` | Return only packages that have public source files |⤶
| `in:<ident>` | Return only packages that are in the specified collection.. ie `in:facepunch.rust` |⤶
| `org:<ident>` | Return only packages that are in the specified organization.. ie `org:facepunch` |⤶
| `is:owner` | Show only packages in organisations in which we're a member |⤶
⤶
⤶
## Return Value⤶
⤶
Find primarily is used to retrieve a list of packages, and that's what it does.⤶
⤶
```⤶
int TotalCount;⤶
string QueryString;⤶
Package[] Packages;⤶
Facet[] Facets;⤶
Tag[] Tags;⤶
SortOrder[] Orders;⤶
```⤶