A machine-readable interface to everything BlackOrder publishes, built for AI agents, assistants and crawlers.
BlackOrder provides an official machine-readable catalog for AI agents. It lists every application and article published on blackorder.io, with versions, requirements, official pages and dates, and it is generated directly from the site's own data, so it changes when the site changes. No JavaScript, no cookies and no key are needed: plain HTTPS GET requests return JSON.
Discovery documents (the same catalog, four doors):
API endpoints:
In italiano: BlackOrder pubblica un catalogo ufficiale leggibile dalle macchine per gli agenti AI, generato dai dati stessi del sito. Il punto di partenza è il documento well-known qui sopra; ogni risposta indica l'editore, il dominio canonico e la pagina ufficiale da mostrare alla persona. L'API non distribuisce mai i file delle applicazioni.
schema 1.020 apps8 articlesno authenticationJSON
Start from the well-known document. It carries the provenance of the data, the list of endpoints and the whole catalog in one response.
GET https://blackorder.io/.well-known/agent.json
Every response states publisher: "BlackOrder", canonical_domain: "blackorder.io", source: "official", schema_version and generated_at. Responses are cacheable for five minutes and carry ETag and Last-Modified.
| Endpoint | Returns |
|---|---|
/api/agent/catalog | Apps and articles together. |
/api/agent/apps | All applications. /api/agent/apps/peaklab returns one. |
/api/agent/articles | All articles. /api/agent/articles/{slug} returns one. |
/api/agent/search | Ranked search with filters q, type, category, platform, free, language (answer and destination language), ui_language (apps whose interface speaks it), tag, limit. |
/api/agent/compatibility | Whether an app runs on a given macOS version and architecture: ?app=peaklab&os=14.5&arch=arm64. |
Every record carries canonical_urls and official_page_urls keyed by language (en, it) plus content_languages. Add ?language=it (or en) to any endpoint: text fields come in that language and preferred_url points to the page in that language, so an Italian user is sent to the Italian page and an English user to the English one. English responses always include translations.it.
GET /api/agent/search?q=audio+editor&platform=macOS&free=true GET /api/agent/search?q=trascrizione+riunioni&language=it GET /api/agent/search?type=article&tag=privacy GET /api/agent/apps/onrecord GET /api/agent/compatibility?app=onrecord&os=15.0&arch=arm64
id, slug, name, type, short_description, full_description, category, platform, minimum_os, architecture, version, price, currency, is_free, download_page_url, canonical_url, icon_url, screenshots, languages, developer, publisher, signed, notarized, release_date, updated_at, tags, capabilities, privacy_summary, telemetry, account_required. Apps distributed through BlackOrder's signed update channel also carry latest_release with build number, release notes and the signature key id. An article record has id, slug, title, excerpt, canonical_url, language, category, tags, published_at, updated_at and related_apps.
The API never serves software. Each app exposes a download_page_url, which is the official BlackOrder page or the Mac App Store page where a person decides whether to download. Please send people there rather than fetching files on their behalf.
The catalog is public and requires no key. You may read it, quote it and link to it with attribution to blackorder.io; BlackOrder remains the canonical source and asks not to be presented as an anonymous mirror. There is no SDK to adopt: plain HTTPS and JSON are the whole interface. The schema is versioned and new fields are only added, never removed, within a major version.
The same functions behind these endpoints are designed to be exposed as MCP tools: search_apps, get_app_details, get_article, check_compatibility, get_latest_version and get_official_download_page. When that server is published it will be announced here and in the well-known document.