List verdicts in a category
const url = 'https://api.doesitarm.com/v1/categories/productivity/verdicts?status=native&limit=50';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.doesitarm.com/v1/categories/productivity/verdicts?status=native&limit=50'Return a paginated list of verdicts within a category (for example
productivity, games, developer-tools), optionally filtered by status.
Mirrors the MCP tool list_by_category.
Authorizations
Section titled “Authorizations ”- None
- ApiKeyAuth
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The category slug.
Example
productivityQuery Parameters
Section titled “Query Parameters ”Filter to one verdict status.
Page size (default 50, max 100).
Opaque pagination cursor from the previous page’s pagination.nextCursor. Do not parse it.
Responses
Section titled “ Responses ”A page of verdicts in the category.
A page of verdicts.
object
The one current answer for a title on a (macosVersion, chip) scope.
object
Canonical URL id on doesitarm.com.
unknown means “Needs more data” — a real verdict, not a failure.
Set only when status is “translation”; otherwise null or absent.
How we know — one or more evidence kinds.
MacOS major version this verdict is scoped to.
Chip family this verdict is scoped to.
Human-readable qualifiers (“no online play”, “low FPS”).
True if the title relies on Rosetta 2 and will break when it is removed (macOS 28).
ISO date of the freshest contributing signal.
True when past the freshness threshold; a re-test is queued.
Contributing reports/tests, newest first.
A single piece of evidence behind a verdict — a report, a test, or a known fact.
object
Link to the underlying report/test on doesitarm.com.
Native equivalents, surfaced mainly when status is “unsupported” or “unknown”.
A native equivalent suggested when a title is unsupported or unknown.
object
The title this alternative is for.
The suggested native equivalent.
Cursor-based pagination envelope. The cursor is opaque — never parse it.
object
Opaque cursor for the next page; null at the end.
Example
{ "data": [ { "slug": "figma", "title": "Figma", "kind": "app", "status": "native", "confidence": "high", "basis": [ "binary", "vendor" ], "macosVersion": "26", "chip": "apple_silicon", "caveats": [ "Electron app; large memory footprint." ], "breaksAtRosettaEol": false, "lastVerified": "2026-06-20", "stale": false, "signals": [], "alternatives": [] } ], "pagination": { "nextCursor": "eyJ2IjoyfQ", "hasMore": true }}Headers
Section titled “Headers ”Requests allowed in the current window.
Requests left in the current window.
Seconds until the window resets (IETF ratelimit-headers, pre-08 three-header form).
A parameter was invalid. (HTTP 422.)
The single error envelope used by every 4xx/5xx. Agents branch on code;
humans read message. No 3xx ever carries this body.
object
object
Coarse family. (‘ambiguous’ is a code, carried under type invalid_request.)
Fine-grained branch value.
Human-readable explanation.
Present on ambiguous — candidate titles to disambiguate with.
object
Quote this to support.
Example
{ "error": { "type": "invalid_request", "code": "invalid_param", "message": "Unknown chip 'm9'. Allowed: apple_silicon, m1, m2, m3, m4.", "docsUrl": "https://docs.doesitarm.com/api/errors/", "requestId": "req_01J5K6Q8ZA" }}Rate limit exceeded. (HTTP 429.)
The single error envelope used by every 4xx/5xx. Agents branch on code;
humans read message. No 3xx ever carries this body.
object
object
Coarse family. (‘ambiguous’ is a code, carried under type invalid_request.)
Fine-grained branch value.
Human-readable explanation.
Present on ambiguous — candidate titles to disambiguate with.
object
Quote this to support.
Example
{ "error": { "type": "rate_limited", "code": "rate_limited", "message": "Free tier allows 60 requests/min. Retry in 30s or upgrade.", "docsUrl": "https://docs.doesitarm.com/api/rate-limits/", "upgradeUrl": "https://doesitarm.com/early-access", "requestId": "req_01J5K6Q8ZD" }}Headers
Section titled “Headers ”Seconds to wait before retrying. Sent on 429.
Requests allowed in the current window.
Requests left in the current window.
Seconds until the window resets (IETF ratelimit-headers, pre-08 three-header form).