Catalog API
The marketplace is a static catalog. Browse it in the browser, or pull the same listings from the JSON feed when you are writing installers, dashboards, or CI checks. Building aPlugin class and submitting a listing stay in theplugin guides.
JSON feed
GET/plugins/feed.jsonreturns every published listing. The body is regenerated with the docs site. Cache it for a few minutes; it is not a live search API.
{
"generated_at": "2026-09-20T18:00:00.000Z",
"count": 1,
"plugins": [
{
"slug": "orbit-branding",
"name": "Orbit Branding",
"summary": "…",
"url": "https://orbit.almasix.com/plugins/orbit-branding/",
"author": { "slug": "almasix", "name": "Almasix" },
"categories": ["theme"],
"orbit_versions": ["0.4"],
"price": "free",
"package": "almasix-orbit",
"repository": "https://github.com/almasix-dev/almasix-orbit",
"docs_url": null,
"license": "MIT",
"keywords": ["branding", "theme"],
"official": true,
"featured": true,
"stars": 1,
"installs": null,
"github_url": "https://github.com/almasix-dev/almasix-orbit",
"pypi_url": "https://pypi.org/project/almasix-orbit/",
"published_at": "2026-04-01"
}
]
}priceis"free"or a display string such as"$29".starsandinstallsmay benullwhen GitHub or PyPI has no figure.- Draft and archived registry entries never appear.
HTML routes
| URL | What it is |
|---|---|
/plugins/ | Browse grid (all published listings) |
/plugins/paid/ | Paid listings only |
/plugins/authors/ | Authors with at least one published plugin |
/plugins/authors/<slug>/ | One author’s listings |
/plugins/categories/ | Category index |
/plugins/categories/<slug>/ | One category |
/plugins/<slug>/ | A single listing (same slug as the feed) |
Shareable browse filters
The browse grid writes filters into the query string so a search is a URL you can store or open from a script. Missing keys mean “no filter.”
| Param | Meaning |
|---|---|
q | Case-insensitive match on name, author, package, or summary |
price | free or paid (ignored on /plugins/paid/) |
category | Category slug, e.g. theme |
version | Orbit line, e.g. 0.3 |
sort | newest (default), oldest, stars,installs, name-asc, name-desc |
official | 1 to keep Almasix listings only |
dark | 1 to keep dark-mode-ready listings |
Write a plugin, then list it
The catalog does not compile Python. Subclass Plugin, publish the package, then open a registry pull request.