# Browsing the Grid

> Find apps to run or add to agents.

**URL:** https://inference.sh/docs/apps/browsing-grid
**Last updated:** 2026-10-11

---

Find apps to run or add to agents.

---

## Open the Grid

Go to [Apps](https://inference.sh/apps).

---

## Categories

On [Apps](https://inference.sh/apps), narrow listings by category (for example **image**, **video**, **audio**, **chat**, **3d**, or **decision**). On large screens, the left sidebar lists categories under a **categories** heading; on smaller screens the same list appears as horizontal pills above the grid. The URL includes `?category=` when a filter is active so you can share a filtered view. Category labels come from [Store API — List store categories](/docs/api/rest/store#list-store-categories) (`GET /store/categories?type=app`).

| Category | Examples |
|----------|----------|
| **image** | Generation, upscaling, editing |
| **video** | Generation, extension, lip sync |
| **audio** | Transcription, text-to-speech, music |
| **text** | Summarization, translation |
| **chat** | Assistants and conversational models |
| **3d** | Meshes, materials |
| **flow** | Apps deployed from a flow |
| **decision** | Structured questions in, probability over answers out (no generative media) |
| **other** | Utilities that do not fit above |

---

## Tags

Each app card can show up to three **tags** — short labels such as `text-to-image` or `open-weights` that describe what the app does.

On wide screens, the sidebar shows a **tags** section below **categories**, separated by a divider, when the store returns browseable tags. Tags are sorted by how many public apps use them (highest `count` first); each row shows the label and count. On narrow screens, where the sidebar is hidden, the same tags appear as a horizontal row of pills above the results.

Select a tag (for example `text-to-video` or `lora`) to filter the grid. That sets `?tag=` in the URL so you can share a filtered view. Click the active tag again (or its **×**) to clear the filter. Tags combine with category and search.

Tag slugs and rules match the [Apps API](/docs/api/rest/apps#app-tags). The list comes from [Store API — List browseable tags](/docs/api/rest/store#list-browseable-tags) (`GET /store/tags`); labels on the Grid show each slug with hyphens as spaces (for example `text-to-image` → `text to image`). The API also returns a `title` field per tag if you build your own browse UI. Publishers set tags in `inf.yml` (`metadata.tags`), on deploy, via the REST API, or under **tags** in the app's **Info** settings in the web app.

---

## Search

Use the search bar to find specific apps:

- Search by name: `whisper`
- Search by function: `transcribe`
- Search by author: `infsh/`

For programmatic discovery:

- **CLI** — `belt app list` (browse), `belt app search "flux"` (search), `belt app list --featured` (featured listings), `belt app list --json` or `--save` for scripts. See [CLI setup](/docs/extend/cli-setup#managing-apps).
- [Store API](/docs/api/rest/store#list-approved-apps) — approved Grid listings with category, rank, and tags (`GET /store/apps`); category and tag filter catalogs (`GET /store/categories`, `GET /store/tags`)
- [Search API](/docs/api/rest/search) — autocomplete and full-text search (`GET /suggest`, `GET /search?collection=apps`)

See [Search concept](/docs/concepts/search) for how discovery fits together across apps, skills, and knowledge.

---

## App details

Click an app to see:

- **Description** — What it does
- **Inputs** — What you need to provide
- **Outputs** — What you get back
- **Setup Parameters** — Static configuration
- **Examples** — Sample usage

### Multi-function apps and shareable links

Some apps expose more than one entry point (for example `generate` and `upscale` on the same deployed app). On the app page, use the **function** dropdown to choose which one to run.

Changing the function updates the browser URL with a `function` query parameter, for example:

`https://app.inference.sh/apps/myteam/image-tools?function=upscale`

Copy that link to share the same entry point. Opening a URL with `?function=` selects that function when the current app version defines it; if the name is missing or not on the version, the page falls back to the app's default function (see [Multi-function apps](/docs/extend/multi-function-apps#default-function)).

Platform aliases (retired Grid names or shortcuts that resolve to another app) redirect to the **target** app's canonical URL (`/apps/{namespace}/{name}`). When an alias pins a function, the address bar includes `?function=` on the target. The API exposes the pinned name as `resolved_function` on [Get App](/docs/api/rest/apps#get-app).

---

## Next

→ [Running an App](/docs/apps/running)
