leaderboard

Top users for one domain, by best AutoScientist run

Changed on

Public endpoint; no authentication required. Returns one row per user — that user's best-scoring run in the domain — ordered by domain win rate descending, one page at a time. Page with limit/offset: a "show more" click is the same request with offset advanced by the rows already on screen, and pagination.has_more says whether to show the control at all. Ranks are absolute over the whole ranking, so page two starts at rank 11 and ranks 1–3 identify the top three without a separate response section. pagination.total is the eligible population, not the rows in this page. Pass q to search every domain by member, run or dataset name — the same page shape, cut from the matches instead of from a single ranking, with domain ignored and each row naming the domain it is ranked in.

get/api/v1/leaderboard

Request

Query parameters

domainstring
Example:medical

Domain to rank. Accepts the classifier slug (medical) or the code form (domain_medical), plus general for runs scored against the general prompt set. Omit it and the domain with the most ranked entries is used, echoed back in the response. An unrecognised value is rejected with 400.

qstring
Example:sara hooker

Free-text search over the whole leaderboard — every domain, not the one domain selects, which is ignored while q is set: a member is looked up by name and the domains they placed in are the answer. Each hit is the entry as its own domain ranks it, so read data[].domain rather than the top-level domain, which is null for a search. Matches the member name, the run name and the dataset name, case-insensitively, on any part of the value. Split on spaces: every term has to match, in any order and in any of those fields, so hooker sara finds the same rows as sara hooker. Hits are ordered best score first (a rank only orders its own domain), and each carries the rank it holds there. Pages exactly like an unfiltered ranking: pagination.total is the number of matches.

limitinteger

Rows to return. Defaults to one "show more" click's worth; anything above 50 is rejected with 400.

offsetinteger

Rows to skip. For "show more", pass the number of rows already on screen. Ranks are absolute, so the first row of a page carries rank offset + 1 — a client can also read the ranks instead of tracking the offset itself.

Response

generated_atstring date-time nullable required

When this ranking was computed. Matches the value the overview reports within one generation, so the selector and the table always describe the same data. The leaderboard is refreshed once a day: a run that becomes eligible after a refresh appears at the next one. The exception is a run that gives its domain its first ranked entry — a new domain is picked up within minutes rather than waiting for the next day.

Null means the response was computed for this request rather than served from a refresh. Member identity — name, avatar, biography, links, country — is always current regardless of this timestamp.

Example response

{
  "domain": {
    "slug": "medical",
    "name": "Medical"
  },
  "data": [
    {
      "user": {
        "country": {
          "code": "GB",
          "name": "United Kingdom"
        },
        "stats": {
          "best_win_rate_pct": 74.2,
          "data_points": 128400
        }
      },
      "model": {
        "name": "adaption_llama_3_3_70b_instruct_reference_clinical_qa_a4f81c2e",
        "base_model": {
          "display_name": "Llama 3.3 70B Instruct",
          "family": "llama",
          "size": "70B"
        }
      },
      "alignment": true,
      "score": {
        "domain_win_rate_pct": 68.4,
        "normalized_score": 1.08,
        "percentile": 94,
        "task_win_rate_pct": 81
      },
      "dataset": {
        "rows_before": 12000,
        "rows_after": 44000
      },
      "domain": {
        "slug": "medical",
        "name": "Medical"
      }
    }
  ]
}

Changes

    • info

      added the new optional query request parameter q

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status