Skip to content

Use a public dataset

Public datasets are discovered at Datasets. Each dataset has one canonical public page for its README, tables, freshness, JSON explorer and AI access. On that page, choose Use dataset for the API, MCP and download instructions.

Keys live in one place: Settings → Access. Create a personal mr_use_… key there and use it against any public dataset. The first keyed request over a dataset connects it to your workspace, which lists it under Using and counts as a use for its publisher; nothing is copied and your active workspace does not change.

Need Use
Inspect a small result Explore data in the app. Your browser uses your signed-in session and never receives an API key.
Ask Claude, Codex, or another agent Use with AI. Connect the MCP client with OAuth and select the workspace.
Write an application, notebook, or job Use the API with a personal mr_use_… key from Settings → Access.
Train a model or refresh a local analytical store Download the current Parquet file and query it locally with DuckDB, Polars, Pandas, or Arrow.

mr_use_ keys are personal to the member who created them and scoped to one workspace. A key can read any public dataset and your own workspace’s tables, up to 10,000 rows a query and paged to the end of the table. It cannot read another workspace’s private tables. A dataset the workspace removes under Using is served again the next time a key requests it.

Do not substitute a legacy SDK key. mr_live_… remains the subscription key for the SDK and hosted tables, while mr_cli_… authorizes a command-line device. Public Dataset Query and Current endpoints accept only mr_use_….

Use the query endpoint for bounded rows, filters, ordering, and aggregates. It returns typed JSON with the exact table version and content digest used for the result.

Terminal window
curl -sS \
-H "x-api-key: $MOSTLYRIGHT_API_KEY" \
-H "content-type: application/json" \
-d '{"columns":["city","date","temperature"],"limit":25}' \
"https://api.mostlyright.md/api/v2/public/tables/$TABLE_ID/query"

The initial API accepts a closed query object. It does not execute arbitrary SQL. Keep results small; a response reports returned rows, scanned bytes, elapsed time, and whether its row limit truncated the result.

See Public Dataset API for the request and error contract.

Use Current when you need the complete immutable snapshot rather than a small JSON result.

Terminal window
curl -sS -o table.parquet \
-H "x-api-key: $MOSTLYRIGHT_API_KEY" \
"https://api.mostlyright.md/api/v2/public/tables/$TABLE_ID/current"

Each response includes a strong ETag and SHA-256 content digest. Save the ETag and send it as If-None-Match on a later refresh. A 304 means the file has not changed and no download occurs.

import duckdb
rows = duckdb.sql("""
select city, avg(temperature) as mean_temperature
from read_parquet('table.parquet')
group by city
order by mean_temperature desc
""").fetchall()

Do not download Current on every inference request. Refresh it on a schedule, verify the digest, then atomically replace a local file or a local DuckDB table. Your request path can query that local version with predictable latency.

Removing a dataset from the workspace immediately stops its Current and Query API access for that workspace. Revoking a key stops requests made with that key. Disconnecting an AI tool stops its OAuth connection. These are separate actions because a workspace can have more than one member, key, or AI client.