System Atlas

Aggregate the registry

Organizations counted by industry, region, size, model, kind, claimed, layer or primitive, optionally with a metric's median and mean per group; or a metric's distribution.

GET/api/v1/aggregatePublic

Authentication

None. Send a key anyway to get the same answer.

Parameters

Query

  • byenumoptional

    Group by this; omit (with metric) for the metric's distribution

    industryregionsizemodelkindclaimedlayerprimitive
  • metricenumoptional

    A rankings dimension (0-1 score) or a figure (revenue, employees, funding)

    energyeconomictemporalhumanpowerinformationentropytechnicalscalespatialrevenueemployeesfunding
  • industrystringoptional

    Taxonomy key (sector, industry or segment); includes everything under it

    max 80 chars
  • regionstringoptional

    Region word, e.g. US or Texas

    max 120 chars
  • kindstringoptional

    Organization kind, e.g. company, nonprofit, government

    max 40 chars
  • sizestringoptional

    Size band, e.g. 51-200

    max 40 chars
  • modelstringoptional

    Business model key

    max 40 chars
  • fieldsstringoptional

    Keys to keep per item, comma-separated; aliases values, sources, counts, confidence

    max 300 chars
  • limitnumberoptional

    Items per response, 1-200 (the budget may stop earlier)

    ≥ 1≤ 200
  • cursorstringoptional

    next_cursor from the previous response

    max 2000 chars
  • viewenumoptional

    compact (default), full (every field) or v1 (the old shape, unpaged, refused over 64 KB)

    compactfullv1
  • budgetnumberoptional

    Token budget, 200-8000 (default 2000, 6000 for full)

    ≥ 200≤ 8000
  • formatenumoptional

    Old name of view

    compactfullv1

Request

curl "https://systematlas.org/api/v1/aggregate?by=region&industry=staffing&limit=3"

Response

200 with the result in data (abbreviated here). Errors are listed in Errors and limits.

Response
{
  "data": {
    "scope": {
      "industry": "staffing"
    },
    "by": "region",
    "total": 412,
    "groups": 31,
    "cols": [
      "key",
      "label",
      "n"
    ],
    "rows": [
      [
        "US",
        "US",
        298
      ],
      [
        "UK",
        "UK",
        41
      ],
      [
        "Canada",
        "Canada",
        17
      ]
    ],
    "truncated": true,
    "next_cursor": "eyJrIjpb…",
    "hint": "More groups: call aggregate with cursor=<next_cursor>.",
    "tokens": 90
  }
}

Over MCP

The same call as an MCP tool: aggregate.