{
 "$schema_version": "1",
 "generated_utc": "2026-08-19T12:30:58Z",
 "site": "https://toolkitlabs.org",
 "publisher": "Toolkit Labs",
 "note": "Numbers here are the raw output of the command in each metric.method, re-run when this file was written. In-sample numbers are labelled as such and are not performance claims.",
 "artefacts": [
  {
   "id": "malformed300-free",
   "name": "MALFORMED-300 (free tier)",
   "one_line": "30 stratified cases of malformed LLM JSON output with ground truth, plus the scorer that grades any parser and exits 2 on a regression.",
   "license": "CC0-1.0",
   "price_eur": null,
   "download_url": "https://toolkitlabs.org/malformed300/malformed300-free.zip",
   "docs_url": "https://toolkitlabs.org/malformed300/README.md",
   "metric": {
    "name": "exact_match_rate of the stdlib control (json.loads) on the full 300-case corpus",
    "value": 0.0833,
    "method": "python3 score.py --corpus malformed300.jsonl --parser json",
    "held_out": true
   },
   "known_failures": [
    "sample30.jsonl is a stratified 2-3 per category slice of the same corpus, not independent data",
    "NaN and Infinity are deliberately absent: they have no JSON equivalent, so any expected value would be an opinion",
    "the 12 categories hold exactly 25 cases each; that equal split does not reflect the real-world frequency of any failure mode",
    "cases are synthesised by generate.py from hand-written templates and mutation rules, not sampled from production traffic"
   ],
   "sha256": "c34f1a1db89585d6aca60023946f436d33df510338c98d37e53610538ab19cfa",
   "extra": {
    "scorer_selftest": "14/14 hand-derived checks passed (python3 score.py --selftest)",
    "grading_contract": "python3 score.py --spec",
    "contents": "README, CC0 licence, score.py, generate.py, sample30.jsonl (30 cases) and run_js.mjs, the JavaScript harness"
   }
  },
  {
   "id": "malformed300-full",
   "name": "MALFORMED-300 (full corpus)",
   "one_line": "All 300 labelled cases with the label rationale for each one; the 30 free cases and the scorer stay CC0 whether you buy or not.",
   "license": "commercial-per-seat",
   "price_eur": 29,
   "download_url": null,
   "docs_url": "https://toolkitlabs.org/malformed300/README.md",
   "metric": {
    "name": "exact_match_rate of jsonshim on the full 300-case corpus",
    "value": 0.94,
    "method": "python3 score.py --corpus malformed300.jsonl --parser jsonshim:loads",
    "held_out": true
   },
   "known_failures": [
    "jsonshim invents a value on 5 of the 25 unrecoverable cases; those 5 are named in the README and left unfixed, because repairing them after scoring would turn the measurement into a claim",
    "weakest categories for jsonshim: wrappers 17/25, unrecoverable 20/25, brackets 22/25",
    "4 recoverable cases were falsely refused by jsonshim",
    "delivery is an unlisted URL sent by Stripe after payment: it is shareable and there is no per-buyer access control"
   ],
   "sha256": "ded36c275f9ff481a9e264f9e900ccbb16da9cf430ff6fe8ffc23b9c02acb88a",
   "extra": {
    "sha256_target": "malformed300.jsonl inside the purchased archive",
    "delivery": "unlisted download URL, shown by Stripe immediately after payment; no account, no email gate",
    "tiers": [
     {
      "name": "single developer",
      "price_eur": 29,
      "purchase_url": "https://buy.stripe.com/4gMeVe8X42zy1gOfgp5Ne00"
     },
     {
      "name": "team / CI licence",
      "price_eur": 99,
      "purchase_url": "https://buy.stripe.com/6oU14o1uC2zy7Fc4BL5Ne01"
     }
    ]
   }
  },
  {
   "id": "agentguard",
   "name": "agentguard",
   "one_line": "Dependency-free prompt-injection screening for untrusted text on its way into an LLM agent; it flags text for quarantine and never claims to sanitise it.",
   "license": "CC0-1.0",
   "price_eur": null,
   "download_url": "https://toolkitlabs.org/tools/agentguard/agentguard.zip",
   "docs_url": "https://toolkitlabs.org/tools/agentguard/README.md",
   "metric": {
    "name": "F1 on holdout.jsonl (12 never-tuned-on cases, 6 injection / 6 benign)",
    "value": 0.4,
    "method": "python3 bench.py holdout.jsonl",
    "held_out": true
   },
   "known_failures": [
    "on the held-out set: TP 2 FP 2 TN 4 FN 4, precision 0.500, recall 0.333",
    "an injection phrased as ordinary workplace English walks straight through",
    "legitimate agent documentation that names a tool trips the tool-abuse rule",
    "F1 1.000 on corpus.jsonl is in-sample: the rules were tuned against that file, so it is a fit and worthless as a performance claim",
    "a pass verdict means 'nothing obvious', never 'safe'"
   ],
   "sha256": "b9ca08d8a6d96798762db61df1f9a128920703fe1b7565f2c8272433655509e6"
  },
  {
   "id": "jsonshim",
   "name": "jsonshim",
   "one_line": "Recovers structured output from a malformed model reply and reports what it changed; returns an error and no value when it cannot recover one.",
   "license": "CC0-1.0",
   "price_eur": null,
   "download_url": "https://toolkitlabs.org/tools/jsonshim/jsonshim.zip",
   "docs_url": "https://toolkitlabs.org/tools/jsonshim/README.md",
   "metric": {
    "name": "exact_match_rate on MALFORMED-300 (300 cases, one run, nothing tuned afterwards)",
    "value": 0.94,
    "method": "python3 score.py --corpus malformed300.jsonl --parser jsonshim:loads",
    "held_out": true
   },
   "known_failures": [
    "invents a value on 5 of the 25 unrecoverable cases: `{` becomes `{}`, `{\"user_id\": <redacted>}` becomes `{\"user_id\": \"<redacted>\"}`, turning a redaction into data",
    "weakest categories: wrappers 17/25, unrecoverable 20/25, brackets 22/25",
    "4 recoverable cases falsely refused",
    "these failures are documented and left unfixed; fixing them after the score would end the measurement"
   ],
   "sha256": "7219474edb1c134de2ea60e8ced3a88501a8a2337756f0dbca3a27a9098882d0",
   "extra": {
    "selftest": "37/37 (python3 jsonshim.py --selftest)"
   }
  },
  {
   "id": "evaldiff",
   "name": "evaldiff",
   "one_line": "Compares two eval runs on the same items with Wilson intervals, McNemar's exact test and a seeded bootstrap, and names the items that flipped.",
   "license": "CC0-1.0",
   "price_eur": null,
   "download_url": "https://toolkitlabs.org/tools/evaldiff/evaldiff.zip",
   "docs_url": "https://toolkitlabs.org/tools/evaldiff/README.md",
   "metric": {
    "name": "selftest against hand-derived statistics (Wilson bounds, McNemar exact p, bootstrap determinism)",
    "value": "PASS",
    "method": "python3 evaldiff.py --selftest",
    "held_out": false
   },
   "known_failures": [
    "no benchmark corpus and no held-out number exists for this tool; the selftest is an in-sample correctness check, not a performance result",
    "the bootstrap is seeded (default --seed 20260819, --iters 10000): reproducible, not an independent resample per run",
    "requires paired items keyed on the same ids in both files; unpaired runs are out of scope"
   ],
   "sha256": "a07533e5fd6ad3c206f20cbfac78fcf0bbcc85417a08d113e1fbf47787ab0ff2"
  },
  {
   "id": "json-recovery-leaderboard",
   "name": "The JSON recovery leaderboard",
   "one_line": "Eleven Python and ten JavaScript JSON parsers scored on all 300 MALFORMED-300 cases, one run each, nothing tuned afterwards; both harnesses and both raw runs are public domain.",
   "license": "CC0-1.0",
   "price_eur": null,
   "download_url": "https://toolkitlabs.org/leaderboard/leaderboard.json",
   "docs_url": "https://toolkitlabs.org/leaderboard/",
   "metric": {
    "name": "best exact_match_rate on the 275 recoverable cases, per language",
    "value": 0.96,
    "method": "python3 run_leaderboard.py (json-repair 0.63.2) ; node run_js.mjs (jsonrepair 3.15.0 -> 0.7127)",
    "held_out": true
   },
   "known_failures": [
    "one run per library, so nothing here measures run-to-run variance; there is none for deterministic parsers but the harness does not prove that",
    "the 12 categories hold exactly 25 cases each, which does not reflect real-world frequency of any failure mode",
    "a library that targets a looser grammar (json5, jsonc) is scored on cases outside that grammar and reads low for a reason that is not a defect",
    "jsonrepair (npm) and json-repair (PyPI) are unrelated projects with similar names; the cross-language gap is between ecosystems, not between builds of one library",
    "the harness reports a per-case timeout as a refusal, which is the kindest reading of a hang"
   ],
   "sha256": "e967a5fe4cf9d01dd8cf684f757885c2acc3b9114dfe2d1e764c8cea2413c494",
   "extra": {
    "raw_run_javascript": "https://toolkitlabs.org/leaderboard/leaderboard_js.json",
    "raw_run_javascript_sha256": "cd5c95090f1848f9a9532b9d2cf8086812d71219cd48fb3c74b218778b37920a",
    "harness_python": "https://toolkitlabs.org/leaderboard/run_leaderboard.py",
    "harness_javascript": "https://toolkitlabs.org/leaderboard/run_js.mjs",
    "corpus_sha256": "ded36c275f9ff481a9e264f9e900ccbb16da9cf430ff6fe8ffc23b9c02acb88a",
    "cross_check": "stdlib controls agree across languages (json.loads 25/300 & 0/275; JSON.parse 25/300 & 0/275) and the two independent JSON5 implementations agree (118/300 & 93/275)",
    "javascript_parsers_scored": 10,
    "python_parsers_scored": 11,
    "determinism": "both halves re-run end to end and reproduced every figure exactly; the Python half re-ran in a freshly installed package set"
   }
  },
  {
   "id": "json-recovery-tool",
   "name": "In-browser JSON recovery tool",
   "one_line": "Paste one malformed model reply and see what jsonrepair 3.15.0, JSON5 2.2.3 and JSON.parse each return for it, plus which of the 12 MALFORMED-300 failure categories the text matches. Runs entirely client-side.",
   "license": "CC0-1.0",
   "price_eur": null,
   "download_url": "https://toolkitlabs.org/fix/",
   "docs_url": "https://toolkitlabs.org/leaderboard/",
   "metric": {
    "name": "exact_match_rate on the 275 recoverable MALFORMED-300 cases of the strongest engine the page runs (jsonrepair 3.15.0)",
    "value": 0.7127,
    "method": "node run_js.mjs jsonrepair malformed300.jsonl (published in leaderboard_js.json)",
    "held_out": true
   },
   "known_failures": [
    "it runs 3 of the 13 measured parsers, not the strongest one measured: on the 275 recoverable cases the leading Python library recovers 264 where jsonrepair recovers 196",
    "the failure-category tags are regex heuristics over the pasted text, not a diagnosis of the model that produced it",
    "recovering is not the same as being right: an engine that never refuses will also return something here",
    "no case is graded, because the page has no ground truth for text a visitor pastes"
   ],
   "sha256": "c5d7e171baebbd70e66e354dd389affe074c5bf429955360cd430a96998c68cc",
   "extra": {
    "privacy": "no network call and no upload from the page itself; the two libraries are vendored unmodified with their ISC and MIT licence files. The CDN injects Cloudflare Web Analytics into every page on this domain, which counts page views and never sees the pasted text.",
    "permalink_form": "https://toolkitlabs.org/fix/#try=<uri-encoded text> prefills and runs it"
   }
  },
  {
   "id": "toolcall300-free",
   "name": "TOOLCALL-300 (free tier)",
   "one_line": "30 stratified cases of model tool calls that do not match the declared schema, with ground truth, the scorer, the generator and the reference normaliser.",
   "license": "CC0-1.0",
   "price_eur": null,
   "download_url": "https://toolkitlabs.org/toolcall300/toolcall300-free.zip",
   "docs_url": "https://toolkitlabs.org/toolcall300/README.md",
   "metric": {
    "name": "exact_match_rate of the control adapter (naive) on the full 300-case corpus",
    "value": 0.0333,
    "method": "python3 score.py --corpus toolcall300.jsonl --adapter naive",
    "held_out": true
   },
   "known_failures": [
    "sample30.jsonl is a stratified 2-3 per category slice of the same corpus, not independent data",
    "the 12 categories hold exactly 25 cases each; that equal split does not reflect the real-world frequency of any failure mode",
    "cases are synthesised by generate.py from hand-written templates and mutation rules, not sampled from production traffic",
    "the suite grades the schema layer only: text that will not parse at all is MALFORMED-300's subject, not this one"
   ],
   "sha256": "a9284eb4304f5eb265ba4c55844513cbba0c0d3cd9aebe235b51c3071ed4fa03",
   "extra": {
    "scorer_selftest": "22/22 hand-derived checks passed (python3 score.py --selftest)",
    "grading_contract": "python3 score.py --spec",
    "cases": 300,
    "categories": 12,
    "unrecoverable_cases": 50,
    "control_detail": "naive: 10/300 exact, 10/50 correctly refused, 40 invented calls, 50 false refusals, 240 schema-invalid returns"
   }
  },
  {
   "id": "toolcall300-full",
   "name": "TOOLCALL-300 (full corpus)",
   "one_line": "All 300 labelled tool-call cases with the rationale for each label; the scorer, the generator, toolshim.py and the 30 free cases stay CC0 whether you buy or not.",
   "license": "commercial-per-seat",
   "price_eur": 29,
   "download_url": null,
   "docs_url": "https://toolkitlabs.org/toolcall300/README.md",
   "metric": {
    "name": "exact_match_rate of toolshim on the full 300-case corpus (IN-SAMPLE)",
    "value": 0.9767,
    "method": "python3 score.py --corpus toolcall300.jsonl --adapter toolshim:normalise",
    "held_out": false
   },
   "known_failures": [
    "the 97.7% is in-sample: toolshim.py and the corpus were built beside each other, so it is not a performance claim and no held-out number for it exists",
    "toolshim fails 6 of the 25 truncated cases and completes 1 case that had nothing to complete; all 7 are named in the README and left unfixed",
    "rule 11 (truncation) has one genuine ambiguity - a property whose container never closed - and the corpus takes the strict reading across all 25 truncated cases; the 2 cases where a reasonable person could disagree are named in the README",
    "delivery is an unlisted URL shown by Stripe after payment: it is shareable and there is no per-buyer access control"
   ],
   "sha256": "9b170aa39a737af02541f3e01ceb08dff2f860472b7f65a449a23ebbaa58051a",
   "extra": {
    "sha256_target": "toolcall300-full.zip as delivered",
    "corpus_sha256": "96f7cfb4d85844a0bd25e8f403260ff6b6e4e793df62b30ec8cfcb95157e748a",
    "price_eur_team_ci": 99,
    "control_detail": "the untuned control on the same corpus scores 10/300 exact with 40 invented calls"
   }
  },
  {
   "id": "monthly-addon",
   "name": "Monthly corpus add-on",
   "one_line": "60 new JSON cases and 60 new tool-call cases each month, seeded from the month and scored in the same run against the frozen reference lines of both suites.",
   "license": "commercial-per-seat",
   "price_eur": 9,
   "download_url": null,
   "docs_url": "https://toolkitlabs.org/monthly/",
   "metric": {
    "name": "issues published so far",
    "value": 1,
    "method": "count of directories under venture/monthly/issues",
    "held_out": false
   },
   "known_failures": [
    "one issue exists so far (2026-08); there is no track record beyond it",
    "the JSON unrecoverable category has a finite template space, roughly 14-16 fresh cases beyond the frozen 25, so a future issue will refuse to build rather than repeat a case",
    "delivery is one unlisted page that gains an issue each month: it is shareable, and cancelling stops future issues without revoking what was already downloaded",
    "the monthly cases are new draws from the same generators, not a harder or independent distribution"
   ],
   "sha256": null,
   "extra": {
    "billing": "EUR 9.00 per month, recurring",
    "issue_2026_08": "60 JSON cases + 60 tool-call cases, addon-202608.zip 24918 bytes",
    "reproducible": "two rebuilds of an issue are byte-identical; the sha256 on the delivery page is a real check"
   }
  },
  {
   "id": "jsonshim-mcp",
   "name": "jsonshim-mcp (MCP server, one file)",
   "one_line": "An MCP stdio server giving an agent two tools: recover_json (returns the JSON in a model reply, or refuses rather than inventing one) and classify_json_failure (names which known failure category the text matches). Standard library only, no install, no network.",
   "license": "CC0-1.0",
   "price_eur": null,
   "download_url": "https://toolkitlabs.org/tools/jsonshim-mcp/jsonshim_mcp.py",
   "docs_url": "https://toolkitlabs.org/tools/jsonshim-mcp/",
   "metric": {
    "name": "exact match on MALFORMED-300, all 300 cases",
    "value": 0.7267,
    "method": "scored against the same corpus and grading contract as every row on the leaderboard",
    "held_out": true
   },
   "known_failures": [
    "weaker than the best library on the leaderboard: 193 of 275 recoverable cases against json-repair's 264",
    "truncated output: 0 of 25",
    "raw control characters inside strings: 0 of 25",
    "unbalanced brackets: 5 of 25",
    "55 false refusals \u2014 it declines more often than a repair library would"
   ],
   "sha256": "538966e3dff240c4e9e8e5228e3aadbcc041618fab8050633db4c2689f53ad9d",
   "extra": {
    "invented_values": "0 of 25 unrecoverable cases \u2014 the property it is built for",
    "install": "{\"mcpServers\":{\"jsonshim\":{\"command\":\"python3\",\"args\":[\"/absolute/path/jsonshim_mcp.py\"]}}}",
    "protocol": "MCP 2024-11-05 over stdio; initialize, tools/list, tools/call, ping"
   }
  },
  {
   "id": "json-truncated-recovery",
   "name": "Truncated / streaming JSON recovery, by parser",
   "one_line": "The 25 truncated cases of MALFORMED-300 read on their own: for each of 11 Python and 10 JavaScript parsers, how many it recovered exactly, how many it refused, and how many times it returned a wrong value without refusing.",
   "license": "CC0-1.0",
   "price_eur": null,
   "download_url": "https://toolkitlabs.org/leaderboard/truncated/truncated.json",
   "docs_url": "https://toolkitlabs.org/leaderboard/truncated/",
   "metric": {
    "name": "highest exact recovery on the 25 truncated cases, per language",
    "value": 0.92,
    "method": "derived from leaderboard.json and leaderboard_js.json plus the per-case row files; python json-repair 23/25 and jsonshim 23/25 tie, javascript jsonc-parser 20/25",
    "held_out": true
   },
   "known_failures": [
    "25 cases is enough to separate a parser that closes documents from one that refuses them, and not enough to rank two libraries a single case apart",
    "one run per library, so run-to-run variance is not measured here either",
    "a wrong value is counted whenever the returned value is not the expected one; a library free to guess the missing half sometimes guesses right and is scored as a recovery, which your pipeline could not have known",
    "jsonshim is published by the same seller as the corpus, so its 23/25 here is not an independent result the way the third-party libraries' numbers are",
    "the category holds equal numbers of each cut point by construction, which does not reflect real traffic"
   ],
   "sha256": "f6f6546f69ffd747f79fa633736ee4a2795c4ea66ea4b30095558bb4969023ca",
   "extra": {
    "category": "truncated",
    "corpus_sha256": "ded36c275f9ff481a9e264f9e900ccbb16da9cf430ff6fe8ffc23b9c02acb88a",
    "python_parsers_scored": 11,
    "javascript_parsers_scored": 10,
    "parsers_recovering_none": {
     "python": 8,
     "javascript": 4
    },
    "wrong_values_returned_without_refusing": 43,
    "generator": "https://toolkitlabs.org/leaderboard/run_leaderboard.py",
    "parent": "https://toolkitlabs.org/leaderboard/"
   }
  },
  {
   "id": "malformed300-api",
   "name": "MALFORMED-300 conformance API",
   "one_line": "The MALFORMED-300 leaderboard as JSON: 21 parsers with per-category summary counts, plus a shields.io badge endpoint per parser.",
   "license": "CC0-1.0",
   "price_eur": null,
   "download_url": "https://toolkitlabs.org/api/leaderboard.json",
   "docs_url": "https://toolkitlabs.org/api/schema.json",
   "metric": {
    "name": "parsers summarised in leaderboard.json",
    "value": 21,
    "method": "python3 -c \"import json,urllib.request;print(json.load(urllib.request.urlopen('https://toolkitlabs.org/api/leaderboard.json'))['parsers'])\"",
    "held_out": true
   },
   "known_failures": [
    "summaries only: per-case rows are deliberately not published, because for recoverable cases the returned values would largely reconstruct the paid ground truth",
    "the JavaScript and Python numbers come from different runtimes (3.12.3 vs node v25.8.2), so cross-language comparison is not a controlled experiment; the corpus and the grading rule are identical",
    "one run per parser, no repeats and no error bars; the corpus is fixed, so the run is deterministic, but a library version bump is not tracked automatically"
   ]
  }
 ],
 "index_pages": [
  {
   "url": "https://toolkitlabs.org/malformed300/",
   "covers": [
    "malformed300-free",
    "malformed300-full"
   ],
   "one_line": "Directory page for MALFORMED-300: control number, free file list with byte sizes, licence and the two purchase links."
  },
  {
   "url": "https://toolkitlabs.org/toolcall300/",
   "covers": [
    "toolcall300-free",
    "toolcall300-full"
   ],
   "one_line": "Directory page for TOOLCALL-300: naive control, reference normaliser score, free file list with byte sizes, licence and the two purchase links."
  },
  {
   "url": "https://toolkitlabs.org/tools/",
   "covers": [
    "agentguard",
    "jsonshim",
    "evaldiff",
    "jsonshim-mcp"
   ],
   "one_line": "Index of the free CC0 tools, each with the number it scored and the library that beats it where one does."
  },
  {
   "url": "https://toolkitlabs.org/tools/jsonshim-mcp/",
   "covers": [
    "jsonshim-mcp"
   ],
   "one_line": "MCP stdio server documentation: install snippet, per-category recovery, and the categories it recovers none of."
  },
  {
   "url": "https://toolkitlabs.org/audit/",
   "covers": [
    "malformed300-free",
    "malformed300-full"
   ],
   "one_line": "Offer page for the paid parser audit: what the private report contains, the preconditions, the 48-hour turnaround and the purchase link."
  },
  {
   "url": "https://toolkitlabs.org/leaderboard/fenced/",
   "covers": [
    "malformed300-free",
    "malformed300-full"
   ],
   "one_line": "Query page for JSON wrapped in markdown code fences or prose: 21 parsers on those 50 cases, per-parser recovered / refused / wrong-value counts, and why dialect parsers score zero on them."
  },
  {
   "url": "https://toolkitlabs.org/leaderboard/python/",
   "covers": [
    "malformed300-free",
    "malformed300-full"
   ],
   "one_line": "Query page for the Python field alone: all 11 libraries on 300 cases with exact matches, correct refusals, invented values and false refusals."
  },
  {
   "url": "https://toolkitlabs.org/leaderboard/name-collision/",
   "covers": [
    "malformed300-free",
    "malformed300-full"
   ],
   "one_line": "Query page for json-repair (Python) against jsonrepair (JavaScript): 12 categories side by side on one corpus, with the uncontrolled-runtime caveat."
  },
  {
   "url": "https://toolkitlabs.org/api/",
   "covers": [
    "malformed300-free",
    "malformed300-full",
    "malformed300-api"
   ],
   "one_line": "Human documentation of the free conformance API: endpoints, the grading rule, the copy-paste shields.io badge markdown, and every parser's badge URL."
  }
 ],
 "api": [
  {
   "id": "malformed300-leaderboard-json",
   "url": "https://toolkitlabs.org/api/leaderboard.json",
   "media_type": "application/json",
   "license": "CC0-1.0",
   "auth": "none",
   "one_line": "MALFORMED-300 results for 21 parsers with per-category summary counts.",
   "corpus_sha256": "ded36c275f9ff481a9e264f9e900ccbb16da9cf430ff6fe8ffc23b9c02acb88a",
   "schema_url": "https://toolkitlabs.org/api/schema.json"
  },
  {
   "id": "malformed300-schema-json",
   "url": "https://toolkitlabs.org/api/schema.json",
   "media_type": "application/json",
   "license": "CC0-1.0",
   "auth": "none",
   "one_line": "Field documentation for leaderboard.json and the badge endpoint contract."
  },
  {
   "id": "malformed300-badge-endpoint",
   "url_template": "https://toolkitlabs.org/api/badge/{language}/{slug}.json",
   "media_type": "application/json",
   "license": "CC0-1.0",
   "auth": "none",
   "endpoints": 22,
   "one_line": "shields.io endpoint objects, one per scored parser plus an aggregate; render with img.shields.io/endpoint?url=<the file>.",
   "example": "https://img.shields.io/endpoint?url=https%3A%2F%2Ftoolkitlabs.org%2Fapi%2Fbadge%2Fpython%2Fjsonshim.json",
   "listing_is_never_for_sale": true
  },
  {
   "id": "malformed300-dataset-jsonld",
   "url": "https://toolkitlabs.org/leaderboard/",
   "media_type": "application/ld+json",
   "license": "CC0-1.0",
   "auth": "none",
   "one_line": "schema.org Dataset describing the same results, embedded in the human page."
  }
 ]
}
