MLXDocs
Network API

Open data

Markdown

The datasets behind mlx.app/compare, /run and /mac (every Apple silicon Mac configuration, every open model in the catalog, and which model runs on which Mac and how fast) as versioned JSON and CSV under CC BY 4.0, with a manifest that carries each file's SHA-256.

The human page is mlx.app/data. The files are static: built once per deploy from the same catalogs and the same estimate engine as the pages, served from the CDN, and never edited by hand.

GET /data/index.json

GEThttps://mlx.app/data/index.json

The manifest: what's here, its version, licence, every dataset's columns and each file's URL, size and SHA-256. Note the path: the datasets live under mlx.app/data, not under /api.

curl https://mlx.app/data/index.json
curl -O https://mlx.app/data/macs.csv && shasum -a 256 macs.csv
Response
{
  "name": "MLX open data: Apple Silicon Macs, open AI models and what runs where",
  "url": "https://mlx.app/data",
  "version": "2026-10-19",
  "dateModified": "2026-10-19",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "attribution": "MLX Network, https://mlx.app/data",
  "method": "https://mlx.app/compare#cp-how",
  "datasets": [
    {
      "id": "macs",
      "name": "Apple Silicon Mac configurations",
      "description": "Every Apple Silicon chip from M1 to M6 in every memory size Apple sells it with: unified memory, memory bandwidth, GPU core options and the Macs it ships in, read from Apple's Tech Specs pages, with the source of every row.",
      "dateModified": "2026-10-19",
      "rows": 58,
      "columns": [
        { "name": "mac", "type": "string", "description": "Identifier: chip and memory size, as in mlx.app/mac/<mac>" },
        { "name": "chip", "type": "string", "description": "Chip name" }
      ],
      "files": [
        { "format": "json", "url": "https://mlx.app/data/macs.json", "bytes": 45839, "sha256": "76320724a7fac7650f78f2c51a08b5f74e9a5d6791d6cfd51a6a3795e3ff81f2", "mime": "application/json" },
        { "format": "csv", "url": "https://mlx.app/data/macs.csv", "bytes": 26453, "sha256": "e8a976f183d2a11401e038cbb4b2c6fefa9200f2a0039b4cc771b5893eade384", "mime": "text/csv" }
      ]
    }
  ]
}

datasets is trimmed to one dataset and its columns to two here; the live manifest lists all three datasets with every column and its description.

FieldTypeNotes
versionstringThe day the source catalogs were last checked (YYYY-MM-DD). The files change exactly when the catalogs do.
licensestringCC BY 4.0.
attributionstringHow to credit the data: "MLX Network, https://mlx.app/data".
methodstringWhere the estimates are explained.
datasets[].idstringmacs, models or fit.
datasets[].dateModifiedstringWhen that dataset's catalog was last checked.
datasets[].rowsintegerRows in the dataset.
datasets[].columnsarrayname, type (string, number or boolean) and description of every column, in file order.
datasets[].filesarrayOne entry per format: format, url, bytes, sha256 (of the exact bytes served) and mime.

The files

FileWhat it is
https://mlx.app/data/macs.json, macs.csvEvery Apple silicon chip in every memory size Apple sells, from Apple's Tech Specs pages.
https://mlx.app/data/models.json, models.csvEvery open-weight model on mlx.app/compare, from each model's official Hugging Face card, config and file listing.
https://mlx.app/data/fit.json, fit.csvEvery Mac configuration against every model: the best version that fits and its estimated speed.

Each URL always serves the newest version. Every response carries:

  • X-Dataset-Version: the version, the same as version in the manifest.
  • Link: the licence (rel="license") and mlx.app/data (rel="describedby").
  • Content-Disposition with a file name that includes the version (mlx-macs-2026-10-19.csv), so a saved copy says which one it is.
  • Access-Control-Allow-Origin: *.

JSON

A JSON file is one object: name, id, version, dateModified, url, license, attribution, description, method, sources (each { text, href }), columns (as in the manifest) and rows, an array of objects keyed by column name. List columns (such as macs, gpu_cores or sources) are arrays; empty values are null.

https://mlx.app/data/fit.json, rows trimmed to one
{
  "name": "Which open model runs on which Mac, and how fast (estimates)",
  "id": "fit",
  "version": "2026-10-19",
  "dateModified": "2026-10-19",
  "url": "https://mlx.app/data#fit",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "attribution": "MLX Network, https://mlx.app/data",
  "rows": [
    {
      "mac": "m1-8gb",
      "chip": "Apple M1",
      "memory_gb": 8,
      "bandwidth_gbs": 68,
      "model": "qwen3-0.6b",
      "model_name": "Qwen3 0.6B",
      "version": "8-bit",
      "bits_per_weight": 8.5,
      "weights_gb": 0.6,
      "needs_gb": 2.1,
      "fit": "fits",
      "group": "Runs well",
      "below_4_bit": false,
      "tok_s_low": 51,
      "tok_s_high": 91,
      "tok_s_ceiling": 113
    }
  ]
}

CSV

A CSV file has a header row with the column names, \r\n line ends and RFC 4180 quoting. List values are joined with ; , and empty values are empty cells. The content type says header=present.

https://mlx.app/data/fit.csv, first rows
mac,chip,memory_gb,bandwidth_gbs,model,model_name,version,bits_per_weight,weights_gb,needs_gb,fit,group,below_4_bit,tok_s_low,tok_s_high,tok_s_ceiling
m1-8gb,Apple M1,8,68,qwen3-0.6b,Qwen3 0.6B,8-bit,8.5,0.6,2.1,fits,Runs well,false,51,91,113
m1-8gb,Apple M1,8,68,qwen3.5-0.8b,Qwen3.5 0.8B,8-bit,8.5,0.9,2.4,fits,Runs well,false,34,60,76

Columns

The manifest describes every column in full; in short:

macs: mac (id, as in mlx.app/mac/<mac>), chip, chip_id, generation, tier (base, pro, max, ultra), memory_gb, bandwidth_gbs (as Apple publishes it; empty where Apple publishes none), bandwidth_gbs_used (what the estimates use), gpu_memory_default_gb (what macOS lets the GPU use by default), gpu_cores, macs (the Macs the chip ships in), note, page, sources.

models: model (id, as in mlx.app/run/<model>), name, maker, hf_repo, params_b, active_params_b (parameters read per generated token), architecture (dense or moe), context_tokens, license, released, modality, precision, repo_weights_gb, native_gb and native_bits (for models released in a low-bit format), offload_gb (lookup tables a runtime can leave on disk), mlx_build, page, sources.

fit: mac, chip, memory_gb, bandwidth_gbs, model, model_name, version (the highest precision that fits), bits_per_weight, weights_gb, needs_gb (weights plus room for context and the runtime), fit (fits, tight, no), group (the label the pages show), below_4_bit, tok_s_low and tok_s_high (the estimated writing speed range), tok_s_ceiling (memory bandwidth divided by the bytes read per token).

What's left out

The Artificial Analysis Intelligence Index shown on mlx.app/compare isn't in these files: its terms reserve redistribution. The llama.cpp measurements the hardware catalog cites are linked from the pages, not copied.

Licence

The data is CC BY 4.0: use it, change it and share it, commercially too, as long as you credit MLX Network, https://mlx.app/data.

Errors

StatusWhen
404Any other file name under /data/ (the site's HTML 404 page).