Badges, labels & markers
Every card carries a compact row of typed markers. This page is the reference for
what each one means and the conventions behind it. The code is authoritative — the
free-tier limitations live in src/data/generosity.ts and the quality labels in
src/data/quality.ts; this document mirrors them and defines the rendering rules.
Rendering conventions
*after a number = CALC. A trailing asterisk means the number was computed by the pipeline, not observed. RAW numbers render plain and carry aproofURL. See How ratings are computed for the RAW / CALC / PARAM principle.- Access bucket —
free,freemium, orpaid. Derived frompricingModelplus the typed limitations, never hand-set. The derivation rule is in How ratings are computed §3. - Achievement badges are short headline strings prefixed by a sentiment glyph: green (positive), orange (caution), red (negative). Examples: a green “Free forever”, a green “Frontier models”, an orange “Op fees begin Oct 2026”.
- Commercial-use badge is mandatory and always shown: green when commercial use is allowed, red when it is forbidden.
Free-tier limitations (infrastructure)
Source: src/data/generosity.ts (limitationTypes). Each limitation carries a
class that drives the access bucket: barrier and finite move an offer into
freemium; quality stays in-bucket as a caveat; renewable is normal and
low-impact. The full prose definitions and the bucket rule are in
Free-tier conditions & limitations.
| Icon | Type | Label | Class | Severity |
|---|---|---|---|---|
| ⏳ | time_limited | Time-limited | finite | high |
| 🔋 | total_volume_cap | Finite pool | finite | high |
| 🔄 | quota_renewable | Renewable quota | renewable | low |
| 🔁 | rate_limit | Rate-limited | renewable | low |
| 💳 | requires_card | Card required | barrier | medium |
| 💰 | requires_min_balance | Minimum balance | barrier | medium |
| 🔒 | requires_eligibility | Eligibility gate | barrier | high |
| 🧩 | feature_restricted | Feature-limited | quality | medium |
| 🐢 | performance_throttled | Throttled | quality | medium |
| 💤 | cold_start_sleep | Sleeps when idle | quality | medium |
| 1️⃣ | single_resource_cap | Single instance | quality | low |
| 🚫 | no_commercial_use | quality | high | |
| 🏷️ | attribution_required | Attribution | quality | low |
Quality labels (software / APIs / agent-tools)
Source: src/data/quality.ts (qualityLabelTypes). Outside infrastructure, the
software, APIs, and agent-tools sections are governed by a separate quality
model, not the value model. These labels are factual flags, not penalties.
| Icon | Type | Label | Sections | Severity |
|---|---|---|---|---|
| 📦 | archived | Archived | software, agent-tools | high |
| 🕸️ | inactive | Inactive | software, agent-tools | high |
| 🌱 | young | New project | software, agent-tools | low |
| ⚠️ | unlicensed | No license | software, agent-tools | medium |
| 🅒 | copyleft | Copyleft | software, agent-tools | low |
| 🏠 | self_host | Self-hosted | software | info |
| ☁️ | managed_service | Managed option | software | info |
| 🏋️ | heavyweight | Heavyweight | software | low |
| 🔓 | no_auth | No auth | apis | info |
| 🔑 | key_required | Key required | apis | low |
| 🪪 | oauth | OAuth | apis | medium |
| 💳 | paid_only | Paid | apis | high |
| ⏳ | trial_only | Trial only | apis | medium |
| ✅ | official | Official | agent-tools | info |
| 👥 | community | Community | agent-tools | info |
Per-category rating axes
The value model produces one $-denominated headline rating per bucket (see
How ratings are computed). Categories also
surface secondary display axes — these are shown for context, not as separate
top-line ratings:
- LLM providers — the headline is the Overall value rating; the breakdown surfaces Volume (free tokens/mo), Artificial Analysis (best free model), and Throughput (tokens/min). Concurrency is a secondary “how many agents in parallel” signal, not a volume multiplier.
- Software / agent-tools — quality axes: adoption, activity, maturity, community,
capability (
qualityComponents). - APIs — quality axes: free access, agent relevance, reliability, developer experience, openness.